0001558370-24-002727.txt : 20240307 0001558370-24-002727.hdr.sgml : 20240307 20240307161538 ACCESSION NUMBER: 0001558370-24-002727 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 90 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240307 DATE AS OF CHANGE: 20240307 FILER: COMPANY DATA: COMPANY CONFORMED NAME: PC CONNECTION INC CENTRAL INDEX KEY: 0001050377 STANDARD INDUSTRIAL CLASSIFICATION: RETAIL-CATALOG & MAIL-ORDER HOUSES [5961] ORGANIZATION NAME: 07 Trade & Services IRS NUMBER: 020513618 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 000-23827 FILM NUMBER: 24730308 BUSINESS ADDRESS: STREET 1: ROUTE 101A STREET 2: 730 MILFORD RD CITY: MERRIMACK STATE: NH ZIP: 03054 BUSINESS PHONE: 6036832000 MAIL ADDRESS: STREET 1: ROUTE 101A STREET 2: 730 MILFORD RD CITY: MERRIMACK STATE: NH ZIP: 03054 10-K 1 cnxn-20231231x10k.htm 10-K
P3YP3Yhttp://fasb.org/us-gaap/2023#AccruedLiabilitiesAndOtherLiabilitieshttp://fasb.org/us-gaap/2023#AccruedLiabilitiesAndOtherLiabilities0001050377--12-312023FYfalseP3YP15Y2019 2020 2021 20222020 2021 2022http://fasb.org/us-gaap/2023#RelatedPartyMemberhttp://fasb.org/us-gaap/2023#RelatedPartyMemberhttp://www.pcconnection.com/20231231#EmployeeMemberhttp://www.pcconnection.com/20231231#EmployeeMemberP5Yhttp://fasb.org/us-gaap/2023#FairValueInputsLevel1Memberhttp://fasb.org/us-gaap/2023#FairValueInputsLevel1Member0001050377us-gaap:AllowanceForCreditLossMember2023-01-012023-12-310001050377cnxn:ContractWithCustomerRefundLiabilityMember2023-01-012023-12-310001050377us-gaap:AllowanceForCreditLossMember2022-01-012022-12-310001050377cnxn:ContractWithCustomerRefundLiabilityMember2022-01-012022-12-310001050377us-gaap:AllowanceForCreditLossMember2021-01-012021-12-310001050377cnxn:ContractWithCustomerRefundLiabilityMember2021-01-012021-12-310001050377us-gaap:AllowanceForCreditLossMember2023-12-310001050377cnxn:ContractWithCustomerRefundLiabilityMember2023-12-310001050377us-gaap:AllowanceForCreditLossMember2022-12-310001050377cnxn:ContractWithCustomerRefundLiabilityMember2022-12-310001050377us-gaap:AllowanceForCreditLossMember2021-12-310001050377cnxn:ContractWithCustomerRefundLiabilityMember2021-12-310001050377us-gaap:AllowanceForCreditLossMember2020-12-310001050377cnxn:ContractWithCustomerRefundLiabilityMember2020-12-310001050377us-gaap:TreasuryStockCommonMember2023-01-012023-12-310001050377cnxn:ShareRepurchaseProgramsAggregateMember2022-01-012022-12-310001050377cnxn:ShareRepurchaseProgramsAggregateMember2021-01-012021-12-310001050377srt:MaximumMembercnxn:ShareRepurchaseProgramsAggregateMember2023-12-310001050377cnxn:ShareRepurchaseProgramsAggregateMember2023-12-3100010503772022-11-3000010503772018-12-3100010503772017-12-310001050377us-gaap:CommonStockMember2022-01-012022-12-310001050377us-gaap:CommonStockMember2021-01-012021-12-310001050377us-gaap:CommonStockMember2023-01-012023-12-310001050377us-gaap:TreasuryStockCommonMember2023-12-310001050377us-gaap:RetainedEarningsMember2023-12-310001050377us-gaap:AdditionalPaidInCapitalMember2023-12-310001050377us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001050377us-gaap:TreasuryStockCommonMember2022-12-310001050377us-gaap:RetainedEarningsMember2022-12-310001050377us-gaap:AdditionalPaidInCapitalMember2022-12-310001050377us-gaap:TreasuryStockCommonMember2021-12-310001050377us-gaap:RetainedEarningsMember2021-12-310001050377us-gaap:AdditionalPaidInCapitalMember2021-12-310001050377us-gaap:TreasuryStockCommonMember2020-12-310001050377us-gaap:RetainedEarningsMember2020-12-310001050377us-gaap:AdditionalPaidInCapitalMember2020-12-310001050377cnxn:EmployeeStockPurchasePlanMember2023-01-012023-12-310001050377cnxn:StockIncentivePlan2020Member2023-12-310001050377cnxn:StockIncentivePlan2020Member2023-05-310001050377srt:MaximumMembercnxn:StockIncentivePlanTwentyZeroSevenMember2019-05-310001050377us-gaap:RestrictedStockUnitsRSUMember2022-12-310001050377us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-12-310001050377us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-12-310001050377srt:MaximumMemberus-gaap:RestrictedStockUnitsRSUMember2023-01-012023-12-310001050377srt:MaximumMemberus-gaap:RestrictedStockUnitsRSUMember2022-01-012022-12-310001050377srt:MaximumMemberus-gaap:RestrictedStockUnitsRSUMember2021-01-012021-12-310001050377us-gaap:PhantomShareUnitsPSUsMember2023-01-012023-12-310001050377cnxn:SoftwareMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:SoftwareMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:SoftwareMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:ServersAndStorageMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:ServersAndStorageMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:ServersAndStorageMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:NetAndComMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:NetAndComMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:NetAndComMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:DesktopsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:DesktopsMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:DesktopsMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:AccessoriesMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:AccessoriesMembercnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:AccessoriesMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:SoftwareMember2023-01-012023-12-310001050377cnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377cnxn:ServersAndStorageMember2023-01-012023-12-310001050377cnxn:PublicSectorMember2023-01-012023-12-310001050377cnxn:OtherHardwareAndServicesMember2023-01-012023-12-310001050377cnxn:NotebooksAndMobilityMember2023-01-012023-12-310001050377cnxn:NetAndComMember2023-01-012023-12-310001050377cnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377cnxn:DisplaysAndSoundsMember2023-01-012023-12-310001050377cnxn:DesktopsMember2023-01-012023-12-310001050377cnxn:AccessoriesMember2023-01-012023-12-310001050377cnxn:SoftwareMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:SoftwareMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:SoftwareMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:ServersAndStorageMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:ServersAndStorageMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:ServersAndStorageMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:NetAndComMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:NetAndComMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:NetAndComMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:DesktopsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:DesktopsMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:DesktopsMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:AccessoriesMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:AccessoriesMembercnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:AccessoriesMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:SoftwareMember2022-01-012022-12-310001050377cnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377cnxn:ServersAndStorageMember2022-01-012022-12-310001050377cnxn:PublicSectorMember2022-01-012022-12-310001050377cnxn:OtherHardwareAndServicesMember2022-01-012022-12-310001050377cnxn:NotebooksAndMobilityMember2022-01-012022-12-310001050377cnxn:NetAndComMember2022-01-012022-12-310001050377cnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377cnxn:DisplaysAndSoundsMember2022-01-012022-12-310001050377cnxn:DesktopsMember2022-01-012022-12-310001050377cnxn:AccessoriesMember2022-01-012022-12-310001050377cnxn:SoftwareMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:SoftwareMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:SoftwareMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:ServersAndStorageMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:ServersAndStorageMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:ServersAndStorageMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:OtherHardwareAndServicesMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:NotebooksAndMobilityMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:NetAndComMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:NetAndComMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:NetAndComMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:DisplaysAndSoundsMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:DesktopsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:DesktopsMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:DesktopsMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:AccessoriesMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:AccessoriesMembercnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:AccessoriesMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:SoftwareMember2021-01-012021-12-310001050377cnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377cnxn:ServersAndStorageMember2021-01-012021-12-310001050377cnxn:PublicSectorMember2021-01-012021-12-310001050377cnxn:OtherHardwareAndServicesMember2021-01-012021-12-310001050377cnxn:NotebooksAndMobilityMember2021-01-012021-12-310001050377cnxn:NetAndComMember2021-01-012021-12-310001050377cnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377cnxn:DisplaysAndSoundsMember2021-01-012021-12-310001050377cnxn:DesktopsMember2021-01-012021-12-310001050377cnxn:AccessoriesMember2021-01-012021-12-310001050377srt:MinimumMember2023-12-310001050377srt:MaximumMember2023-12-310001050377us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-12-310001050377cnxn:RelatedPartiesMember2022-12-310001050377cnxn:OthersMember2022-12-310001050377us-gaap:InternalRevenueServiceIRSMember2023-01-012023-12-310001050377cnxn:StateJurisdictionMember2023-01-012023-12-310001050377cnxn:RelatedPartiesMember2023-12-310001050377cnxn:OthersMember2023-12-310001050377cnxn:RelatedPartiesMember2023-01-012023-12-310001050377cnxn:OthersMember2023-01-012023-12-310001050377cnxn:RelatedPartiesMember2022-01-012022-12-310001050377cnxn:OthersMember2022-01-012022-12-310001050377us-gaap:OtherIncomeMember2023-01-012023-12-310001050377us-gaap:OtherIncomeMember2022-01-012022-12-310001050377srt:MaximumMemberus-gaap:OtherIncomeMember2021-01-012021-12-310001050377us-gaap:OperatingSegmentsMembercnxn:PublicSectorSegmentMember2023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:PublicSectorSegmentMember2022-12-310001050377srt:MinimumMemberus-gaap:ComputerSoftwareIntangibleAssetMember2023-12-310001050377srt:MaximumMemberus-gaap:ComputerSoftwareIntangibleAssetMember2023-12-310001050377us-gaap:TradeNamesMember2023-12-310001050377us-gaap:CustomerRelationshipsMember2023-12-310001050377us-gaap:CustomerListsMember2023-12-310001050377us-gaap:TradeNamesMember2022-12-310001050377us-gaap:CustomerRelationshipsMember2022-12-310001050377us-gaap:CustomerListsMember2022-12-310001050377us-gaap:RestrictedStockUnitsRSUMember2023-12-310001050377us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-12-310001050377us-gaap:RetainedEarningsMember2023-01-012023-12-310001050377us-gaap:RetainedEarningsMember2022-01-012022-12-310001050377us-gaap:RetainedEarningsMember2021-01-012021-12-310001050377us-gaap:OperatingSegmentsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-01-012023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:PublicSectorMember2023-01-012023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:LargeAccountSegmentMember2023-01-012023-12-310001050377us-gaap:CorporateNonSegmentMember2023-01-012023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-01-012022-12-310001050377us-gaap:OperatingSegmentsMembercnxn:PublicSectorMember2022-01-012022-12-310001050377us-gaap:OperatingSegmentsMembercnxn:LargeAccountSegmentMember2022-01-012022-12-310001050377us-gaap:CorporateNonSegmentMember2022-01-012022-12-310001050377us-gaap:OperatingSegmentsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2021-01-012021-12-310001050377us-gaap:OperatingSegmentsMembercnxn:PublicSectorMember2021-01-012021-12-310001050377us-gaap:OperatingSegmentsMembercnxn:LargeAccountSegmentMember2021-01-012021-12-310001050377us-gaap:CorporateNonSegmentMember2021-01-012021-12-310001050377cnxn:NoExpirationMember2023-12-310001050377cnxn:ExpireBeyondYearFiveMember2023-12-310001050377cnxn:ExpireAfterTwoYearsMember2023-12-310001050377cnxn:ExpireAfterThreeYearsMember2023-12-310001050377cnxn:ExpireAfterNextTwelveMonthsMember2023-12-310001050377cnxn:ExpireAfterFourYearsMember2023-12-310001050377cnxn:ExpireAfterFiveYearsMember2023-12-310001050377us-gaap:PrimeRateMember2023-12-310001050377cnxn:AccruedExpensesAndOtherLiabilitiesMember2023-12-310001050377cnxn:AccruedExpensesAndOtherLiabilitiesMember2022-12-310001050377srt:MaximumMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMemberus-gaap:GeographicDistributionForeignMember2023-01-012023-12-310001050377srt:MaximumMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMemberus-gaap:GeographicDistributionForeignMember2022-01-012022-12-310001050377srt:MaximumMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:GeographicConcentrationRiskMemberus-gaap:GeographicDistributionForeignMember2021-01-012021-12-310001050377us-gaap:CommonStockMember2023-12-310001050377us-gaap:CommonStockMember2022-12-310001050377us-gaap:CommonStockMember2021-12-310001050377us-gaap:CommonStockMember2020-12-310001050377cnxn:DividendTwoMember2023-01-012023-12-310001050377cnxn:DividendThreeMember2023-01-012023-12-310001050377cnxn:DividendOneMember2023-01-012023-12-310001050377cnxn:DividendFourMember2023-01-012023-12-310001050377cnxn:EmployeeStockPurchasePlanMember2022-05-3100010503772021-12-3100010503772020-12-310001050377us-gaap:CashAndCashEquivalentsMemberus-gaap:MoneyMarketFundsMember2023-12-310001050377us-gaap:CashAndCashEquivalentsMemberus-gaap:MoneyMarketFundsMember2022-12-310001050377us-gaap:ShortTermInvestmentsMemberus-gaap:USTreasurySecuritiesMember2023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:PublicSectorMember2023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:LargeAccountSegmentMember2023-12-310001050377us-gaap:IntersegmentEliminationMember2023-12-310001050377us-gaap:OperatingSegmentsMembercnxn:SmallAndMediumSizedBusinessesSegmentMember2022-12-310001050377us-gaap:OperatingSegmentsMembercnxn:PublicSectorMember2022-12-310001050377us-gaap:OperatingSegmentsMembercnxn:LargeAccountSegmentMember2022-12-310001050377us-gaap:IntersegmentEliminationMember2022-12-310001050377us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-12-310001050377us-gaap:SellingGeneralAndAdministrativeExpensesMember2022-01-012022-12-310001050377us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-12-310001050377us-gaap:AdditionalPaidInCapitalMember2023-01-012023-12-310001050377us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-310001050377us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-310001050377us-gaap:CustomerRelationshipsMember2016-01-012016-12-3100010503772023-10-012023-12-3100010503772023-06-3000010503772024-02-150001050377cnxn:StockIncentivePlanTwentyZeroSevenMember2023-01-012023-12-310001050377us-gaap:OtherRestructuringMember2023-01-012023-12-310001050377us-gaap:EmployeeSeveranceMember2023-01-012023-12-310001050377cnxn:SynnexCorporationMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2023-01-012023-12-310001050377cnxn:IngramMicroIncClassMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2023-01-012023-12-310001050377cnxn:SynnexCorporationMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2022-01-012022-12-310001050377cnxn:IngramMicroIncClassMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2022-01-012022-12-310001050377cnxn:SynnexCorporationMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2021-01-012021-12-310001050377cnxn:IngramMicroIncClassMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2021-01-012021-12-310001050377cnxn:MicrosoftCorporationMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2023-01-012023-12-310001050377cnxn:HpIncMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2023-01-012023-12-310001050377cnxn:DellInc.Memberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2023-01-012023-12-310001050377cnxn:MicrosoftCorporationMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2022-01-012022-12-310001050377cnxn:LenovoMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2022-01-012022-12-310001050377cnxn:HpIncMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2022-01-012022-12-310001050377cnxn:DellInc.Memberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2022-01-012022-12-310001050377cnxn:MicrosoftCorporationMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2021-01-012021-12-310001050377cnxn:LenovoMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2021-01-012021-12-310001050377cnxn:HpIncMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2021-01-012021-12-310001050377cnxn:DellInc.Memberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:SupplierConcentrationRiskMember2021-01-012021-12-310001050377cnxn:PeriodTwoMember2023-01-012023-12-310001050377cnxn:PeriodThreeMember2023-01-012023-12-310001050377cnxn:PeriodOneMember2023-01-012023-12-310001050377cnxn:PeriodFourMember2023-01-012023-12-310001050377cnxn:SingleCustomerMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001050377cnxn:SingleCustomerMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001050377cnxn:SingleCustomerMemberus-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310001050377cnxn:ShareRepurchaseProgramsAggregateMember2023-01-012023-12-310001050377us-gaap:PhantomShareUnitsPSUsMember2021-12-310001050377us-gaap:CorporateNonSegmentMember2023-12-310001050377us-gaap:CorporateNonSegmentMember2022-12-3100010503772022-01-012022-12-3100010503772021-01-012021-12-3100010503772023-12-3100010503772022-12-3100010503772023-01-012023-12-310001050377cnxn:AccruedExpensesAndOtherLiabilitiesMemberus-gaap:EmployeeSeveranceMember2023-12-31iso4217:USDxbrli:purecnxn:leasecnxn:customerxbrli:sharesiso4217:USDxbrli:sharescnxn:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D. C. 20549

FORM 10-K

(Mark One)

ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the fiscal year ended December 31, 2023

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the transition period from ___________ to ___________.

Commission File Number 000-23827

PC CONNECTION, INC.

(Exact name of registrant as specified in its charter)

Delaware

02-0513618

(State or other jurisdiction of

incorporation or organization)

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

730 Milford Road

Merrimack, New Hampshire

03054

(Zip Code)

(Address of principal executive offices)

 

Registrant’s telephone number, including area code    

(603) 683-2000

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

Title of each class

Trading symbol(s)

Name of each exchange on which registered

Common Stock, $0.01 par value

CNXN

Nasdaq Global Select Market

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

None

(Title of Class)

Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes      No  þ

Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes      No  þ

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

Yes þ No 

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

Yes þ No 

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

Large Accelerated Filer Accelerated Filer þ Non-accelerated Filer Smaller Reporting Company Emerging Growth Company

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

Indicate by check mark whether the registrant has filed a report on and attestation to its management's assessment of the effectiveness of its internal control over financial reporting under section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.    

If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to §240.10D-1(b).

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

The aggregate market value of the registrant’s voting shares of common stock held by non-affiliates of the registrant on June 30, 2023, based on $45.10 per share, the last reported sale price on the Nasdaq Global Select Market on that date, was $510 million.

The number of shares of the registrant’s Common Stock outstanding as of February 15, 2024 was 26,361,133.

DOCUMENTS INCORPORATED BY REFERENCE

Portions of the registrant’s definitive Proxy Statement for its 2024 Annual Meeting of Stockholders, to be filed with the Securities and Exchange Commission, are incorporated by reference into Part III of this Annual Report on Form 10-K as indicated herein.

TABLE OF CONTENTS

PART I

Page

ITEM 1.

Business

1

ITEM 1A.

Risk Factors

14

ITEM 1B.

Unresolved Staff Comments

26

ITEM 1C.

Cybersecurity

26

ITEM 2.

Properties

27

ITEM 3.

Legal Proceedings

27

ITEM 4.

Mine Safety Disclosures

27

PART II

ITEM 5.

Market for the Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

28

ITEM 6.

[Reserved]

29

ITEM 7.

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

30

ITEM 7A.

Quantitative and Qualitative Disclosure About Market Risk

43

ITEM 8.

Financial Statements and Supplementary Data

43

ITEM 9.

Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

43

ITEM 9A.

Controls and Procedures

43

ITEM 9B.

Other Information

46

ITEM 9C.

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

46

PART III

ITEM 10.

Directors, Executive Officers and Corporate Governance

47

ITEM 11.

Executive Compensation

47

ITEM 12.

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

47

ITEM 13.

Certain Relationships and Related Transactions and Director Independence

48

ITEM 14.

Principal Accounting Fees and Services

48

PART IV

ITEM 15.

Exhibits and Financial Statement Schedules

49

ITEM 16.

Form 10-K Summary

52

SIGNATURES

53

CAUTIONARY NOTE CONCERNING FORWARD-LOOKING STATEMENTS

This Annual Report on Form 10-K contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. Forward-looking statements generally relate to future events or our future financial or operating performance and include statements concerning, among other things, our future financial results, business plans (including statements regarding new products and services we may offer and future expenditures, costs and investments), liabilities, impairment charges, competition and the expected impact of current macroeconomic conditions on our businesses and results of operations. In some cases, you can identify forward-looking statements because they contain words such as “may,” “will,” “would,” “should,” “expects,” “plans,” “could,” “intends,” “target,” “projects,” “believes,” “estimates,” “anticipates,” “potential” or “continue” or the negative of these words or other similar terms or expressions that concern our expectations, strategy, plans or intentions. These statements reflect our current views and are based on assumptions as of the date of this report. Such assumptions are based upon internal estimates and other analyses of current market conditions and trends, management expectations, plans, and strategies, economic conditions, and other factors. These statements are subject to known and unknown risks, uncertainties and other factors that may cause our actual results, performance or achievements to be materially different from expectations or results projected or implied by forward-looking statements.

Such differences may result from actions taken by us, including expense reduction or strategic initiatives (including reductions in force, capital investments and new or expanded product offerings or services), the execution of our business plans (including our inventory management, cost structure and management and other personnel decisions) or other business decisions, as well as from developments beyond our control, including:

substantial competition reducing our market share;

significant price competition reducing our profit margins;

the loss of any of our major vendors adversely affecting the number of type of products we may offer;

virtualization of information technology, or IT, resources and applications, including networks, servers, applications, and data storage disrupting or altering our traditional distribution models;

service interruptions at third-party shippers negatively impacting our ability to deliver the products we offer to our customers;

increases in shipping and postage costs reducing our margins and adversely affecting our results of operations;

loss of key persons or the inability to attract, train and retain qualified personnel adversely affecting our ability to operate our business;

cyberattacks or the failure to safeguard personal information and our IT systems resulting in liability and harm to our reputation; and

macroeconomic factors facing the global economy, including disruptions in the capital markets, economic sanctions and economic slowdowns or recessions, rising inflation and changing interest rates reducing the level of investment our customers are willing to make in IT products.

Additional factors include those described in this Annual Report on Form 10-K, including under the captions “Risk Factors,” “Management’s Discussion and Analysis of Financial Condition and Results of Operations,” and “Business,” in our subsequent quarterly reports on Form 10-Q, including under the captions “Risk Factors” and “Management’s Discussion and Analysis of Financial Condition and Results of Operations,” and in the other subsequent filings we make with the Securities and Exchange Commission from time to time.

A forward-looking statement is neither a prediction nor a guarantee of future events or circumstances. You should not place undue reliance on the forward-looking statements included in this Annual Report on Form 10-K. We assume no obligation to update any of these forward-looking statements, or to update the reasons actual results could differ

materially from those anticipated, to reflect circumstances or events that occur after the statements are made except as required by law.

Unless the context otherwise requires, we use the terms “Connection”, the “Company”, “we”, “us”, and “our” in this Annual Report on Form 10-K to refer to PC Connection, Inc. and its subsidiaries.

PART I

Item 1. Business

GENERAL

We are a Fortune 1000 Global Solutions Provider that simplifies the IT customer experience, guiding the connection between people and technology. Our dedicated account managers partner with customers to design, deploy, and support cutting-edge IT environments using the latest hardware, software, and services. We provide a wide range of IT solutions, from the desktop to the cloud—including computer systems, data center solutions, software and peripheral equipment, networking communications, and other products and accessories that we purchase from manufacturers, distributors, and other suppliers. In 2023, we restructured and combined our Technology Solutions Group and Technical Sales Organization into one organization to be referred to as our Technology Solutions Organization, or TSO. Our TSO and state-of-the-art Technology Integration and Distribution Center, or TIDC, with ISO 9001:2015 certified technical configuration lab offer end-to-end services related to the design, configuration, and implementation of IT solutions. Our team also provides a comprehensive portfolio of managed services and professional services. These services are performed by our personnel and by third-party providers. Our GlobalServe offering ensures worldwide coverage for our multinational customers, delivering global procurement solutions through our network of in-country suppliers in over 150 countries.

The “Connection®” brand includes Connection Enterprise Solutions, Connection Business Solutions, and Connection Public Sector Solutions. We united all of our subsidiaries into one cohesive brand, reflecting the promise of our blue arc and our mission to connect people with technology that enhances growth, elevates productivity, and empowers innovation. These entities represent our three operating segments and their respective markets:

Connection Enterprise Solutions – serving large enterprise customers

Connection Business Solutions – serving small to medium-sized businesses, or SMBs

Connection Public Sector Solutions – serving federal, state, and local government and educational institutions

Financial results for each of our segments are included in the financial statements attached hereto. We generate sales through (i) outbound inside sales and field sales contacts by sales representatives focused on the business, educational, healthcare, retail, manufacturing, and government markets, (ii) our websites, and (iii) direct responses from customers responding to our advertising media. We offer a broad selection of over 460,000 products at competitive prices, including products from vendors like Apple, Cisco, Dell Inc., Hewlett-Packard Inc., Hewlett-Packard Enterprise, Intel, Lenovo, Microsoft Corporation, and VMware, and we partner with more than 2,500 suppliers. We are able to leverage our state-of-the art logistic capabilities to rapidly ship product to customers.

Since our founding in 1982, we have consistently served our customers’ needs by providing innovative, reliable, and timely service and technical support, and by offering an extensive assortment of industry-leading products through knowledgeable, well-trained sales and support teams. Our strategy’s effectiveness is reflected in the recognition we have received, including being named to the Fortune 1000 and the CRN Solution Provider 500 for twenty-three straight years. In recent years, we have received numerous awards, including the Microsoft Excellence in Operations, Double Gold Level Award for delivering market-leading operational excellence, Modern Work, Surface Hub Reseller 2023 Microsoft US Partner of the Year Award, Aruba Federal Public Sector Partner of the Year, HPE Federal GreenLake Partner of the Year, and HP U.S. Personal Systems National Solution Provider of the Year Award, as well as being named to the CRN Tech Elite 250 for the eighth year. Connection has also been twice named “America’s Best-in-State Employers” by Forbes and included on Newsweek’s list of Most Trustworthy Companies in America in 2022 and 2023. Our technical experts hold more than 5,000 professional certifications, and we have been awarded industry-leading partner authorizations, including Microsoft Azure Expert Managed Service Provider status. We believe this pursuit of excellence and our ability to understand our customers’ needs and provide comprehensive and effective IT solutions has earned us strong brand name recognition and a broad and loyal customer base. We also believe that through our strong vendor

1

relationships we can provide an efficient supply chain and be an effective IT solution provider for our diverse customer base.

We strive to identify the unique needs of our corporate, government, educational, and small business customers, and have designed our business processes to enable our customers to effectively manage their IT systems. We provide value by offering our customers efficient design, integration, deployment, and support of their IT environments. As of December 31, 2023, we employed 820 sales representatives. Sales representatives are responsible for managing enterprise, commercial, and public sector accounts, as specialization and a deep understanding of unique customer environments are more important than ever. These sales representatives focus on current and prospective customers and are supported by an increasing number of engineering, technical, and administrative staff through our TSO. Our Industry Solutions Group, or ISG, provides our sales team and customers with insights and guidance customized to the unique needs of our vertical markets, including healthcare, retail, finance, and manufacturing. We believe that increasing our sales force productivity is important to our future success, and we have increased our headcount and investments in our sales and sales support teams accordingly.

We market our products and services through our websites: www.connection.com, www.connection.com/enterprise, www.connection.com/publicsector, and www.macconnection.com. Our websites provide extensive product information, customized pricing, rich content, and a digital platform for online orders. We are not including the information contained in our websites as part of, or incorporating by reference into, this Annual Report on Form 10-K.

MARKET AND COMPETITION

In the fiscal year ended December 31, 2023, we generated approximately 37.7% of our sales from SMBs, 42.2% from medium-to-large businesses (Fortune 1000), and 20.1% from government and educational institutions.

The largest segment of the United States IT market that we operate within is served by local and regional value-added resellers, or VARs, many of whom we believe are transitioning from the hardware and software products business to higher-margin IT services. We have transitioned from an end-user or desktop-centric computing supplier to a network or enterprise-wide IT solutions supplier. We have also partnered with third-party technology and telecommunications service providers to offer our customers access to the same services and technical expertise as local and regional VARs, but with a more extensive product selection, often at lower prices.

Intense competition for customers has led manufacturers of the IT products we offer to use all available distribution channels, including solutions providers, to distribute their products. Certain manufacturers who have traditionally used resellers to distribute their products have also, from time to time, established their own direct marketing operations, including sales through the Internet.

We believe new entrants to the IT solutions channel must overcome a number of obstacles, including:

substantial time and resources required to build a customer base of meaningful size and profitability for cost-effective operation;

significant upfront costs of developing the information systems and operating infrastructure required to successfully compete as a national solutions provider;

purchasing and operating efficiencies enjoyed by larger and more established competitors;

difficulty building relationships with vendors needed to gain favorable product allocations and attractive pricing terms; and

difficulty identifying and recruiting management personnel with significant direct marketing experience in the industry.

2

BUSINESS STRATEGIES

We believe that we have become our customers’ IT provider of choice by calming the confusion surrounding IT procurement and solving complex business challenges with innovative IT solutions designed to meet their increased productivity, mobility, virtualization, and security needs in a continuously evolving IT environment. We offer our customers enhanced value by assisting them with both the design and implementation of IT solutions directed at cost-effectively maximizing the business opportunities created by new technologies and advanced service solutions. The key elements of our business strategies include:

Providing consistent customer service before, during, and after the sale. We believe that we have earned a reputation for providing superior customer service by consistently focusing on our customers’ needs. Empathy for the challenges technology procurement presents to people is at the heart of our culture and serves as a foundation for long-lasting and rewarding partnerships we create with organizations of every size and industry. We have dedicated our resources to developing strong, long-term relationships with our customers by accurately assessing their IT needs, and providing scalable, high-quality solutions and services through our knowledgeable, well-trained personnel. Through operational excellence, we believe we have created efficient delivery programs that provide a quality buying experience for our customers.

Offering a broad product selection at competitive prices. We offer a broad range of IT products and solutions, including personal computers and related peripheral products, servers, storage, managed services, cloud solutions, and networking infrastructure, at costs that are designed to allow our customers to be more productive while maximizing their IT budgets. Our integrated and advanced solution offerings include network, server, storage, and mission-critical onsite installation and support using proprietary cloud-based service management software. We offer products and enhanced service capabilities with aggressive price and performance standards, all with the convenience of one-stop shopping for technology solutions.

Simplifying technology product procurement for corporate customers. We offer Internet-based procurement options to eliminate complexity and enhance customer value, as well as lower the cost of procurement for our customers. We specialize in Internet-based solutions and provide electronic integration between our customers and suppliers.

Offering targeted IT solutions. Our customers seek solutions to increasingly complex IT infrastructure demands. To better address their business needs, we have focused our solution service capabilities on several key areas: data and automation, workplace transformation, cloud, cybersecurity, and technology services. Our TSO is responsible for understanding the infrastructure needs of our customers, and for designing cost-effective technology solutions to address them. We have also partnered with third-party providers to make available a range of IT support services, including asset assessment, implementation, maintenance, and disposal services. We believe we can leverage these focus areas to enable us to capture a greater share of our customers’ IT expenditures.

Maintaining a strong brand name and customer awareness. Since our founding in 1982, we have built a strong brand name and customer awareness. We have been named to the Fortune 1000 and the CRN Solution Provider 500 for each of the last twenty-three years. We actively work with our existing customers to become their IT provider of choice for products and enhanced solution services, while seeking to ensure our reputation of high-quality customer service, tailored marketing programs, and competitive pricing lead the way to expanding our share of the overall IT market we serve. Through the use of creative, consistent marketing activities, our goal is to strengthen the Connection brand and reinforce our reputation as a trusted IT advisor with a history of innovation and customer-centric service.

Maintaining long-standing vendor relationships. Our close partnerships with leading technology manufacturers and vendors provide our team with access to the latest product offerings, training assets, and support resources. We have a history of strong relationships with vendors, and were among the first global solutions providers qualified by manufacturers to market computer systems to end users. By working closely with our vendors to provide an efficient channel for the advertising and distribution of their products and

3

solutions, we expect to expand market share and generate opportunities for optimizing partner incentive programs. We promote communication and collaboration with our partner community at every level of our organization, from sales and product management to leadership. We meet regularly with our partners to share feedback and explore strategies to promote greater engagement and better serve our mutual customers.

GROWTH STRATEGIES

Our growth strategies are designed to increase revenues by maximizing operational efficiencies while offering innovative products and value-added service offerings, expanding our offerings to our existing customers, and expanding our customer base. Our seven key elements of growth are:

Expanding hardware and software offerings. We offer our customers an extensive range of IT hardware and software products, and in response to customer demand, we continually evaluate and add new products to our offerings as they become available. We also work closely with vendors to identify and source first-to-market product offerings at aggressive prices.

Expanding IT solution services offerings. We strive to accelerate solution and service growth by providing creative solutions to the increasingly complex hardware and software needs of our customers. Our cloud, cybersecurity, data center, workplace transformation, and technology services teams consist of industry-certified and product-certified engineers, as well as highly specialized third-party providers. We believe our investment in these areas may increase our share of our existing customers’ annual IT expenditures by broadening the range of products and services they purchase from us.

Delivering artificial intelligence, or AI, and automation solutions. We believe that the AI services we offer can be deployed in tailored, efficient, and cost-effective manners to drive our clients’ success. We currently offer AI workshops, which we deliver to customers, and AI infrastructure design and optimization services for core AI infrastructure. We are currently in the process of expanding on these services to include other areas that represent a broader AI ecosystem of development. Working alongside leaders within our partner ecosystem, we are expanding our capabilities and capacity to identify and bring to market the technologies and guidance that customers—across a broad range of industries and specialized verticals—require to ensure a seamless transition into the AI era. We believe our focus on helping customers understand this intricate landscape, discover and define their unique AI value path, and realize its envisioned potential will enable us to serve as a trusted advisor and deliver a holistic approach to AI and automation that encompasses strategy, technical expertise, and integration.

Targeting customer segments. Through increased targeted marketing, we seek to expand the number of our active customers and generate additional sales to existing customers by providing more value-added services and solutions. We have also developed digital marketing capabilities, which include but are not limited to digital remarketing, digital buying guides, Google shopping integration, along with social media advertising and search engine optimization. All of these methods also help us to fine tune and optimize our Internet marketing campaigns that focus on select markets, such as healthcare, retail, finance, and manufacturing.

Increasing productivity of our sales representatives. We believe that higher sales productivity is the key to leveraging our expense structure and driving future profitability improvements. We invest significant resources in training new sales representatives and providing ongoing training to experienced personnel. Our training and evaluation programs are focused towards assisting our sales personnel in understanding and anticipating our customers’ IT needs, with the goal of fostering loyal customer relationships. We also provide our sales representatives with technical support on more complex sales opportunities through our group of technical solution specialists.

Migrating to cloud-based solutions for our customers. Cloud computing is a key driver of new IT spending as our customers seek scalable, cost-effective solutions. We plan to expand our cloud-based solution sales and assist our customers in navigating the complex and growing field of multicloud-solution offerings. This focus on cloud includes investing in the training and certification resources required to help our customers adopt and

4

optimize cloud technologies. In 2023, we maintained Microsoft Azure Expert Managed Service Provider status—an exclusive designation that requires an intensive auditing process and a proven record of delivering exceptional customer service and in-depth technical expertise around core cloud competencies.

Pursuing strategic acquisitions and alliances. We seek acquisitions and alliances that add new customers, strengthen our product and solution offerings, add management talent, and produce operating results which are accretive to our core business earnings.

SERVICE AND SUPPORT

Since our founding in 1982, our primary objective has been to provide products and services that meet the demands and needs of our customers and to supplement those products with up-to-date product information and excellent customer service and support. We believe that offering our customers superior value, through a combination of product knowledge, consistent and reliable service and support, and leading products at competitive prices, differentiates us from other global solutions providers and serves as the foundation for developing a broad and loyal customer base.

We invest in training programs for our service and support personnel, with an emphasis on putting customer needs and service first. Supplementing our sales force, our TSO offers in-depth technical support across a wide range of advanced technology solutions. These teams of engineers and solution architects design end-to-end IT solutions tailored to our customers’ unique environments and serve as technology consultants. Our TIDC ensures a superior customer experience, with seamless configuration, deployment, and support services. Product support technicians assist customers with questions concerning compatibility, installation, and more difficult questions relating to product use. The product support technicians authorize customers to return defective or incompatible products to either the manufacturer or to us for warranty service. In-house TIDC technicians perform both warranty and non-warranty repair on most of the major systems and hardware products.

Using our customized information system, we transmit our customer orders either to our TIDC or to our drop-ship suppliers, depending on product availability, for processing immediately after a customer receives credit approval. At our distribution center, we also perform custom configuration services, which typically includes custom imaging, the installation and integration of additional components, and other technology enhancements. Our customers may select the method of delivery that best meets their needs and is most cost effective, ranging from expedited overnight delivery for urgently needed items to ground freight.

 Our inventory stocking strategy is based on economics and the general availability of the product. We will stock product where there is an economic advantage to do so, or the product is in constrained supply. We also will stock product to support customer rollouts, including product that is running through our configuration and integration services prior to shipment.

MARKETING AND SALES

We sell our products through our direct marketing channels to (i) SMBs including small office/home office customers, (ii) government and educational institutions, and (iii) medium-to-large businesses. We strive to be the primary supplier of IT products and solutions to our customers by providing exemplary customer service. We use multiple marketing approaches to reach existing and prospective customers, including:

outbound inside sales and field sales;

digital, web, and print media advertising; and

targeted marketing programs to specific customer populations.

All of our marketing approaches emphasize our broad product offerings, fast delivery, customer support, competitive pricing, and our wide range of service solutions.

5

Sales Channels. We believe that our ability to establish and maintain long-term customer relationships and to encourage repeat purchases is largely dependent on the strength of our sales personnel and programs. Because our customers’ primary contact with us is through our sales representatives, we are committed to maintaining a qualified, knowledgeable, and motivated sales staff with a principal focus on customer service.

Outbound Inside Sales and Field Sales. We seek to build loyal relationships with potential high-volume customers by assigning them to individual account managers. We believe that customers respond favorably to one-on-one relationships with personalized, well-trained account managers. Once established, these one-on-one relationships are maintained and enhanced through frequent telecommunications and targeted electronic communications, as well as other marketing materials designed to meet each customer’s specific IT needs. We pay most of our account managers a base annual salary plus incentive compensation. Incentive compensation is tied generally to gross profit dollars produced by the individual account manager.

E-commerce Sales. We generally provide product descriptions and prices for all of the products we offer through the e-commerce websites we maintain and operate. Our Connection website also provides updated information for more than 460,000 items. We offer, and continuously update, selected product offerings and other special buys. We believe our websites are an important source of sales and a communication tool for improving customer service.

For example, our Enterprise Solutions Segment’s business process and operations are primarily Web-based. Most of its corporate customers utilize a customized Web page to quickly search, source, and track IT products. Our Enterprise Solution business website aggregates the current available inventories of its largest IT suppliers into a single online source for its corporate customers. Its custom designed Internet-based system, MarkITplace™, provides corporate buyers with comparative pricing from several suppliers as well as special pricing arranged through the manufacturer.

The Internet supports three key business initiatives for us:

Customer choice — We have built our business on the premise that our customers should be able to choose how they interact with us - whether it be by telephone, or through the use of their desktop or mobile device via email or the Internet.

Lowering transactions costs — Our website tools include robust product search features and Internet Business Accounts (customized Web pages), which allow customers to quickly and easily find information about products of interest to them. If customers still have questions, they may call our account managers. Such phone calls are typically shorter and have higher close rates than calls from customers who have not visited our websites first.

Leveraging the time of experienced sales representatives — Our investments in technology-based sales and service programs allow our sales representatives more time to build and maintain relationships with our customers and to help them to solve their business problems.

 

Operating Segments. We conduct our business operations through three operating segments: Enterprise Solutions, Business Solutions, and Public Sector Solutions.

Enterprise Solutions Segment. Through our custom designed Web-based system, we are able to offer our larger corporate customers an efficient and effective method of sourcing, evaluating, purchasing, and tracking a wide variety of IT products and services. Our strategy is to be the primary single source procurement portal for our large corporate customers.

Business Solutions Segment. Our principal target markets in this segment are small to medium-sized business customers. We use a combination of outbound inside sales, including some on-site sales solicitation by business development managers, and Internet sales through customized Internet Business Accounts, to reach these customers.

Public Sector Solutions Segment. We use a combination of outbound inside sales, including some on-site sales solicitation by business development managers, and Internet sales through customized Internet Business Accounts, to

6

reach these customers. We target each of the four distinct market sectors within this segment—federal government, higher educational institutions, school grades K-12, and state and local governments.

The following table sets forth the relative distribution of net sales by operating segment for the periods presented:

Years Ended December 31, 

 

    

2023

    

2022

    

2021

 

Operating Segment

Enterprise Solutions

42

%  

42

%  

43

%

Business Solutions

38

40

38

Public Sector Solutions

20

18

19

Total

100

%  

100

%

100

%

Our ISG works across all operating segments to service the unique needs of healthcare, retail, finance, and manufacturing customers. Within each of these vertical markets, our ISG experts offer technology solutions and guidance backed by real-world experience. Our ISG combines extensive knowledge of the latest technologies, brands, and trends with industry experience that reassures our customers that we understand their businesses and their technology challenges. Our brand, and each of our operating segments, is supported by targeted marketing campaigns across a variety of media:

Digital. We utilize a series of digital programs, in conjunction with advanced data analytics, to identify prospective customers and generate new leads within our existing customer base. These programs include website, email, blog, social media, electronic catalogs, webinars, and video/multimedia promotions.

Specialty Marketing. In addition to our digital marketing efforts, we maintain a strong presence at industry tradeshows and conventions across the country, including a number of healthcare and education IT conferences. We also host a series of Technology Summits each year, with a focus on building stronger relationships with our customers and reinforcing our reputation as a trusted source of expertise.

Customers. We maintain an extensive database of customers and prospects. The federal government (and the other government entities we service) generally has the ability to terminate contracts, in whole or in part, with little or no prior notice, for convenience or for default based upon performance. The loss of any single customer would not have a material adverse effect on any of our operating segments. The majority of our backlog historically has been and continues to be open cancelable purchase orders. We do not have individual orders in our backlog that are material to our business, and as a result, we do not believe that backlog as of any particular dates is an indication of future results.

PRODUCTS AND MERCHANDISING

We continuously focus on expanding the breadth of our product and service offerings. We currently offer our customers over 460,000 IT products designed for business applications from more than 2,500 vendors. These products consist of hardware, including devices, peripherals, accessories, servers, and networking products, along with cloud solutions, software and services. We select the products and solutions we sell based upon their technology and

7

effectiveness, market demand, product features, quality, price, margins, and warranties. The following table sets forth our percentage of net sales for major product categories for the periods presented:

Years Ended December 31, 

 

   

2023

    

2022

    

2021

 

Notebooks/Mobility

 

33

%  

37

%  

38

%

Desktops

9

10

9

Software

12

9

10

Servers/Storage

 

7

 

7

 

7

Net/Com Products

 

10

 

7

 

7

Displays and Sound

9

10

10

Accessories

11

13

12

Other Hardware/Services

 

9

 

7

 

7

Total

100

%  

100

%  

100

%

We offer a 30-day right of return generally limited to defective merchandise. Returns of non-defective products are subject to restocking fees. Substantially all of the products marketed by us are warranted by the manufacturer. We generally accept returns directly from the customer and then either credit the customer’s account or ship the customer a replacement or similar product from our inventory.

PURCHASING AND VENDOR RELATIONS

Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Microsoft Corporation accounted for approximately 21%, 19%, and 11%, respectively, of our total product purchases in 2023. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 22%, and 15%, respectively, of our total product purchases in 2022. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 23%, and 12%, respectively, of our total product purchases in 2021. No other singular vendor supplied more than 10% of our total product purchases in 2023, 2022, and 2021. We believe that, while we may experience some short-term disruption if products from Ingram Micro, Inc., TD Synnex Corporation, Microsoft Corporation, Dell Inc., or any of these vendors become unavailable to us, alternative sources are available.

Products manufactured by Microsoft Corporation, HP Inc., and Dell Inc. represented approximately 15%, 13%, and 11%, respectively, of our total product purchases in 2023. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 14%, 13%, 12%, and 11% of our total product purchases in 2022. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 15%, 14%, 11%, and 10% of our total product purchases in 2021. No other singular product manufacturer produced more than 10% of our total product purchases in 2023, 2022, and 2021. We believe that in the event we experience either a short-term or permanent disruption of supply of Microsoft Corporation, HP Inc., or Dell Inc. products, such disruption would likely have a material adverse effect on our results of operations and cash flows.

Throughout the year, we saw continued improvement in the supply chain as constraints brought on by the COVID-19 pandemic were resolved and products now are generally in adequate supply.

Many product suppliers reimburse us for advertisements or other cooperative marketing programs through various marketing vehicles. Reimbursements may be in the form of discounts, advertising allowances, and/or rebates. We also receive allowances from certain vendors based upon the volume of our purchases or sales of the vendors’ products by us. Some of our vendors offer limited price protection in the form of rebates or credits against future purchases. We may also participate in end-of-life product and other special purchases which may not be eligible for price protection.

We believe that we have excellent relationships with our vendors. We generally pay vendors within stated terms, or earlier when favorable cash discounts are offered. We believe our high volume of purchases enables us to obtain product pricing and terms that are competitive with those available to other global IT solutions providers. Although brand names and individual product offerings are important to our business, we believe that competitive products are available in substantially all of the merchandise categories offered by us.

8

DISTRIBUTION

We fulfill orders from customers both from products we hold in inventory and through drop shipping arrangements with manufacturers and distributors. At our 268,000 square foot technology TIDC in Wilmington, Ohio, we receive and ship inventory, configure and integrate technology solutions, provide depot maintenance and services, and process returned products. The TIDC features a state-of-the-art ISO 9001:2015-certified Configuration Lab that completed more than 500,000 custom configurations in 2023—including personal computing devices, servers, mobile devices, and networking hardware. Our technicians maintain extensive certifications and authorizations from all major manufacturers, with more than 90% of the TIDC team holding one or more CompTIA certifications. Through the TIDC, we are able to offer customers turnkey solutions for all of their IT needs, including hardware configuration, imaging and provisioning, asset management, remote management, white glove enrollment services, kitting, custom packaging, and depot repair services.

We also place product orders directly with manufacturers and/or distribution companies for drop shipment directly to our customers. Order status with distributors is tracked online and a confirmation of shipment from manufacturers and/or distribution companies is received prior to initial recording of the transaction. Products drop shipped by suppliers were 69%, 71%, and 72%, of net sales in 2023, 2022, and 2021, respectively. Electronic delivery for software licenses were approximately 12%, 9%, and 10% of total net sales in 2023, 2022, and 2021, respectively.

MANAGEMENT INFORMATION SYSTEMS

Our subsidiaries utilize management information systems which have been significantly customized for our use. These systems permit centralized management of key functions, including order taking and processing, inventory and accounts receivable management, purchasing, sales, and distribution, and the preparation of daily operating control reports on key aspects of the business. We also operate advanced telecommunications equipment to support our sales and customer service operations. Key elements of the telecommunications systems are integrated with our computer systems to provide timely customer information to sales and service representatives, and to facilitate the preparation of operating and performance data.

Our success is dependent in large part on the accuracy and proper use of our information systems to manage our inventory and accounts receivable collections, to purchase, sell, and ship our products efficiently and on a timely basis, and to maintain cost-efficient operations. We expect to continue upgrading our information systems in the future to more effectively manage our operations and customer database.

Our investments in IT systems and infrastructure are designed to enable us to operate more efficiently and to provide our customers enhanced functionality.

COMPETITION

The direct marketing and sale of IT-related products is highly competitive. We compete with other national solutions providers of IT products, including CDW Corporation, SHI, and Insight Enterprises, Inc., who are the current leaders in the space. We also compete with:

certain product manufacturers that sell directly to customers as well as some of our own suppliers, such as Apple, Dell Inc., HP Inc., and Lenovo;

software publishers, such as Microsoft Corporation, VMware, and Adobe;

distributors that sell directly to certain customers, such as Apple, Dell Inc., Lenovo, and HP Inc.;

companies that develop and deliver on bespoke AI projects, such as Palantir and Scale.ai;

local and regional VARs;

9

cloud providers, such as Amazon Web Services, Google and Microsoft Corporation;

large service providers and system integrators, such as Accenture, CGI, and IBM;

communications service providers, such as AT&T and Verizon;

various franchisers, office supply superstores, and national computer retailers, such as Office Depot and Staples; and

e-tailers, such as Amazon, with more extensive commercial online networks.

Additional competition may arise if other new methods of distribution emerge in the future. We compete not only for customers, but also for favorable product allocations and cooperative advertising support from product manufacturers. Several of our competitors are larger than we are and have substantially greater financial resources. These and other factors related to our competitive position are discussed more fully in the “Overview” of Item 7, “Management’s Discussion and Analysis of Financial Condition and Results of Operations” and in Item 1A, “Risk Factors—Substantial competition could reduce our market share and may negatively affect our business” of this Annual Report on Form 10-K.

We believe that price, product selection and availability, solutions capabilities, and service and support are the most important competitive factors in our industry.

INTELLECTUAL PROPERTY RIGHTS

Our trademarks include, among others, Connection®, PC Connection®, GovConnection®, MacConnection®, we solve IT®, Everything Overnight®, Mobile Connection®, Cloud Connection®, Education Connection®, MoreDirect™, WebSPOC®, Softmart®, GlobalServe®, Raccoon Character, Connection Cloud MarkITplace™, and their related logos and all iterations thereof. We intend to use and protect these and our other marks, as we deem necessary. We believe our trademarks have significant value and are an important factor in the marketing of our products. We do not maintain a traditional research and development group, but we work closely with computer product manufacturers and other technology developers to stay abreast of the latest developments in computer technology, with respect to the products we both sell and use. For example, we recognize AI as a potentially transformational force and anticipate that AI will significantly impact our product offerings and the business operations of our clientele in the long term.

REGULATORY MATTERS

Government Contracting

Our Public Sector Solutions segment is heavily regulated and, as a result, our need for compliance awareness and business and employee support is significant. Specifically, our Public Sector Solutions segment is governed by various laws and regulations, including but not limited to laws and regulations relating to: the formation, administration, and performance of contracts; the security and control of information and information systems; international trade compliance; human trafficking; and the mandatory disclosure of “credible evidence” of a violation of certain criminal laws receipt of significant overpayments, or violations of the civil False Claims Act. In addition, U.S. government contractors are generally subject to other federal and state laws and regulations, including:

The Federal Acquisition Regulation, or FAR, agency supplements to the FAR, and related regulations, which regulate the formation, administration, and performance of U.S. federal government contracts;

The False Claims Act, which allows the government and whistleblowers filing on behalf of the government to pursue treble damages, civil penalties and sanctions for the provision of false or fraudulent claims to the U.S. federal government;

10

The Truth in Negotiations Act, which requires certification and disclosure of cost and pricing data in connection with the negotiation of certain contracts, modifications, or task orders;

The Procurement Integrity Act, which regulates access to competitor bid and proposal information, as well as certain internal government procurement sensitive information, and regulates our ability to provide compensation to certain former government procurement officials;

Laws and regulations restricting the ability of employees of the U.S. government to accept gifts or gratuities from a contractor;

Post-government employment laws and regulations, which restrict the ability of a contractor to recruit and hire current employees of the U.S. government and deploy former employees of the U.S. government;

Laws, regulations, and executive orders requiring the safeguarding of and restricting the use and dissemination of information classified for national security purposes or determined to be “controlled unclassified information,” “covered defense information,” or “for official use only”;

Laws and regulations relating to the export of certain products, services, and technical data, including requirements regarding any applicable licensing of our employees involved in such work;

Laws, regulations, and executive orders regulating the handling, use, and dissemination of personally identifiable information in the course of performing a U.S. government contract;

Laws, regulations, and executive orders governing organizational conflicts of interest that may prevent us from bidding for or restrict our ability to compete for certain U.S. government contracts because of the work that we currently perform for the U.S. government;

Laws, regulations, and executive orders that mandate compliance with requirements to protect the government from risks related to our supply chain;

Laws, regulations, and mandatory contract provisions providing protections to employees or subcontractors seeking to report alleged fraud, waste, and abuse related to a government contract; and

The Cost Accounting Standards and the Cost Principles, which impose accounting requirements that govern our right to reimbursement under certain cost-based U.S. government contracts and require consistency of accounting practices over time.

Our Public Sector Solutions is also subject to oversight by the U.S. Office of Federal Contract Compliance Programs, or OFCCP, for federal contract and affirmative action compliance, including the following areas:

affirmative action plans;

applicant tracking;

compliance training;

customized affirmative action databases and forms;

glass ceiling and compensation audits;

desk and on-site audits;

conciliation agreements;

11

disability accessibility for applicants and employees;

diversity initiatives;

equal employment opportunity compliance;

employment eligibility verification (known as “E-Verify”);

internal affirmative action audits;

internet recruiting and hiring processes;

OFCCP administrative enforcement actions;

record-keeping requirements; and

Sarbanes-Oxley Act of 2002 compliance.

The U.S. federal government routinely revises its procurement practices and adopts new contract statutes, rules and regulations. The U.S. federal government has a broad range of tools available to enforce its procurement law and policies. These include debarring or suspending a particular contractor, certain of its operations and/ or individual employees from future government business. Individuals, on behalf of the federal government, may also bring qui tam suits against us for any alleged fraud related to payments under a U.S. federal government contract or program.

Moreover, The U.S. federal government generally has the ability to terminate contracts, in whole or in part, with little or no prior notice, for convenience or for default based upon performance. In the event of termination of a contract for convenience, a contractor is normally able to recover costs already incurred on the contract and profit on those costs up to the amount authorized under the contract, but not the remaining profit that would have been earned had the contract been completed. Such a termination could also result in the cancellation of future work on a related contract. A termination resulting from our default could expose us to various liabilities, including excess re-procurement costs, and could have a material effect on our ability to compete for future contracts.

Unfair and Deceptive Trade Practices

Under applicable federal and state laws, we are required to comply with a number of requirements when sending commercial email or making telephone calls to consumers. For example, under applicable federal and state unfair competition laws, including the California Consumer Legal Remedies Act, and U.S. Federal Trade Commission, regulations, we must accurately identify product offerings, not make misleading claims on our platforms, and use qualifying disclosures where and when appropriate when distributing commercial emails to consumers. We are also subject to the Federal Telecommunications Commission’s Telemarketing Sales Rule, the Telephone Consumer Protection Act, and the Controlling the Assault of Non-Solicited Pornography and Marketing Act of 2003, which generally limit the consumers and types of communications we can make via telephone, text, automatic telephone dialing systems, and artificial and prerecorded voices.

Data Privacy and Security

Numerous state, federal and foreign laws, including consumer protection laws and regulations, govern the collection, dissemination, use, access to, confidentiality and security of personal information. In the United States, numerous federal and state laws and regulations, including data breach notification laws and federal and state consumer protection laws and regulations, that govern the collection, use, disclosure, and protection of personal information could apply to our operations or the operations of our partners. In addition, certain state and non-US laws, such as the California Consumer Privacy Act and the California Privacy Rights Act govern the privacy and security of personal information, many of which differ from each other in significant ways and may not have the same effect, thus complicating compliance efforts.

12

Failure to comply with these laws, where applicable, can result in the imposition of significant civil and/or criminal penalties and private litigation. Privacy and security laws, regulations, and other obligations are constantly evolving, may conflict with each other to complicate compliance efforts, and can result in investigations, proceedings, or actions that lead to significant civil and/or criminal penalties and restrictions on data processing.

HUMAN CAPITAL

Our culture is reflected through our employees, who are driven to serve our customers, our partners, our communities and all of our stakeholders. We provide our employees with support, training, and engagement opportunities to build stronger and more diverse teams. Our culture—and the employees who share that culture with our customers and communities—are essential to our success and our ability to attract and retain top talent. Our Connection Cares initiative, launched in 2021, builds on the company’s long history of inclusivity and social responsibility with working groups focused on key areas: employee recognition, charitable giving, sustainability, and diversity, equity, and inclusion. Employees volunteer within these groups to share their ideas, conduct company-wide campaigns, and make a positive impact throughout the company and our wider community. These activities, and the formal structure to support them, help ensure we are able to offer a supportive work environment and corporate culture that today’s workforce demands.

We focus on the following key areas in hiring and developing our employees:

Training and Development. We focus on skills enhancement, leadership development, innovation excellence and professional growth throughout our employees’ careers. Our leadership program provides leadership trainings to our high-potential emerging leaders.

Total Rewards. We provide market competitive compensation aligned with company performance. We further align our sales representatives’ compensation to their individual performance by providing excellent commission opportunities. We provide a comprehensive benefits package to our employees, including medical coverage, retirement plans with matching contributions, tuition assistance, inclusive parental leave policies, adoption assistance, paid time off, paid volunteer hours, and wellness hours.

Oversight and Management. Our Board of Directors understands the importance of our inclusive, performance-driven culture to our ongoing success and is actively engaged with our President and Chief Executive Officer and our Senior Vice President of Human Resources across a broad range of human capital management topics.

As of December 31, 2023, we employed 2,703 persons (full-time equivalent), of whom 1,152 (including 332 management and support personnel) were engaged in sales-related activities, 616 were engaged in providing IT services and customer service and support, 607 were engaged in purchasing, marketing, and distribution-related activities, 124 were engaged in the operation and development of management information systems, and 204 were engaged in administrative and finance functions. We believe we have good relations with our employees. Our employees are not represented by a labor union, and, to date, we have never experienced a labor related work stoppage.

AVAILABLE INFORMATION

We are subject to the informational requirements of the Securities Exchange Act of 1934 (the “Exchange Act”), and accordingly, we file reports, proxy and information statements, and other information with the Securities and Exchange Commission, or SEC. The SEC maintains a website (http://www.sec.gov) that contains such reports, proxy and information statements, and other information regarding issuers that file electronically with the SEC. Our website address is www.connection.com and our investor relations website is located at https://ir.connection.com/. We are not including the information contained in our website as part of, or incorporating by reference into, this Annual Report on Form 10-K. We make available free of charge through our investor relations website our Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, and Current Reports on Form 8-K, and amendments to these reports filed or furnished pursuant to Section 13(a) or 15(d) of the Exchange Act, as soon as reasonably practical after we electronically file these materials with, or otherwise furnish them to, the SEC.

13

In addition, we routinely post on the “Investor Relations” section of our website news releases, announcements, and other statements about our business, some of which may contain information that may be deemed material to investors. Therefore, we encourage investors, the media, and others interested in our company to review the information we post on the “Investor Relations” section of our corporate website. The contents of our corporate website are not, however, a part of this Annual Report on Form 10-K.

Item 1A. Risk Factors

You should carefully consider the risks and uncertainties described below, together with all of the other information contained in this Annual Report on Form 10-K and our other public filings with the SEC. The risks described below are not the only risks facing our Company. The occurrence of any of the following risks, or of additional risks and uncertainties not presently known to us or that we currently believe to be immaterial, could cause our business, prospects, operating results, and financial condition to suffer materially. The risks below also include forward-looking statements, and important factors could cause our actual results to differ materially from those indicated or implied by these forward-looking statements. See “Cautionary Note Concerning Forward-Looking Statements.”

Risks Related to our Business, Operations and Industry

We have experienced variability in sales and may not be able to maintain profitable operations.

Several factors have caused our results of operations to fluctuate and we expect some of these fluctuations to continue. Causes of these fluctuations include:

shifts in customer demand that affect our distribution models, including demand for total solutions;

loss of customers to competitors;

rising interest rates;

inflation;

industry shipments of new products or upgrades;

changes in overall demand and timing of product shipments related to economic markets and to government spending;

supply constraints;

changes in vendor distribution of products;

changes in our product offerings and in merchandise returns;

changes in distribution models as a result of the growing adoption of cloud and software-as-a-service, or SaaS, offerings; and

adverse weather conditions that affect response, distribution, or shipping.

Our results also may vary based on our ability to manage personnel levels in response to fluctuations in revenue. We base personnel levels and other operating expenditures on sales forecasts. If our revenues do not meet anticipated levels in the future, we may not be able to reduce our staffing levels and operating expenses in a timely manner to avoid significant losses from operations.

14

Our sales are dependent on continued innovations in hardware, software and services by our vendor partners and the competitiveness of their offerings, and our ability to partner with new and emerging technology providers.

The technology industry is characterized by rapid innovation and the frequent introduction of new and enhanced hardware, software and services, such as cloud-based solutions and other virtual services, including SaaS, infrastructure as a service, or IaaS, platform as a service, or PaaS, device as a service, or DaaS, the internet of things, or IoT, and AI. We have been and will continue to be dependent on innovations in hardware, software and services, as well as the acceptance of those innovations by customers. Also, customers may delay spending while they evaluate new technologies. A decrease in the rate of innovation, a lack of acceptance of innovations by our customers or delays in technology spending by our customers, could have an adverse effect on our business, results of operations or cash flows.

In addition, if we are unable to anticipate and expand our capabilities to keep pace with changes in technology and new hardware, software and services, for example by providing the appropriate training to our account managers, technology specialists and engineers to enable them to effectively sell and deliver such new offerings to customers, our business, results of operations or cash flows could be adversely affected.

We also are dependent upon our vendor partners for the development and marketing of hardware, software and services to compete effectively with hardware, software and services of vendors whose products and services we do not currently offer or that we are not authorized to offer in one or more customer channels. To the extent that a vendor’s offering that is in high demand is not available to us for resale in one or more customer channels, and there is not a competitive offering from another vendor that we are authorized to sell in such customer channels, our business, results of operations or cash flows could be adversely impacted.

We use artificial intelligence in our business, as do certain of our business partners, and challenges with properly managing its use could result in reputational harm, competitive harm, significant unexpected expenses and legal liability, which may adversely affect our results of operations.

Our business utilizes artificial intelligence and machine learning technologies, which are offered by third parties, to add AI-based applications to our offerings. Our offerings utilize machine learning algorithms, predictive analytics, and other artificial intelligence technologies. If these artificial intelligence or machine learning models are incorrectly designed, the performance of our products, services, and business, as well as our reputation, could suffer or we could incur liability through the violation of laws or contracts to which we are a party. If we fail to deploy AI as intended, our competitors may incorporate AI technology into their products or services more successfully than we do, which may impair our ability to effectively compete in the market. In addition, market acceptance of artificial intelligence and machine learning technologies is uncertain.

Additionally, we are making, and plan to make in the future, investments in adopting artificial intelligence and machine learning technologies across our business. As a result, the integration of AI into our operations may not be successful despite expending significant time and monetary resources to attempt to do so. Our investments in deploying such technologies may be substantial and may be more expensive than anticipated.

As with many technological innovations, artificial intelligence presents risks and challenges that could affect its adoption, and therefore our business. Uncertainty in the legal regulatory regime relating to AI may require significant resources to modify and maintain business practices to comply with U.S. and non-U.S. laws, the nature of which cannot be determined at this time. Several jurisdictions around the globe, including Europe and certain U.S. states, have already proposed or enacted laws governing AI. For example, on October 30, 2023, the Biden administration issued an Executive Order to, among other things, establish extensive new standards for AI safety and security. Other jurisdictions may decide to adopt similar or more restrictive legislation that may render the use of such technologies challenging. These obligations may make it harder for us to conduct our business using AI, lead to regulatory fines or penalties, require us to change our product offerings or business practices, or prevent or limit our use of AI. If we cannot use AI, or that use is restricted, our business may be less efficient, or we may be at a competitive disadvantage. Any of these factors could adversely affect our business, financial condition, and results of operations.

15

Substantial competition could reduce our market share and may negatively affect our business.

The direct marketing industry and the computer products retail business, in particular, are highly competitive. We compete with other national solutions providers of hardware and software and computer related products, including CDW Corporation and Insight Enterprises, Inc., who are the current leaders in the space. Certain hardware and software vendors, such as Apple, Dell Inc., Lenovo, and HP Inc., who provide products to us, also sell their products directly to end users through their own direct sales force, catalogs, stores, and via the Internet. We also compete with computer retail stores and websites, who are increasingly selling to business customers and may become a significant competitor, including e-tailers, such as Amazon, with more extensive commercial online networks. As we continue to expand and mature our AI services, we compete with other companies that develop and deliver on bespoke AI projects, such as Palantir and Scale.ai. We compete not only for customers, but also for advertising support from IT product manufacturers. Some of our competitors have larger customer bases and greater financial, marketing, and other resources than we do. In addition, some of our competitors offer a wider range of products and services than we do and may be able to respond more quickly to new or changing opportunities, technologies, and customer requirements. Many current and potential competitors also have greater name recognition, engage in more extensive promotional activities, and adopt pricing policies that are more aggressive than ours. We expect competition to increase as retailers and solution providers who have not traditionally sold computers and related products enter the industry.

In addition, product resellers and national solutions providers are combining operations or acquiring or merging with other resellers and national solutions providers to increase efficiency. Moreover, current and potential competitors have established or may establish cooperative relationships among themselves or with third parties to enhance their products and services. Accordingly, it is possible that new competitors or alliances among competitors may emerge and acquire significant market share. We may not be able to continue to compete effectively against our current or future competitors. If we encounter new competition or fail to compete effectively against our competitors, our business market share, results of operations or cash flows may be adversely impacted.

We face and will continue to face significant price competition, which could result in a reduction of our profit margins.

Generally, pricing is very aggressive in our industry, and we expect pricing pressures to escalate should economic conditions deteriorate or inflationary pressures increase in excess of the amounts our customers are willing to pay. An increase in price competition could result in a reduction of our profit margins. We may not be able to offset the effects of price reductions with an increase in the number of customers we serve, higher sales to existing customers, cost reductions, or otherwise. Such pricing pressures could result in the erosion of our market share, reduced sales, and reduced operating margins, any of which could have a material adverse effect on our business, financial position, results of operations, and cash flows.

Inflation may adversely impact our business, financial condition and results of operations.

Inflation has the potential to adversely affect our business, financial condition and results of operations by increasing our overall cost structure, including cost of products and selling, general and administrative, or SG&A, expenses. In an inflationary environment, we may be unable to raise the prices of our products sufficiently to keep up with the rate of inflation, which would reduce our profit margins and cash flows. Other inflationary pressures could affect wages, and other inputs and our ability to meet our customer demand. Inflation may further exacerbate other risk factors, including supply chain disruptions, the recruitment and retention of qualified employees.

16

The interruption of the flow of products from suppliers could disrupt our supply chain.

Our business depends on the timely supply of products in order to meet the demands of our customers. Manufacturing interruptions or delays, including as a result of the financial instability or bankruptcy of manufacturers, significant labor disputes such as strikes, armed conflicts, natural disasters, political or social unrest, pandemics or other public health crises, or other adverse occurrences affecting any of our suppliers’ facilities, could disrupt our supply chain. We could experience product constraints due to the failure of suppliers to accurately forecast customer demand, or to manufacture sufficient quantities of product to meet customer demand (including as a result of shortages of product components), among other reasons. Additionally, the relocation of key distributors utilized in our purchasing model could increase our need for, and the cost of, working capital and have an adverse effect on our business, results of operations or cash flows.

Our supply chain is also exposed to risks related to international operations. While we purchase our products primarily in the markets we serve (for example, products for US customers are sourced in the US), our vendor partners manufacture or purchase a significant portion of the products we sell outside of the US, primarily in Asia. Political, social or economic instability in Asia, or in other regions in which our vendor partners purchase or manufacture the products we sell, could cause disruptions in trade, including exports to the US. Other events related to international activities that could cause disruptions to our supply chain include:

the imposition of additional trade law provisions or regulations, the adoption or expansion of trade restrictions, including new or expanded economic sanctions in response to the ongoing conflicts between Russia and Ukraine and in the Middle East;

the imposition of additional duties, tariffs and other charges on imports and exports, including any resulting retaliatory tariffs or charges and any reductions in the production of products subject to such tariffs and charges;

foreign currency fluctuations; and

restrictions on the transfer of funds.

We cannot predict whether the countries in which the products we sell, or any components of those products, are purchased or manufactured will be subject to new or additional trade restrictions or sanctions imposed by the United States or foreign governments, including the likelihood, type or effect of any such restrictions. Trade restrictions, including new or increased tariffs or quotas, embargoes, sanctions, safeguards and customs restrictions against the products we sell, could increase the cost or reduce the supply of product available to us and adversely affect our business, results of operations or cash flows. In addition, our supply chain and our cost of goods also may be negatively impacted by unanticipated price increases due to factors such as inflation, including wage inflation, or to supply restrictions beyond our control or the control of our suppliers.

Failure to provide high quality services to our clients could adversely affect our reputation, brand, business, results of operations or cash flows.

Our services include end-to-end technical configuration services related to the design, configuration, and implementation of IT solutions as well as warranties. In addition, we deliver and manage mission critical software, systems and network solutions for our customers. We also offer certain services, such as asset assessment, implementation, maintenance, and disposal services, to our customers through various third-party service providers engaged to perform these services on our behalf. If we or our third-party service providers fail to provide high quality services to our customers or such services result in an unplanned disruption of our customers’ businesses, this could, among other things, result in legal claims and proceedings and liability for us. As we expand our services and solutions offerings and provide increasingly complex services and solutions, we may be exposed to additional operational, regulatory and other risks. We could also incur liability for failure to comply with the rules and regulations applicable to new services and solutions we provide to our customers. The occurrence of any such failure could adversely affect our reputation, brand, business, results of operations or cash flows.

17

General economic and political conditions, including unfavorable conditions in a business or industry sector, may lead our clients to delay or forgo investments in IT hardware, software and services.

Our business has been affected by changes in economic conditions that are outside of our control, including reductions in business investment, loss of consumer confidence, and fiscal uncertainty. Weak economic conditions generally or any broad-based reduction in IT spending would further adversely affect our business, operating results and financial condition. A prolonged slowdown in the global economy, including the possibility of recession or financial market instability or similar crisis, or in a business or industry sector, or the tightening of credit markets, could cause our clients to have difficulty accessing capital and credit sources, delay contractual payments, or delay or forgo decisions to upgrade or add to their existing IT environments, license new software or purchase products or services (particularly with respect to discretionary spending for hardware, software and services). For example, our customers exercised greater caution and selectivity with their short-term IT investment plans during 2023, which resulted in lower than anticipated sales across our customer base. Such events have in the past had and may in the future have a material adverse effect on our business, financial condition and results of operations. Economic or industry downturns could result in longer payment cycles, increased collection costs and defaults in excess of our expectations. A significant deterioration in our ability to collect on accounts receivable could also impact the cost or availability of financing under our credit facility.

Moreover, an adverse change in government spending policies (such as budget cuts or limitations or temporary shutdowns of government operations), shifts in budget priorities or reductions in revenue levels, could cause our Public Sector Solutions customers to reduce or delay their purchases or to terminate or not renew their contracts with us, which could adversely affect our business, results of operations or cash flows. These possible actions or the adoption of new or modified procurement regulations or practices could have a material adverse effect on our business, financial position and results of operations.

Worldwide economic conditions and market volatility as a result of political leadership in certain countries and other disruptions to global and regional economies and markets, including continuing increases in inflation and interest rates, the possibility of recession, or financial market instability, may impact future business activities. External factors, such as potential terrorist attacks, acts of war, geopolitical and social turmoil or epidemics and other similar outbreaks in many parts of the world, could prevent or hinder our ability to do business, increase our costs and negatively affect our stock price. More generally, these geopolitical, social and economic conditions could result in increased volatility in the United States and worldwide in financial markets and in the economy, as well as other adverse impacts. For example, on February 24, 2022, Russian forces launched significant military actions against Ukraine, and sustained conflict and disruption in the region remains ongoing. Potential impacts related to the conflict include further market disruptions, including significant volatility in commodity prices, credit and capital markets, supply chain and logistics disruptions, adverse global economic conditions resulting from escalating domestic and geopolitical tensions, volatility and fluctuations in foreign currency exchange rates and interest rates, inflationary pressures on raw materials and heightened cybersecurity threats, all of which could adversely impact our business.

18

We acquire a majority of our products for resale from a limited number of vendors. The loss of any one of these vendors could have a material adverse effect on our business.

We acquire a majority of our products for resale from a limited number of vendors. The loss of any one of these vendors could have a material adverse effect on our business. We acquire products for resale both directly from manufacturers and increasingly indirectly through distributors and other sources. Although we purchase from a diverse vendor base, product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Microsoft Corporation accounted for approximately 21%, 19%, and 11%, respectively, of our total product purchases in 2023. No other singular vendor supplied more than 10% of our total product purchases in the year 2023. If we are unable to acquire products, or if we experienced a change in business relationship with any of these vendors, we could experience a short-term disruption in the availability of products, and such disruption could have a material adverse effect on our results of operations and cash flows.

Products manufactured by Microsoft Corporation, HP Inc., and Dell Inc. represented approximately 15%, 13%, and 11%, respectively, of our total product purchases in 2023. No other singular product manufacturer produced more than 10% of our total product purchases in the year 2023. We believe that in the event we experience either a short-term or permanent disruption of supply of Microsoft Corporation, HP Inc., or Dell Inc. products, such disruption would likely have a material adverse effect on our results of operations and cash flows.

We typically do not have long-term contracts with our vendor partners. As such, substantially all of these arrangements with partners are easily terminable, and there can be no assurance that manufacturers and publishers will continue to sell or will not limit or curtail the availability of their product to resellers like us. Most of our product vendors provide us with trade credit, of which the amount outstanding at December 31, 2023 was $263.7 million. Termination, interruption, or contraction of relationships with our vendors, including a reduction in the level of trade credit provided to us, could have a material adverse effect on our financial position.

Some product manufacturers either do not permit us to sell the full line of their products or limit the number of product units available to national solutions providers such as us. An element of our business strategy is to continue increasing our participation in first-to-market purchase opportunities. The availability of certain desired products, especially in the direct marketing channel, has been constrained in the past due to these limits imposed by product manufacturers. We could experience a material adverse effect to our business if we are unable to source first-to-market purchases or similar opportunities, or if significant availability constraints reoccur.

Virtualization of IT resources and applications, including networks, servers, applications, and data storage may disrupt or alter our traditional distribution models.

Our customers can access, through a cloud-based platform, business-critical solutions without the significant initial capital investment required for dedicated infrastructure. Growing demand for the development of cloud-based and other virtual services including SaaS, IaaS, PaaS, DaaS, and other emerging technologies, including IoT and AI, may reduce the demand for products and services we sell to our customers. Cloud offerings may influence our customers to move workloads to cloud providers, which may reduce the procurement of products and services from us. Changes in the IT industry may also affect the demand for our advanced professional and managed services. We have invested a significant amount of capital in our strategy to provide certain products and services, and this strategy may adversely impact our financial position due to competition or changes in the industry or improper focus or selection of the products and services we decide to offer. If we fail to react in a timely manner to such changes, our results of operations may be adversely affected. Our sales can be dependent on demand for specific product categories, and any change in demand for or supply of such products could have a material adverse effect on our results of operations.

The methods of distributing IT products are changing, and such changes may negatively impact us and our business.

The manner in which IT hardware and software is distributed and sold is changing, and new methods of distribution and sale have emerged, including distribution through cloud-based and other virtual solutions. In addition, hardware and software manufacturers have sold, and may intensify their efforts to sell, their products directly to end users. From time

19

to time, certain manufacturers have instituted programs for the direct sales of large order quantities of hardware and software to certain major corporate accounts. These types of programs may continue to be developed and used by various manufacturers. Some of our vendors, including Apple, Dell Inc., HP Inc., and Lenovo, currently sell some of their products directly to end users and have stated their intentions to increase the level of such direct sales. In addition, manufacturers may attempt to increase the volume of software products distributed electronically to end users. An increase in the volume of products sold through or used by consumers of any of these competitive programs, or our inability to effectively adapt our business to increased electronic distribution of products and services to end users could have a material adverse effect on our results of operations.

We depend heavily on third-party shippers to deliver our products to customers and would be adversely affected by a service interruption by these shippers.

Many of our customers elect to have their purchases shipped by an interstate common carrier, such as United Parcel Service, Inc., or UPS, or FedEx Corporation. A strike or other interruption in service, including, among other things, inclement weather experienced could adversely affect our ability to market or deliver products to customers on a timely basis.

We may experience increases in shipping and postage costs, which may adversely affect our business if we are not able to pass such increases on to our customers.

Shipping costs are a significant expense in the operation of our business. Increases in postal or shipping rates could significantly impact the cost of shipping customer orders and mailing our catalogs. Postage prices and shipping rates increase periodically, and we have no control over future increases. We have a long-term contract with UPS and believe that we have negotiated favorable shipping rates with our carriers. While we generally invoice customers for shipping and handling charges, we may not be able to pass on to our customers the full cost, including any future increases in the cost, of commercial delivery services, which would adversely affect our business.

We may experience a reduction in the incentive programs offered to us by our vendors.

Some product manufacturers and distributors provide us with incentives such as supplier reimbursements, payment discounts, price protection, rebates, and other similar arrangements. The increasingly competitive technology reseller market has already resulted in the following:

reduction or elimination of some of these incentive programs;

more restrictive price protection and other terms; and

reduced advertising allowances and incentives.

Many product suppliers provide us with advertising allowances, and in exchange, we feature their products on our website and in other marketing vehicles. These vendor allowances, to the extent that they represent specific reimbursements of incremental and identifiable costs, are offset against SG&A expenses. Advertising allowances that cannot be associated with a specific program funded by an individual vendor or that exceed the fair value of advertising expense associated with that program are classified as offsets to cost of sales or inventory. In the past, we have experienced a decrease in the level of vendor consideration available to us from certain manufacturers. The level of such consideration we receive from some manufacturers may decline in the future. Such a decline could decrease our gross profit and have a material adverse effect on our earnings and cash flows.

Should our financial performance not meet expectations, we may be required to record a significant charge to earnings for impairment of goodwill and other intangibles.

We test goodwill for impairment each year and more frequently if potential impairment indicators arise. Although the fair value of our Enterprise Solutions and Business Solutions reporting units exceeded their carrying value at our annual impairment test, should the financial performance of a reporting unit not meet expectations due to the economy or

20

otherwise, we would likely adjust downward expected future operating results and cash flows. Such adjustment may result in a determination that the carrying value of goodwill and other intangibles for a reporting unit exceeds its fair value. This determination may in turn require that we record a significant non-cash charge to earnings to reduce the $73.6 million aggregate carrying amount of goodwill held by our Enterprise Solutions and Business Solutions reporting units, resulting in a negative effect on our results of operations.

We are exposed to inventory obsolescence due to the rapid technological changes occurring in the IT industry.

The market for IT products is characterized by rapid technological change and the frequent introduction of new products and product enhancements. Our success depends in large part on our ability to identify and market products that meet the needs of customers in that marketplace. In order to satisfy customer demand and to obtain favorable purchasing discounts, we have and may continue to carry increased inventory levels of certain products. By doing so, we are subject to the increased risk of inventory obsolescence. Also, in order to implement our business strategy, we intend to continue, among other things, placing larger than typical inventory stocking orders of selected products and increasing our participation in first-to-market purchase opportunities. We may also, from time to time, make large inventory purchases of certain end-of-life products, which would increase the risk of inventory obsolescence. In addition, we sometimes acquire special purchase products without return privileges. For these and other reasons, we may not be able to avoid losses related to obsolete inventory. Manufacturers have limited return rights and have taken steps to reduce their inventory exposure by supporting “configure-to-order” programs authorizing distributors and resellers to assemble computer hardware under the manufacturers’ brands. These actions reduce the costs to manufacturers and shift the burden of inventory risk to resellers like us, which could negatively impact our business.

We are exposed to accounts receivable risk and if customers fail to timely pay amounts due to us, our results of operations and/or cash flows could be adversely affected.

We extend credit to our customers for a significant portion of our net sales, typically on 30-day payment terms. We are subject to the risk that our customers may not pay for the products they have purchased or may pay at a slower rate than we have historically experienced. This risk is heightened during periods of global or industry-specific economic downturn or uncertainty, during periods of rising interest rates or, in the case of public sector customers, during periods of budget constraints. Any significant deterioration in our customers’ credit quality could, therefore, have a material adverse effect on our business, results of operations and financial condition.

Customer default risk is influenced by a number of factors outside of our control, including our customers’ financial strength, overall demand for our customers’ products and general macroeconomic conditions. Customers may also initiate payment disputes, including as a result of dissatisfaction with the product, IT solution or service they have purchased from us. We have established provisions for losses of receivables. However, actual losses on customer receivables could differ from those that we currently anticipate and, as a result, we may have to increase our provisions which may have a material adverse effect on our results of operations and financial condition.

We are dependent on key personnel and, more generally, skilled personnel in all areas of our business and the loss of key persons or the inability to attract, train and retain qualified personnel could adversely impact our business.

Our future performance will depend to a significant extent upon the efforts and abilities of our senior executives and other key management personnel. The current environment for qualified management personnel in the computer products industry is very competitive, and the loss of service of one or more of these persons could have an adverse effect on our business. Our success and plans for future growth will also depend on our ability to hire, train, and retain skilled personnel in all areas of our business, especially sales representatives and technical support personnel. Our inability to hire, retain, train and redeploy our professionals to successfully drive our business and keep up with ever-changing technologies, could limit our ability to meet our customers’ needs and attract new customers and jeopardize our competitive position. In addition, we may face wage inflation in the future, in particular due to the strong competition for qualified personnel in our sector. Failure to pass on these cost increases to our customers or mitigate the increase in wages by increasing our operational efficiency could have a material adverse effect on our profitability and results of operations.

21

We face various risks related to health epidemics, pandemics and similar outbreaks, which may have material adverse effects on our business, financial position, results of operations and/or cash flows.

We face a wide variety of risks related to health epidemics, pandemics and similar outbreaks, especially of infectious diseases. For example, the COVID-19 pandemic dramatically impacted the global health and economic environment, including millions of confirmed cases and deaths, business slowdowns or shutdowns, labor shortages, supply chain challenges, changes in government spending and requirements, regulatory challenges, inflationary pressures and market volatility. As discussed in our prior Form 10-K and Form 10-Q filings, our operations were impacted by the COVID-19 pandemic and its related economic challenges. However, we have worked hard to address and mitigate adverse impacts attributable to COVID-19, and we do not currently anticipate significant additional direct impacts from the pandemic itself on our operations. Nonetheless, we cannot predict the future course of events.

If, for example, a new health epidemic or outbreak were to occur, we likely would experience broad and varied impacts, including potentially to our workforce and supply chain, with inflationary pressures and increased costs (which may or may not be fully recoverable), schedule or production delays, market volatility and other financial impacts. If any or all of these items were to occur, we could experience adverse impacts on our overall performance, operations and financial results. Given the tremendous uncertainties and variables, we cannot at this time predict the impact of any future health epidemics, pandemics or similar outbreaks, but any one could have a material adverse effect on our business, financial position, results of operations and/or cash flows.

Risks Related to Our Technology, Data and Intellectual Property

Cyberattacks or the failure to safeguard personal information and our IT systems could result in liability and harm our reputation, which could adversely affect our business.

Our business is heavily dependent upon IT networks and systems. We have experienced attacks and attempted attacks that have generally been in the form of active intrusion attempts from the internet, passive vulnerability mapping from the internet, and internal malware and or phishing attempts delivered through user actions. Future internal or external attacks on our networks and systems could disrupt our normal operations centers and impede our ability to provide critical products and services to our customers and clients, subjecting us to liability under our contracts and damaging our reputation.

Our business also involves the use, storage and transmission of proprietary information and sensitive or confidential data, including personal information about our employees, our clients and customers of our clients. While we take measures to protect the security of, and prevent unauthorized access to, our systems and personal and proprietary information, the security controls for our systems, as well as other security practices we follow, may not prevent improper access to, or disclosure of, personally identifiable or proprietary information. Furthermore, the evolving nature of threats to data security, in light of new and sophisticated methods used by criminals and cyberterrorists, including computer viruses, malware, phishing, misrepresentation, social engineering, and forgery make it increasingly challenging to anticipate and adequately mitigate these risks. The risk of cyber incidents could also be increased by cyberwarfare in connection with the ongoing conflicts between Russia and Ukraine and in the Middle East, including potential proliferation of malware from the conflict into systems unrelated to the conflict.

Breaches in security could expose us, our supply chain, our customers or other individuals to significant disruptions, a risk of public disclosure, loss or misuse of this information. Security breaches could result in legal claims or proceedings, liability or regulatory penalties under laws protecting the privacy of personal information, as well as the loss of existing or potential customers and damage to our brand and reputation. Moreover, media or other reports of perceived vulnerabilities in our network security or perceived lack of security within our environment, even if inaccurate, could adversely impact our reputation and materially impact our business. The cost and operational consequences of implementing further data protection measures could be significant. Such breaches, costs and consequences could adversely affect our business, results of operations, or cash flows.

22

Our business could be materially adversely affected by system failures, interruption, integration issues, or security lapses of our IT systems or those of our third-party providers.

Our ability to effectively manage our business depends significantly on our information systems and infrastructure as well as, in certain instances those of our business partners and third-party providers. The failure of our current systems to operate effectively or to integrate with other systems, including integration of upgrades to better meet the changing needs of our customers, could result in transaction errors, processing inefficiencies, and the loss of sales and customers. In addition, cybersecurity threats are evolving and include, but are not limited to, malicious software, attempts to gain unauthorized access to company or customer data, denial of service attacks, the processing of fraudulent transactions, and other electronic security breaches that could lead to disruptions in critical systems, unauthorized release of confidential or otherwise protected information, and corruption of data. In our case, these attacks and attempted attacks have generally been in the form of active intrusion attempts from the internet, passive vulnerability mapping from the internet, and internal malware and or phishing attempts delivered through user actions. Although we have in place various processes, procedures, and controls to monitor and mitigate these threats, these measures may not be sufficient to prevent a material security threat or mitigate these risks for our customers. If any of these events were to materialize, they could lead to disruption of our operations or loss of sensitive information as well as subject us to regulatory actions, litigation, or damage to our reputation, and could have a material adverse effect on our financial position, results of operations, and cash flows. Similar risks exist with respect to our business partners and third-party providers. As a result, we are subject to the risk that the activities of our business partners and third-party providers may adversely affect our business even if an attack or breach does not directly impact our systems.

We are reliant on the continued development of electronic commerce and Internet infrastructure development to grow our overall sales.

We continue to have increasing levels of sales made through our e-commerce sites. The on-line experience for our clients continues to improve, but the competitive nature of the e-commerce channel also continues to increase. Growth of our overall sales is dependent on customers continuing to expand their on-line purchases in addition to traditional channels to purchase products and services. We cannot accurately predict the rate at which on-line purchases will expand.

Our success in growing our Internet business will depend in large part upon our development of an increasingly sophisticated e-commerce experience and infrastructure. Increasing customer sophistication requires that we provide additional website features and functionality in order to be competitive in the marketplace and maintain market share. We will continue to iterate our website features, but we cannot predict future trends and required functionality or our adoption rate for customer preferences. As the number of on-line users continues to grow, such growth may impact the performance of our existing Internet infrastructure, which would adversely impact our business.

We could experience Internet and other system failures which would interfere with our ability to process orders.

We depend on the accuracy and proper use of our management information systems, including our telephone system. Many of our key functions depend on the quality and effective utilization of the information generated by our management information systems, including:

our ability to purchase, sell, and ship products efficiently and on a timely basis;

our ability to manage inventory and accounts receivable collection; and

our ability to maintain our operations.

Our management information systems require continual upgrades to effectively manage our operations and customer database. Although we maintain some redundant systems, with full data backup, a significant component of our computer and telecommunications hardware is located in a single facility in New Hampshire, and a substantial interruption in our management information systems or in our telephone communication systems, including those resulting from extreme weather and natural disasters, as well as power loss, telecommunications failure, or similar

23

events, would substantially hinder our ability to process customer orders and thus could have a material adverse effect on our business.

Privacy concerns with respect to list development and maintenance may materially adversely affect our business.

We mail catalogs and other promotional materials to names in our customer database and to potential customers whose names we obtain from rented or exchanged mailing lists. Public concern regarding the protection of personal information has subjected the rental and use of customer mailing lists and other customer information to increased scrutiny. Legislation enacted limiting or prohibiting the use of rented or exchanged mailing lists could negatively affect our business.

Risks Related to Regulatory and Legal Matters

We are exposed to risks from legal proceedings and audits, which may result in substantial costs and expenses or interruption of our normal business operations.

We are party to various legal proceedings that arise in the ordinary course of our business, which include commercial, employment, tort and other litigation.

We are subject to intellectual property infringement claims against us from time to time in the ordinary course of our business, either because of the products and services we sell or the business systems and processes we use to sell such products and services, in the form of cease-and-desist letters, licensing inquiries, lawsuits and other communications and demands. In our industry, such intellectual property claims have become more frequent as the complexity of technological products and the intensity of competition in our industry have increased. Increasingly, many of these assertions are brought by non-practicing entities whose principal business model is to secure patent licensing revenue, but we may also be subject to demands from inventors, competitors or other patent holders who may seek licensing revenue, lost profits and/or an injunction preventing us from engaging in certain activities, including selling certain products or services.

We also are subject to proceedings, investigations and audits by federal, state, international, national, provincial and local authorities, including as a result of our sales to governmental entities. We also are subject to audits by various vendor partners and large customers, including government agencies, relating to purchases and sales under various contracts. In addition, we are subject to indemnification claims under various contracts.

Current and future litigation, infringement claims, governmental proceedings and investigations, audits or indemnification claims that we face may result in substantial costs and expenses and significantly divert the attention of our management regardless of the outcome. In addition, these matters could lead to increased costs or interruptions of our normal business operations. Litigation, infringement claims, governmental proceedings and investigations, audits or indemnification claims involve uncertainties and the eventual outcome of any such matter could adversely affect our business, results of operations or cash flows.

The failure to comply with our public sector contracts could result in, among other things, fines or liabilities.

Revenues from the Public Sector Solutions segment are derived from sales to federal, state, and local government departments and agencies, as well as to educational institutions, through various contracts and open market sales. Government contracting is a highly regulated area. Noncompliance with government procurement regulations or contract provisions could result in civil, criminal, and administrative liability, including substantial monetary fines or damages, termination of government contracts, and suspension, debarment, or ineligibility from doing business with the government. Our current arrangements with these government agencies allow them to cancel orders with little or no notice and do not require them to purchase products from us in the future. The effect of any of these possible actions by any government department or agency could adversely affect our financial position, results of operations, and cash flows.

24

We face uncertainties relating to the collection of state sales and use tax.

We collect and remit sales and use taxes in states in which we have either voluntarily registered or have a physical presence. Various states have sought to impose on direct marketers the burden of collecting state sales and use taxes on the sales of products shipped to their residents. Many states have adopted rules that require companies and their affiliates to register in those states as a condition of doing business with those state agencies. Our three sales companies are registered in substantially all states, however, if a state were to determine that our earlier contacts with that state exceeded the constitutionally permitted contacts, the state could assess a tax liability relating to our prior year sales.

Risks Related to Our Common Stock

Our common stock price may be volatile and may decline regardless of our operating performance, and holders of our common stock could lose a significant portion of their investment.

The market price for our common stock may be volatile. Our stockholders may not be able to resell their shares of common stock at or above the price at which they purchased such shares, due to fluctuations in the market price of our common stock, which may be caused by a number of factors, many of which we cannot control, including the risk factors described in this Annual Report on Form 10-K and the following:

changes in financial estimates by any securities analysts who follow our common stock, our failure to meet these estimates or failure of securities analysts to maintain coverage of our common stock;

downgrades by any securities analysts who follow our common stock;

future sales of our common stock by our officers, directors and significant stockholders;

market conditions or trends in our industry or the economy as a whole;

investors’ perceptions of our prospects;

announcements by us or our competitors of significant contracts, acquisitions, joint ventures or capital commitments; and

changes in key personnel.

In addition, the stock markets have experienced extreme price and volume fluctuations that have affected and continue to affect the market prices of equity securities of many companies, including companies in our industry. In the past, securities class action litigation has followed periods of market volatility. If we were involved in securities litigation, we could incur substantial costs, and our resources and the attention of management could be diverted from our business.

In the future, we may also issue our securities in connection with investments or acquisitions. The number of shares of our common stock issued in connection with an investment or acquisition could constitute a material portion of our then-outstanding shares of our common stock and depress our stock price.

25

We are controlled by one principal stockholder.

Patricia Gallup, our principal stockholder, beneficially owned or controlled, in the aggregate, approximately 55% of the outstanding shares of our common stock as of December 31, 2023. Because of her beneficial stock ownership, the stockholder can continue to elect the members of the Board of Directors and decide all matters requiring stockholder approval at a meeting or by a written consent in lieu of a meeting. Similarly, such stockholder can control decisions to adopt, amend, or repeal our charter and our bylaws, or take other actions requiring the vote or consent of our stockholders and prevent a takeover of us by one or more third parties, or sell or otherwise transfer their stock to a third party, which could deprive our stockholders of a control premium that might otherwise be realized by her in connection with an acquisition of our Company. Such control may result in decisions that are not in the best interest of our unaffiliated public stockholders.

Item 1B. Unresolved Staff Comments

None.

Item 1C. Cybersecurity

Cybersecurity Risk Management and Strategy

We have established processes, procedures, and controls to identify, manage, assess, and mitigate material risks from cybersecurity threats which are designed to help protect our information assets and operations from internal and external cyber threats by understanding and seeking to manage risk while ensuring business resiliency, protecting employee and customer information from unauthorized access or attack, and securing our networks, systems, devices, products, and services, or our Cybersecurity Risk Mitigation Practices. We conduct tests on our systems and incident simulations to help discover potential vulnerabilities and ensure the effectiveness of our Cybersecurity Risk Mitigation Practices. We engage external parties, including consultants, independent privacy assessors, computer security firms, and risk management and governance experts, to enhance our cybersecurity oversight. We also regularly consult with industry groups on emerging industry trends. In order to oversee and identify risks from cybersecurity threats associated with our use of third-party service providers, we have a third-party risk management program designed to help protect against the misuse of information technology by third parties and business partners.

As of the date of this Annual Report Form 10-K, we are not aware of any cybersecurity threats that have materially affected or are reasonably likely to materially affect us, including our business strategy, results of operations, or financial condition. However, as discussed under “Item 1A. Risk Factors,” specifically the risks titled “Cyberattacks or the failure to safeguard personal information and our IT systems could result in liability and harm our reputation, which could adversely affect our business” and “Our business could be materially adversely affected by system failures, interruption, integration issues, or security lapses of our IT systems or those of our third-party providers,” the sophistication of cyber threats continues to increase, and the preventative actions we take to reduce the risk of cyber incidents and protect our systems and information may be insufficient. Accordingly, no matter how well our controls are designed or implemented, we will not be able to anticipate all security breaches, and we may not be able to implement effective preventive measures against such security breaches in a timely manner.

Cybersecurity Governance and Oversight

Our Cybersecurity Risk Mitigation Practices are managed on a day-to-day basis by members of our Information Security Steering Committee, or the Committee, and are overseen by our Board of Directors. The Committee is composed of senior management, including our Chief Information Officer and Chief Financial Officer, and senior vice presidents from various areas of the organization including IT, compliance, legal, operations and human resources, including the Vice President of Information Security and Compliance. The Vice President of Information Security and Compliance has over 40 years of IT experience and is a certified information systems security professional.

As part of the administration of our Cybersecurity Risk Mitigation Practices, the Committee is tasked with managing and mitigating our exposure to cybersecurity threats, creating our cybersecurity policies, and establishing short and long-

26

term cybersecurity goals and objectives that are designed to protect our information systems. The Committee is also responsible for planning ordinary course security projects and initiatives aimed at ensuring that our organizational leaders are informing our employees about our cybersecurity policies and about cybersecurity basic practices. On a periodic basis, the Committee meets to review the performance and effectiveness of our Cybersecurity Risk Mitigation Practices.

Members of the Committee will present the results of the periodic performance and effectiveness review to our Board of Directors, who oversee our risk management processes directly and through its committees. These results, along with other cybersecurity topics including updates on previously identified material cybersecurity threats or incidents, are presented at regularly scheduled meetings. Members of the Committee will also notify our Board of Directors between such meetings regarding significant new cybersecurity threats or incidents.

Item 2. Properties

In December 1997, we entered into a lease agreement for our corporate headquarters located at 730 Milford Road, Merrimack, New Hampshire 03054-4631, with an affiliated company, G&H Post, which is related to us through common ownership, or the Merrimack lease. The Merrimack lease was most recently amended in May 2014 to, among other things, extend the expiration date of the lease to November 2023. We have continued to occupy our corporate headquarters following the expiration of the lease and make rent payments to G&H Post in the amount provided for in the amended Merrimack lease. We have also continued to pay the real estate taxes, insurance, and common area maintenance charges which were required under the Merrimack lease.

We also entered into a lease for an office facility adjacent to our corporate headquarters in August 2008 from the same affiliated company, G&H Post, or the Second Merrimack lease, which is used by our Public Sector Solutions Segment. The Second Merrimack lease included an initial term of ten years and provided us two options to extend the term of the Second Merrimack lease each for an additional two years. We exercised both options to extend the Second Merrimack lease, extending the lease until July 2022. Following the expiration of the Second Merrimack lease, we have continued to occupy the office facility adjacent to our corporate headquarters and make rent payments to G&H Post in the amount provided for in the Second Merrimack lease. We also have continued to pay the real estate taxes, common area maintenance charges, and insurance premiums which were required under the Second Merrimack lease.

We lease a facility in Wilmington, Ohio, which houses our distribution and order fulfillment operations and services all three of our operating segments. We also operate sales and support offices throughout the United States and lease facilities at these locations. These leased facilities are utilized by all three of our operating segments. Leasehold improvements associated with these properties are amortized over the terms of the leases or their useful lives, whichever is shorter. We believe that our physical properties will be sufficient to support our anticipated needs through the next twelve months and beyond.

Item 3. Legal Proceedings

From time to time and in the ordinary course of business, we are subject to various legal proceedings and claims. While we are unable to predict the outcome of these matters, we do not believe, based upon currently available facts, that the ultimate resolution of any such pending matters will have a material adverse effect on our overall financial condition, results of operations, or cash flows.

Item 4. Mine Safety Disclosures

Not applicable.

27

PART II

Item 5. Market for the Registrant’s Common Equity, Related Stockholder Matters, and Issuer Purchases of Equity Securities

Market Information

Our common stock commenced trading on March 3, 1998, on the Nasdaq Global Select Market and trades today under the symbol “CNXN”. As of February 15, 2024, there were 26,361,133 shares of our common stock outstanding, held by approximately 37 stockholders of record. This figure does not include an estimate of the number of beneficial holders whose shares are held of record by brokerage firms.

Dividends

The following table summarizes our 2023 quarterly dividends paid (in millions, except per share data):

Dividend per Share

    

Declaration Date

    

Record Date

    

Payment Date

    

Total Dividend

$

0.08

February 9, 2023

February 21, 2023

March 10, 2023

$

2.1

$

0.08

May 4, 2023

May 16, 2023

June 2, 2023

$

2.1

$

0.08

August 2, 2023

August 15, 2023

September 1, 2023

$

2.1

$

0.08

October 31, 2023

November 14, 2023

December 1, 2023

$

2.1

On February 14, 2024, we announced that our Board of Directors declared a quarterly cash dividend on our common stock of $0.10 per share. The dividend will be paid on March 15, 2024 to all stockholders of record as of the close of business on February 27, 2024. The declaration and payment of any future dividends is at the discretion of our Board of Directors and will depend upon our financial position, strategic plans, general business conditions and any other factors deemed relevant by our ‎Board of Directors.

28

Stock Performance Graph

The following performance graph and related information shall not be deemed “soliciting material” or to be “filed” with the SEC, nor shall such information be incorporated by reference into any future filing under the Securities Act of 1933 (the “Securities Act”) or the Exchange Act, each as amended, except to the extent that we specifically incorporate it by reference into such filing.

The following graph compares our annual percentage change in cumulative total return on shares of our common stock over the past five years with the cumulative total return of companies comprising the NASDAQ Composite Index and the NASDAQ US Benchmark TR Index. This presentation assumes that $100 was invested in shares of the relevant issuers on December 31, 2018, and that dividends received were immediately invested in additional shares of our common stock. The graph plots the value of the initial $100 investment at one-year intervals for the fiscal years shown. The NASDAQ US Benchmark TR Index replaces the NASDAQ US Benchmark Retail TR Index in this analysis and going forward, as we determined that this index is a more accurate representation of our peers. The NASDAQ US Benchmark Retail TR Index has been included with this analysis for 2023.

Graphic

 

Base Period

Years Ended

 

Company Name / Index

    

Dec-18

    

Dec-19

    

Dec-20

    

Dec-21

    

Dec-22

    

Dec-23

 

PC Connection, Inc.

 

100.00

 

168.05

160.01

150.02

164.12

236.74

Nasdaq Stock Market-Composite

 

100.00

 

136.69

198.10

242.03

163.28

236.17

Nasdaq US Benchmark TR Index

 

100.00

 

131.17

159.07

200.26

160.75

203.23

Nasdaq US Benchmark Retail TR Index

 

100.00

 

125.41

177.06

210.50

143.12

197.92

Item 6. [Reserved]

29

Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations

The following Management’s Discussion and Analysis of Financial Condition and Results of Operations, or MD&A, is intended to promote an understanding of our results of operations and financial condition. MD&A is provided as a supplement to, and should be read in conjunction with, our consolidated financial statements and the accompanying notes thereto included in Part II, Item 8 of this Annual Report on Form 10-K. This section discusses the results of operations for the year ended December 31, 2023 and year-to-year comparison between the year ended December 31, 2023 and the year ended December 31, 2022. Discussion of the year ended December 31, 2022 and the year-to-year comparison between the year ended December 31, 2022 and the year ended December 31, 2021 can be found in Part II, Item 7 “Management’s Discussions and Analysis of Financial Condition and Results of Operations” of our Annual Report on Form 10-K for the year ended December 31, 2022. Our MD&A also includes discussion of certain forward-looking trends and other statements that predict or anticipate future business or financial results that are subject to important factors that could cause our actual results to differ materially from those indicated. See “Cautionary Note Concerning Forward-Looking Statements” and “Item 1A. Risk Factors.”

OVERVIEW

We are a Fortune 1000 Global Solutions Provider that simplifies the IT customer experience, guiding the connection between people and technology. Our dedicated account managers partner with customers to design, deploy, and support cutting-edge IT environments using the latest hardware, software, and services. We provide a wide range of IT solutions, from the desktop to the cloud—including computer systems, data center solutions, software and peripheral equipment, networking communications, and other products and accessories that we purchase from manufacturers, distributors, and other suppliers. In 2023, we restructured and combined our Technology Solutions Group and Technical Sales Organization into one organization to be referred to as our TSO. Our TSO and state-of-the-art TIDC, with ISO 9001:2015 certified technical configuration lab offer end-to-end services related to the design, configuration, and implementation of IT solutions. Our team also provides a comprehensive portfolio of managed services and professional services. These services are performed by our personnel and by third-party providers. Our GlobalServe offering ensures worldwide coverage for our multinational customers, delivering global procurement solutions through our network of in-country suppliers in over 150 countries.

The “Connection®” brand includes Connection Enterprise Solutions, Connection Business Solutions, and Connection Public Sector Solutions, which provide IT solutions and services to enterprise, SMBs, and public sector markets.

Financial results for each of our segments are included in the financial statements attached hereto. We generate sales through (i) outbound inside sales and field sales contacts by sales representatives focused on the business, educational, healthcare, retail, manufacturing, and government markets, (ii) our websites, and (iii) direct responses from customers responding to our advertising media. We offer a broad selection of over 460,000 products at competitive prices, including products from vendors like Apple, Cisco, Dell Inc., Hewlett-Packard Inc., Hewlett-Packard Enterprise, Intel, Lenovo, Microsoft Corporation, and VMware, and we partner with more than 2,500 suppliers. We are able to leverage our state-of-the art logistic capabilities to rapidly ship product to customers.

As a value-added reseller in the IT supply chain, we do not manufacture IT hardware or software products. We are dependent on our suppliers—manufacturers and distributors that historically have only sold to resellers rather than directly to end users. However, certain manufacturers have, on multiple occasions, sold or attempted to sell directly to our customers, and in some cases, have restricted our ability to sell their products directly to certain customers, thereby attempting to and, in some cases successfully, eliminate our role. We believe that the success of these direct sales efforts by manufacturers will depend on their ability to meet our customers’ ongoing demands and provide solutions to meet their needs. We believe more of our customers are seeking out comprehensive and integrated IT solutions, rather than the ability to acquire specific IT products on a one-off basis. Our advantage is our ability to be product-neutral and provide a broader combination of products, services, and advice tailored to our customers’ individual needs. By providing customers with customized solutions from a variety of manufacturers, we believe we can mitigate the negative impact of continued direct sales initiatives from individual manufacturers. Through the formation of our TSO, we are able to provide customers complete IT solutions, from identifying their needs, to designing, developing, and managing the

30

integration of products and services to implement their IT projects. Such service offerings carry higher margins than traditional product sales. Additionally, the technical certifications of our service engineers permit us to offer higher-end, more complex products that generally carry higher gross margins. We expect these service offerings and technical certifications to continue to play a role in sales generation and gross margin improvements in this competitive environment.

The primary challenges we continue to face in effectively managing our business are (1) increasing our product and service revenues while at the same time improving our gross margin in all three segments, (2) recruiting, retaining, and improving the productivity of our sales and technical support personnel, and (3) effectively controlling our SG&A expenses while making major investments in our IT systems and solution selling personnel, especially in relation to changing revenue levels.

To support future growth, we have invested and expect to continue to invest in our IT solutions business, which requires the addition of highly skilled service engineers. Although we expect to realize the ultimate benefit of higher-margin service revenues under this multi-year initiative, we believe that our cost of services will increase as we add additional service engineers. If our service revenues do not grow enough to offset the cost of these headcount additions, our operating results may be negatively impacted.

Market conditions and technology advances significantly affect the demand for our products and services. Virtual delivery of software products and advanced Internet technology providing customers enhanced functionality have substantially increased customer expectations, requiring us to invest on an ongoing basis in our own IT infrastructure to meet these new demands.

Our investments in IT infrastructure are designed to enable us to operate more efficiently and provide our customers enhanced functionality.

Trends and Key Factors Affecting our Financial Performance

As the AI market continues to evolve, it is difficult to predict and forecast its potential impact on our business and results of operations in the future. We may be required to make significant investments to keep up with increasing competition surrounding AI. Additionally, potential issues with the AI products we sell could have an adverse effect on our business and results of operations in the future.

Inflation due to, among other things, higher interest rates and the uncertain economic environment, impacts product costs and wages. The increased product costs and wages due to inflation may adversely affect our business, financial condition and results of operations. If product costs and wages increase significantly or for an extended period of time, we may not be able to adjust prices to sufficiently offset the effect of the various cost increases without negatively impacting customer demand.

The Federal Reserve increased interest rates in 2023, but it is anticipated that interest rates will remain steady and potentially decrease in 2024. Although we don’t have any borrowing under our credit facility, should we need to borrow in the future, we may be exposed to high interest rates. Additionally, if interest rates were to decrease, our interest income on our cash equivalents and short-term investments would also decrease.

31

RESULTS OF OPERATIONS

The following table sets forth information derived from our statements of income expressed as a percentage of net sales for the periods indicated:

Years Ended December 31, 

 

2023

2022

    

2021

Net sales (in millions)

$

2,850.6

$

3,125.0

$

2,892.6

Gross margin

18.0

%  

16.8

%  

16.1

%

Selling, general and administrative expenses

 

14.2

 

13.0

 

12.7

Income from operations

 

3.6

 

3.9

 

3.3

Net sales of $2,850.6 million in 2023 reflected a decrease of $274.4 million compared to 2022, which was driven by lower net sales for our Enterprise Solutions and Business Solutions segments as shown in the table on page 34 of this Annual Report on Form 10-K. The decrease in net sales was primarily driven by a decrease in demand for end-point devices resulting in a decrease in net sales of notebooks/mobility of $205.2 million. Net sales of accessories, displays and sound, and desktops also decreased year-over-year, as shown in Note 2 of the Consolidated Financial Statements. Gross profit decreased year-over-year by $14.5 million as shown in the table on page 34 of this Annual Report on Form 10-K, primarily due to the decrease in net sales. Gross margin increased year-over-year by 120 basis points as shown in the above table primarily due to an increase in net sales of higher margin products, such as software and services, which are recognized on a net basis, and net/com products, relative to lower margin products, such as notebooks/mobility and desktops, as evidenced in the below product mix table. SG&A expenses remained consistent year-over-year in dollars but increased as a percentage of net sales primarily due to the decrease in net sales. Operating income decreased year-over-year both in dollars and as a percentage of net sales by $17.4 million and 60 basis points, respectively, primarily as a result of the decrease in net sales.

Sales Distribution

The following table sets forth our percentage of net sales by operating segment and product mix:

Years Ended December 31, 

 

2023

    

2022

    

2021

 

Operating Segment

Enterprise Solutions

42

%  

42

%  

43

%

Business Solutions

38

 

40

 

38

Public Sector Solutions

20

 

18

 

19

Total

100

%  

100

%  

100

%

Product Mix

Notebooks/Mobility

33

%  

37

%  

38

%

Desktops

9

10

9

Software

12

9

10

Servers/Storage

7

7

7

Net/Com Products

10

 

7

 

7

Displays and Sound

9

 

10

 

10

Accessories

11

 

13

 

12

Other Hardware/Services

9

 

7

 

7

Total

100

%  

100

%  

100

%

32

Gross Margins

The following table summarizes our overall gross margins, as a percentage of net sales, for the last three years:  

Years Ended December 31, 

 

2023

    

2022

    

2021

 

Operating Segment

Enterprise Solutions

14.9

%  

14.7

%  

14.5

%  

Business Solutions

23.0

 

20.1

 

19.2

Public Sector Solutions

14.9

 

14.4

 

13.3

Total Company

18.0

%  

16.8

%  

16.1

%  

Cost of Sales

Cost of sales includes the invoice cost of the product, direct employee and third-party cost of services, direct costs of packaging, inbound and outbound freight, and provisions for inventory obsolescence, adjusted for discounts, rebates, and other vendor allowances.

Operating Expenses

The following table reflects our most significant operating expenses for the last three years (dollars in millions):

Years Ended December 31, 

 

($ in millions)

2023

    

2022

    

2021

 

Personnel costs

$

311.6

$

308.4

$

277.8

Advertising

 

22.4

 

20.2

 

15.8

Service contracts/subscriptions

21.0

 

19.7

 

17.3

Professional fees

 

12.9

 

15.3

 

16.4

Depreciation and amortization

 

12.7

 

12.0

 

12.2

Facilities operations

 

8.2

 

8.6

 

8.3

Credit card fees

 

6.7

 

6.9

 

7.0

Other

 

10.4

 

14.5

 

13.3

Total SG&A expense

$

405.9

$

405.6

$

368.1

As a percentage of net sales

14.2

%  

13.0

%  

12.7

%

Restructuring and other charges

During the year ended December 31, 2023, we undertook actions to lower our cost structure. In connection with these initiatives, we incurred restructuring and other charges of $2.7 million for the year ended December 31, 2023. These restructuring charges were primarily related to an involuntary reduction in our headquarter workforce and included cash severance and other related termination benefits. These costs will be paid within a year of termination and any unpaid balances are included in accrued expenses and other liabilities on the consolidated balance sheets as of December 31, 2023. The Company is currently evaluating additional restructuring activities for 2024 and beyond. There were no restructuring related costs incurred for the years ended December 31, 2022 and 2021.

33

YEAR-OVER-YEAR COMPARISONS

Year Ended December 31, 2023 Compared to Year Ended December 31, 2022

Changes in net sales and gross profit by operating segment are shown in the following table (dollars in millions):

Years Ended December 31, 

 

2023

2022

 

   

% of

    

    

% of

    

$

%

 

Amount

Net Sales

Amount

Net Sales

Change

Change

 

Net Sales:

Enterprise Solutions

$

1,201.1

 

42.2

%  

$

1,324.4

 

42.4

%  

$

(123.3)

(9.3)

%

Business Solutions

1,075.6

37.7

1,245.3

39.8

(169.7)

(13.6)

Public Sector Solutions

 

573.9

 

20.1

 

555.3

 

17.8

 

 

18.6

3.3

Total

$

2,850.6

100.0

%  

$

3,125.0

100.0

%  

$

(274.4)

(8.8)

%

Gross Profit:

Enterprise Solutions

$

178.9

 

14.9

%  

$

195.1

 

14.7

%  

$

(16.2)

(8.3)

%

Business Solutions

247.1

23.0

250.9

20.1

(3.8)

(1.5)

Public Sector Solutions

 

85.7

 

14.9

 

80.2

 

14.4

 

 

5.5

7.0

Total

$

511.7

18.0

%  

$

526.2

16.8

%  

$

(14.5)

(2.7)

%

Net sales decreased by 8.8% to $2,850.6 million in 2023 from $3,125.0 million in 2022, as explained below:

Net sales of $1,201.1 million for the Enterprise Solutions segment reflect a decrease of $123.3 million, or 9.3%, year-over-year, primarily due to a decrease in demand of end-point devices. Net sales of notebooks/mobility, accessories, desktops, and displays and sound decreased year-over-year by $70.5 million, $47.0 million, $27.8 million, and $25.9 million, respectively. These decreases were partially offset by increases in net sales of net/com products, software, and other hardware/services of $26.5 million, $16.2 million, and $4.8 million, respectively.

Net sales of $1,075.6 million for the Business Solutions segment reflect a decrease of $169.7 million, or 13.6% year-over-year, primarily due to a decrease in demand of end-point devices. Net sales of notebooks/mobility, displays and sound, accessories, desktops, servers/storage, and other hardware/services decreased year-over-year by $121.3 million, $26.5 million, $21.5 million, $14.8 million, $13.0 million, and $5.6 million, respectively. These decreases were partially offset by increases in net sales of net/com products and software of $23.0 million and $9.9 million, respectively.

Net sales of $573.9 million for the Public Sector Solutions segment reflect an increase of $18.6 million, or 3.3%, year-over-year. The increase was primarily driven by an increase in sales to federal governments, partially offset by a decrease of sales to state and local government and educational institutions. Net sales of net/com products, software, and other hardware/services increased year-over-year by $29.9 million, $11.3 million, and $6.8 million, respectively. These increases were partially offset by decreases in net sales of notebooks/mobility, accessories, and displays and sound of $13.5 million, $8.4 million, and $7.6 million, respectively.

Gross profit decreased by 2.7% to $511.7 million in 2023, while gross margin increased by 120 basis points to 18.0% in 2023, as explained below:

Gross profit for the Enterprise Solutions segment decreased $16.2 million, or 8.3% year-over-year as referenced in the above table. This decrease was primarily due to the 9.3% decrease in net sales. Gross margin increased 20 basis points compared to the prior year primarily due to an increase in net sales of higher margin products, such as net/com products and software, which is recognized on a net basis, relative to lower margin products, such as notebooks/mobility and accessories.

Gross profit for the Business Solutions segment decreased $3.8 million, or 1.5% year-over-year as referenced in the above table. This decrease was primarily a result of a 13.6% decrease in net sales. Gross margin increased 290 basis

34

points compared to the prior year primarily due to an increase in net sales of higher margin products, such as software, which is recognized on a net basis, and net/com products, relative to lower margin products, such as notebooks/mobility and displays and sound.

Gross profit for the Public Sector Solutions segment increased by $5.5 million, or 7.0% year-over-year as referenced in the table on the previous page, primarily as a result of higher net sales in the current period. Gross margin increased 50 basis points compared to the prior year primarily due to an increase in net sales of higher margin products, such as net/com products and software, which is recognized on a net basis, relative to lower margin products, such as notebooks/mobility, accessories, and displays and sound.

SG&A expense in 2023 remained consistent year-over-year in dollars but increased as a percentage of net sales. SG&A expenses attributable to our three operating segments and the remaining unallocated Headquarters/Other group expenses are summarized below (dollars in millions):

Years Ended December 31, 

 

2023

2022

 

   

% of

    

   

% of

    

$

%

 

Amount

Net Sales

Amount

Net Sales

Change

Change

 

Enterprise Solutions

$

138.5

 

11.5

%  

$

141.5

 

10.7

%  

$

(3.0)

(2.1)

%

Business Solutions

170.9

15.9

171.5

13.8

(0.6)

(0.3)

Public Sector Solutions

 

83.6

 

14.6

 

79.1

 

14.2

 

 

4.5

5.7

Headquarters/Other, unallocated

 

12.9

 

13.5

 

 

(0.6)

(4.5)

Total

$

405.9

14.2

%  

$

405.6

13.0

%  

$

0.3

0.1

%

SG&A expenses for the Enterprise Solutions segment decreased in dollars but increased as a percentage of net sales. The year-over-year decrease in SG&A dollars was primarily attributable to decreases in the use of Headquarter services, personnel costs, and other expenses of $1.8 million, $1.8 million, and $1.1 million, respectively. The Headquarter services include services related to finance, distribution center, human resources, IT, marketing, and product management. These decreases were partially offset by an increase in advertising costs of $2.4 million. SG&A expenses as a percentage of net sales were 11.5% for the Enterprise Solutions segment for the year ended December 31, 2023, which reflects an increase of 80 basis points and is primarily due to the decrease in net sales.

SG&A expenses for the Business Solutions segment remained consistent in dollars but increased as a percentage of net sales. The year-over-year increase in personnel costs of $3.8 million related to investments in resources to strengthen our sales organization was offset by decreases in the use of Headquarter services, other expenses, and advertising costs of $2.4 million, $0.7 million, and $0.6 million, respectively. SG&A expenses as a percentage of net sales were 15.9% for the Business Solutions segment for the year ended December 31, 2023, which reflects an increase of 210 basis points and is primarily due to the decrease in net sales.

SG&A expenses for the Public Sector Solutions segment increased in dollars and as a percentage of net sales. The increase in SG&A dollars year-over-year is primarily attributable to an increase in personnel costs of $5.0 million related to investments in resources to strengthen our sales organization. This increase was partially offset by a decrease in the use of Headquarter services of $1.2 million. SG&A expenses as a percentage of net sales were 14.6% for the Public Sector Solutions segment for the year ended December 31, 2023, which reflects an increase of 40 basis points and is consistent with the 5.7% increase in SG&A expenses compared to just a 3.3% increase in net sales.

SG&A expenses for the Headquarters/Other group decreased by $0.6 million primarily due to decreases in personnel costs and professional fees of $3.9 million and $2.5 million, respectively. These decreases were partially offset by an increase in unallocated Headquarter services of $5.4 million.

Income from operations for the year ended December 31, 2023 decreased to $103.2 million, compared to $120.6 million for the same period in the prior year, primarily due to the decreases in net sales and gross profit explained above.

35

Income from operations as a percentage of net sales decreased to 3.6% for the year ended December 31, 2023, compared to 3.9% of net sales for the same period in the prior year, primarily due to the decreases in net sales and gross profit.

Other income, net for the year ended December 31, 2023 increased to $10.0 million, compared to $1.1 million for the same period in the prior year, primarily due to an increase in interest income of $8.9 million as a result of higher cash equivalent balances and interest rates on short-term investments.

Income taxes. Our provision for income taxes for the year ended December 31, 2023 was $29.8 million, compared to $32.4 million for the same period in the prior year. The decrease in our provision for income taxes was primarily due to the decrease in income from operations, partially offset by the increase in other income, net. Our effective tax rate was 26.4% for the year-ended December 31, 2023, compared to 26.7% for the year ended December 31, 2022.

Net income decreased by $5.9 million to $83.3 million for the year ended December 31, 2023, from $89.2 million in the prior year, primarily due to the decreases in net sales and gross profit, partially offset by an increase in other income, net in the current year, as explained above.

LIQUIDITY AND CAPITAL RESOURCES

Liquidity Overview

Our primary sources of liquidity are internally generated funds from operations, short-term investments, and borrowings under our credit facility. We have historically used and expect to use in the future those funds to meet our capital requirements, which consist primarily of working capital for operational needs, capital expenditures for computer equipment and software used in our business, repurchases of common stock for treasury, dividend payments, and as opportunities arise, possible acquisitions of new businesses.

We believe that funds generated from operations, together with available capacity under our credit facility, will be sufficient to finance our working capital, capital expenditures, and other requirements for at least the next twelve calendar months and beyond such twelve calendar month period. Our investments in IT systems and infrastructure are designed to enable us to operate more efficiently and to provide our customers enhanced functionality.

We expect to meet our cash requirements for 2024 and beyond through a combination of cash on hand, short-term investments, cash generated from operations, and borrowings under our credit facility, as follows:

Cash on Hand. As of December 31, 2023, we had $145.0 million in cash and cash equivalents.

Short-term Investments. As of December 31, 2023, we had $152.2 million in short-term investments.

Cash Generated from Operations. We expect to generate cash flows from operations in excess of operating cash needs by generating earnings and managing net changes in inventories and receivables with changes in payables to generate positive cash flow.

Credit facility. As of December 31, 2023, no borrowings were outstanding under our $50.0 million credit facility, which is available until March 2025. Accordingly, our entire line of credit was available for borrowing as of December 31, 2023. This line of credit can be increased, at our option, to $80.0 million for approved acquisitions or other uses authorized by the bank. Borrowings are, however, limited by certain minimum collateral and earnings requirements, as described more fully below. As of December 31, 2023, we were in compliance with the covenants of our credit facility.

Our ability to continue funding our planned growth, both internally and externally, is dependent upon our ability to generate sufficient cash flow from operations or to obtain additional funds through equity or debt financing, or from other sources of financing, as may be required. While we do not anticipate needing any additional sources of financing to fund our operations at this time, if demand for IT products declines, or our customers are materially adversely impacted by the developing macroeconomic trends characterized by inflation and increased interest rates, our cash flows from

36

operations may be substantially affected. For additional discussion see related risks listed under “Item 1A. Risk Factors” of this Annual Report on Form 10-K.

Summary Sources and Uses of Cash

The following table summarizes our sources and uses of cash over the last three years (in millions):

Years Ended December 31, 

 

2023

    

2022

    

2021

 

Net cash provided by operating activities

$

197.9

$

34.9

$

57.8

Net cash used in investing activities

 

(160.2)

 

(9.1)

 

(8.7)

Net cash used in financing activities

 

(15.7)

 

(11.2)

 

(36.4)

Increase in cash and cash equivalents

$

22.0

$

14.6

$

12.7

Cash provided by operating activities was $197.9 million for the year ended December 31, 2023, which resulted primarily from $83.3 million of net income, $18.4 million of other non-cash charges added back to net income (including $12.7 million of depreciation and amortization and $7.0 million of stock-based compensation expense), an $84.5 million decrease in inventory, and a $31.1 million increase in accounts payable. These factors that contributed to the positive inflow of cash from operating activities were partially offset by a decrease in accrued expenses and other liabilities of $11.8 million and an increase in prepaid expenses and other current assets of $8.5 million. The decrease in inventory was primarily due to a decrease in the amount of inventory we purchased, combined with the delivery of inventory held associated with the continued fulfillment of orders in 2023 that were in backlog during 2022. The increase in accounts payable was primarily driven by the timing of payments. Cash provided by operating activities for the year ended December 31, 2022 resulted primarily from cash provided by net income of $89.2 million and $19.6 million of other non-cash charges added back to net income, including $12.0 million of depreciation and amortization, partially offset by increases in account payable and accrued expenses of $49.1 million and $14.7 million, respectively.

In order to manage our working capital and operating cash needs, we monitor our cash conversion cycle, defined as days of sales outstanding in accounts receivable plus days of supply in inventory minus days of purchases outstanding in accounts payable, based on a rolling three-month average. Components of our cash conversion cycle are as follows:

December 31,

(in days)

2023

2022

Days of sales outstanding (DSO)(1)

73

70

Days of supply in inventory (DIO)(2)

20

31

Days of purchases outstanding (DPO)(3)

(42)

(35)

Cash conversion cycle

51

66

(1) Represents the trade receivable at the end of the period divided by average daily net sales for the same three-month period.

(2) Represents the merchandise inventory balance at the end of the period divided by average daily cost of sales for the same three-month period.

(3) Represents the accounts payable balance at the end of the period divided by average daily cost of sales for the same three-month period.

The cash conversion cycle decreased to 51 days for the quarter ended December 31, 2023, compared to 66 days for the quarter ended December 31, 2022, as evidenced in the above cash conversion table. The increase in DSO is primarily due to increased netted product sales which reduces the revenue, but not the receivable balance. The decrease in DIO is consistent with the decrease in inventory discussed above. The increase in DPO is consistent with the increase in accounts payable discussed above.

37

Cash used in investing activities for the year ended December 31, 2023 consisted of $150.6 million of purchases of short-term U.S. Government treasury securities and $9.6 million of purchases of property and equipment. The property and equipment expenditures were primarily for computer equipment and capitalized internally-developed software in connection with investments in our IT infrastructure. Cash used in investing activities for the prior year consisted of $9.1 million of purchases of property and equipment.

Cash used in financing activities for the year ended December 31, 2023 consisted of $88.2 million of aggregate borrowings and repayments under our credit facility, $5.4 million of treasury repurchases, $8.4 million of dividend payments, $1.1 million of issuances of stock under the 1997 Employee Stock Purchase Plan, and $3.0 million of payroll taxes on stock-based compensation through shares withheld. In the prior year period, financing activities consisted primarily of $8.9 million in special dividend payments.

Debt Instruments, Contractual Agreements, and Related Covenants

Below is a summary of certain provisions of our credit facilities and other contractual obligations. For more information about the restrictive covenants in our debt instruments and inventory financing agreements, see “Factors Affecting Sources of Liquidity” below. For more information about our obligations, commitments, and contingencies, see our consolidated financial statements and the accompanying notes included in this annual report.

Credit facility. Our credit facility extends until March 2025 and is collateralized by our accounts receivable. As of December 31, 2023, our borrowing capacity under the credit facility was up to $50.0 million. Amounts outstanding under this facility bear interest at the greatest of (i) the prime rate (8.50% at December 31, 2023), (ii) the federal funds effective rate plus 0.50% per annum and (iii) the daily Bloomberg Short-Term Bank Yield Index, or BSBY Rate, plus 1.00% per annum, provided that the rate shall at no time be less than 0% per annum. In addition, we have the option to increase our borrowing capacity under the credit facility up to an additional $30.0 million provided that we meet certain additional borrowing requirements and obtain the consent of the administrative agent. Our credit facility is subject to certain covenant requirements which are described below under “Factors Affecting Sources of Liquidity”. We did not have any borrowings outstanding under the credit facility as of December 31, 2023.

Cash receipts are automatically applied against any outstanding borrowings. Any excess cash on account may either remain on account to generate earned credits to offset up to 100% of cash management fees, or may be invested in short-term qualified investments. Borrowings under the line of credit are classified as current in our consolidated balance sheet. As of December 31, 2023, the entire $50.0 million facility was available for borrowing.

Operating Leases. We lease facilities from our principal stockholders and facilities from third parties under non-cancelable operating leases. Certain leases require us to pay real estate taxes, insurance, and common area maintenance charges. See “Item 2. Properties” of this Annual Report on Form 10-K for additional information regarding our operating leases.

Factors Affecting Sources of Liquidity

Internally Generated Funds. The key factors affecting our internally generated funds are our ability to manage costs and fully achieve our operating efficiencies, timely collection of our customer receivables, and management of our inventory levels.

Credit facility. Our credit facility extends until March 2025 and is collateralized by our accounts receivable. As of December 31, 2023, the entire $50.0 million facility was available for borrowing. Our credit facility contains certain financial ratios and operational covenants and other restrictions (including restrictions on additional debt, guarantees, and other distributions, investments, and liens) with which we and all of our subsidiaries must comply. Any failure to comply with these covenants would constitute a default and could prevent us from borrowing additional funds under this line of credit. This credit facility contains two financial tests:

The funded debt ratio (defined as the average outstanding advances under the line for the quarter, divided by the consolidated trailing twelve months Adjusted Earnings Before Interest Expense, Taxes, Depreciation, Amortization,

38

and Special Charges, or Adjusted EBITDA, for the trailing four quarters) must not be more than 2.0 to 1.0. We did not have any outstanding borrowings under the credit facility during the fourth quarter of 2023, and accordingly, the funded debt ratio did not limit potential borrowings as of December 31, 2023. Future decreases in our consolidated trailing twelve months Adjusted EBITDA could limit our potential borrowings under the line of credit.

Minimum Consolidated Net Worth (defined as our consolidated total assets less our consolidated total liabilities) must be at least $346.7 million, plus 50% of consolidated net income for each quarter, beginning with the quarter ended December 31, 2016 (loss quarters not counted). Such amount was calculated as $603.1 million at December 31, 2023, whereas our actual consolidated stockholders’ equity at that date was $840.8 million.

Capital Markets. Our ability to raise additional funds in the capital market depends upon, among other things, general economic conditions, the condition of the IT industry, our financial performance and stock price, and the state of the capital markets. In addition, market volatility, inflation and interest rate fluctuations may increase our cost of financing or restrict our access to potential sources of future liquidity.

APPLICATION OF CRITICAL ACCOUNTING POLICIES AND ESTIMATES

A critical accounting policy has been defined as one that is both important to the portrayal of the registrant’s 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. Further, “critical accounting policies” are those that are reflective of significant judgments and uncertainties, and potentially result in materially different results under different assumptions and conditions.

We believe that our accounting policies described below meet the definition of critical accounting policies and estimates.

Revenue Recognition

Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We enter into contracts that can include various combinations of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In most instances, when several performance obligations are aggregated into one single transaction, these performance obligations are fulfilled at the same point in time. We account for an arrangement when it has approval and commitment from both parties, the rights are identified, the contract has commercial substance, and collectability of consideration is probable. We generally obtain oral or written purchase authorizations from our customers for a specified amount of product at a specified price, which constitutes an arrangement. Revenue is recognized at the amount expected to be collected, net of any taxes collected from customers, which are subsequently remitted to governmental authorities. We generally invoice for our products at the time of shipping, and accordingly there is not a significant financing component included in our arrangements.

Nature of Products and Services

IT products typically represent a distinct performance obligation, and revenue is recognized at the point in time when control is transferred to the customer which is generally upon delivery to the customer. We recognize revenue as the principal in the transaction with the customer (i.e., on a gross basis), as we control the product prior to delivery to the customer and derive the economic benefits from the sales transaction given our control over customer pricing.

We do not recognize revenue for goods that remain in our physical possession before the customer has the ability to direct the use of, and obtain substantially all of the remaining benefits from the products, the goods are ready for physical transfer to and identified as belonging to the customer, and when we have no ability to use the product or to direct it to another customer.

Licenses for on-premise software provide the customer with a right to take possession of the software. Customers may purchase perpetual licenses or enter into subscriptions to the licensed software. We are the principal in these

39

transactions and recognize revenue for the on-premise license at the point in time when the software is made available to the customer and the commencement of the term of the software license or when the renewal term begins, as applicable.

For certain on-premise licenses for security software, the customer derives substantially all of the benefit from these arrangements through the third-party delivered software maintenance, which provides software updates and other support services. We do not have control over the delivery of these performance obligations, and accordingly we are the agent in these transactions. We recognize revenue for security software net of the related cost of sales at the point in time when our vendor and customer accept the terms and conditions in the sales arrangement. Cloud products allow customers to use hosted software over the contractual period without taking possession of the software and are provided on a subscription basis. We do not exercise control over these products or services and therefore are an agent in these transactions. We recognize revenue for cloud products net of the related costs of sales at the point in time when our vendor and customer accept the terms and conditions in the sales arrangements.

We use our own engineering personnel to assist in projects involving the design and installation of systems and networks, and we also engage third-party service providers to perform warranty maintenance, implementations, asset disposal, and other services. Service revenue is recognized in general over time as we perform the underlying services and satisfy our performance obligations. We evaluate such engagements to determine whether we are the principal or the agent in each transaction. For those transactions in which we do not control the service, we act as an agent and recognize the transaction revenue on a net basis at a point in time when the vendor and customer accept the terms and conditions in the sales arrangement.

Similarly, we recognize revenue from agency sales transactions on a net sales basis. In agency sales transactions, we facilitate product sales by equipment and software manufacturers directly to our customers and receive agency, or referral, fees for such transactions. We do not take title to the products or assume any maintenance or return obligations in these transactions; title is passed directly from the supplier to our customer.

Amounts recognized on a net basis included in net sales for such third-party services, agency sales, and off-premise software transactions were $141.8 million, $127.5 million, and $103.5 million for the years ended December 31, 2023, 2022, and 2021, respectively.

Certain software sales include on-premise licenses that are combined with software maintenance. Software maintenance conveys rights to updates, bug fixes and help desk support, and other support services transferred over the underlying contract period. On-premise licenses are considered distinct performance obligations when sold with the software maintenance, as we sell these items separately. We recognize revenue related to the software maintenance as the agent in these transactions because we do not have control over the on-going software maintenance service. Revenue allocated to software maintenance is recognized at the point in time when our vendor and customer accept the terms and conditions in the sales arrangements.

Certain of our larger customers are offered the opportunity by vendors to purchase software licenses and maintenance under enterprise agreements, or EAs. Under EAs, customers are considered to be compliant with applicable license requirements for the ensuing year, regardless of changes to their employee base. Customers are charged an annual true-up fee for changes in the number of users over the year. With most EAs, our vendors will transfer the license and bill the customer directly, paying resellers, such as us, an agency fee or commission on these sales. We record these agency fees as a component of net sales as earned and there is no corresponding cost of sales amount. In certain instances, we invoice the customer directly under an EA and account for the individual items sold based on the nature of each item. Our vendors typically dictate how the EA will be sold to the customer.

We also offer extended service plans, or ESPs, on IT products, both as part of the initial arrangement and separately from the IT products. We recognize revenue related to ESPs as the agent in the transaction because we do not have control over the on-going ESPs service and do not provide any service after the sale. Revenue allocated to ESPs is recognized at the point in time when our vendor and customer accept the terms and conditions in the sales arrangement.

All amounts billed to a customer in a sales transaction related to shipping and handling, if any, represent revenues earned for the goods provided, and these amounts have been included in net sales. Costs related to shipping and handling

40

billing are classified as cost of sales. Sales are reported net of sales, use, or other transaction taxes that are collected from customers and remitted to taxing authorities.

Critical Accounting Estimates

Our contracts with customers often include promises to transfer multiple products or services to a customer. Determining whether we are the agent or the principal and whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.

We estimate the standalone selling price, or SSP, for each distinct performance obligation when a single arrangement contains multiple performance obligations and the fulfillment occurs at different points in time. We maximize the use of observable inputs in the determination of the estimate for SSP for the items that we do not sell separately, including on-premise licenses sold with software maintenance, and IT products sold with ESPs. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine the SSP using information that may include market conditions and other observable inputs.

We provide our customers with a limited thirty-day right of return, which is generally limited to defective merchandise, and gives rise to variable consideration. Revenue is recognized based on the most likely amount to which we are expected to be entitled. The estimated variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur once the uncertainty is resolved. We make estimates of product returns based on significant historical experience. We record our sales return reserve as a reduction of revenues and either as reduction of accounts receivable or, for customers who have already paid, as accrued expenses and as a reduction of cost of sales and an associated right of return asset. At December 31, 2023, we recorded sales reserves of $3.1 million and $0.1 million as components of accounts receivable and accrued expenses, respectively. At December 31, 2022, we recorded sales reserves of $3.8 million and $0.1 million as components of accounts receivable and accrued expenses, respectively.

We regularly evaluate the adequacy of our estimates for product returns. Future market conditions and product transitions may require us to take action to change such programs and related estimates. When the variables used to estimate these reserves change, or if actual results differ significantly from the estimates, we would be required to increase or reduce revenue to reflect the impact.

Accounts Receivable

We perform ongoing credit evaluations of our customers and adjust credit limits based upon payment history and current creditworthiness. Our allowance for credit losses is generally computed by (1) applying specific percentage reserves on accounts that are past due, and (2) specifically reserving for customers known to be in financial difficulty. Therefore, if the financial conditions of certain customers were to deteriorate, or if we noted there was a lengthening of the timing of the settlement of receivables that was symptomatic of a general deterioration in the ability of our customers to pay, we would have to increase our allowance for credit losses. This would negatively impact our earnings. Our cash flows would be impacted to the extent that receivables could not be collected.

We continued to improve on our collection efforts in 2023. Our bad debt expense for the year ended December 31, 2023 decreased to $1.8 million, compared to $3.3 million for the year ended December 31, 2022.

In addition to accounts receivable from customers, we record receivables from our vendors/suppliers for cooperative advertising, price protection, supplier reimbursements, rebates, and other similar arrangements. A portion of such receivables is estimated based on information available from our vendors at discrete points in time. While such estimates have historically approximated actual cash received, a change in estimates could give rise to a reduction in the receivable. This could negatively impact our earnings and our cash flows.

Our trade receivables are charged off in the period in which they are deemed uncollectible. Recoveries of trade receivables previously charged are recorded when received. Write offs of customer and vendor receivables totaled $3.3 million in 2023 and $2.8 million in 2022.

41

Considerable estimates are used in assessing the ultimate realization of customer receivables and vendor/supplier receivables, including reviewing the financial stability of a customer, vendor information, and gauging current market conditions. If our evaluations are incorrect, we may incur additional charges in the future on our consolidated statements of income.

Inventories

Inventories (all finished goods) are stated at cost (which approximates the first-in, first-out method) or net realizable value, whichever is lower. Inventory quantities on hand are reviewed regularly, and provisions are made for obsolete, slow moving, and non-saleable inventory, based primarily on management’s forecast of customer demand for those products in inventory.

Estimates are used to determine the quarterly inventory allowance provision. Actual future write-offs of inventory for salability and obsolescence reasons may differ from estimates and calculations used to determine valuation allowances due to changes in customer demand, customer negotiations, technology shifts and other factors. The IT industry is characterized by rapid technological change and new product development that could result in increased obsolescence of inventory on hand. Increased obsolescence or decreased customer demand beyond management’s expectations could require additional provisions, which could negatively impact our earnings. Our provision for inventory obsolescence was $2.4 million, $4.3 million, and $3.5 million for the years ended December 31, 2023, 2022, and 2021, respectively. We recorded obsolescence charges of $2.8 million, $3.3 million, and $3.0 million for the years ended December 31, 2023, 2022 and 2021, respectively. Historically, there have been no unusual charges precipitated by specific technological or forecast issues.

Goodwill and Long-Lived Assets, Including Intangibles

We carry a variety of long-lived assets on our consolidated balance sheet, which are all currently classified as held for use. These include property and equipment, identifiable intangibles, an internet domain name, which is an indefinite-lived intangible asset not subject to amortization, and goodwill. An impairment review is undertaken on (1) an annual basis for goodwill and an indefinite-lived intangible; and (2) on an event-driven basis for all long-lived assets when facts and circumstances suggest that cash flows from such assets may be diminished. We have historically reviewed the carrying value of all these assets based partly on our projections of cash flows. Any impairment charge that is recorded negatively impacts our earnings.

Our Enterprise Solutions and Business Solutions segments hold $66.2 million and $7.4 million of goodwill, respectively. We test goodwill for impairment each year and more frequently if potential impairment indicators arise. In 2023 and 2022, we performed a “step 0” qualitative analysis. Accounting Standards Codification 350—Intangible – Goodwill and Other states that an entity may assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount, including goodwill. This analysis allows the Company to consider qualitative factors that might impact the carrying amount of its goodwill to determine whether a more detailed quantitative analysis would be necessary. Factors considered when performing the impairment assessment included the Company’s performance relative to historical and projected future operating results, macroeconomic conditions, industry and market trends, cost factors that may have a negative impact on earnings and cash flows, changes in the Company’s stock price and market capitalization, and other relevant entity-specific events. Based on the qualitative analysis, the Company determined goodwill was not impaired as of December 31, 2023 and 2022. While we believe that our conclusions are reasonable, different assumptions could materially affect our valuations and result in impairment charges against the carrying values of those remaining assets in our Enterprise Solutions and Business Solutions segments.

Please see Note 4, “Goodwill and Other Intangible Assets” to the Consolidated Financial Statements included in Item 8 of Part II of this report for a discussion of the significant assumptions used in our annual impairment test analysis.

42

RECENTLY ISSUED FINANCIAL ACCOUNTING STANDARDS

Recently issued financial accounting standards are detailed in Note 1, “Summary of Significant Accounting Policies,” in the Notes to Consolidated Financial Statements included in Item 8 of this Annual Report on Form 10-K.

Item 7A. Quantitative and Qualitative Disclosure About Market Risk

We invest cash balances in excess of operating requirements in cash equivalents and short-term investments, generally with maturities of less than one year. In addition, our credit facility provides for borrowings which bear interest at the greatest of (i) the prime rate (8.50% at December 31, 2023), (ii) the federal funds effective rate plus 0.50% per annum and (iii) the daily BSBY Rate plus 1.00% per annum, provided that the rate shall at no time be less than 0% per annum. We believe the effect, if any, of reasonably possible near-term changes in interest rates on our financial position, results of operations, and cash flows should not be material. Our bank of line credit, along with our cash equivalents and short-term investments exposes earnings to changes in short-term interest rates since interest rates on the underlying obligations are variable. Our average outstanding borrowings during 2023 were minimal, and as such a hypothetical 10% increase or decrease in interest rates is not material. While the nature of our short-term investments protects us from changes in short-term interest rates, a change in short-term interest rates could affect the fair value of our short-term investments. However, the change in earnings resulting from a hypothetical 10% increase or decrease in interest rates is not material. Inflation generally affects us by increasing our cost of labor and research, manufacturing and development costs. We believe that inflation has not had a material effect on our financial statements included elsewhere in this Annual Report on Form 10-K. However, our operations may be subject to inflation in the future.

Item 8. Financial Statements and Supplementary Data

The information required by this Item is included in this Report beginning at page F-1.

Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

None.

Item 9A. Controls and Procedures

Management’s Evaluation of Disclosure Controls and Procedures

Our management, with the participation of our Chief Executive Officer (our principal executive officer) and Chief Financial Officer (our principal financial officer), evaluated the effectiveness of our disclosure controls and procedures as of December 31, 2023. The term “disclosure controls and procedures,” as defined in Rules 13a-15(e) and 15d-15(e) promulgated under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized, and reported, within the time periods specified in the SEC's rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company’s management, including its principal executive and principal financial officers, as appropriate to allow timely decisions regarding required disclosure. Our management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives and management necessarily applies its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Our disclosure controls and procedures are designed to provide reasonable assurance of achieving their objectives as described above. Based on this evaluation, our Chief Executive Officer and Chief Financial Officer concluded that, as of December 31, 2023, our disclosure controls and procedures were effective at the reasonable assurance level.

43

Management’s Annual Report on Internal Control over Financial Reporting

Our management is responsible for establishing and maintaining adequate internal control over our financial reporting. Internal control over financial reporting is defined in Rule 13a-15(f) or 15d-15(f) promulgated under the Exchange Act as a process designed by, or under the supervision of, our principal executive and principal financial officers and effected by our Board of Directors, management, and other personnel to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with U.S. generally accepted accounting principles and includes those policies and procedures that: (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of our assets; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with U.S. generally accepted accounting principles and that our receipts and expenditures are being made only in accordance with authorizations of our management and directors of the Company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of our assets that could have a material effect on the financial statements.

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

Under the supervision and with the participation of our management, including our Chief Executive Officer (our principal executive officer) and Chief Financial Officer (our principal financial officer), we conducted an assessment of the effectiveness of our internal control over financial reporting as of December 31, 2023. In making this assessment, our management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission in Internal Control-Integrated Framework (2013).

Based on their assessment, our management concluded that, as of December 31, 2023, our internal control over financial reporting was effective based on those criteria.

Our independent registered public accounting firm has issued an audit report on our internal control over financial reporting as of December 31, 2023. This report appears below.

Changes in Internal Control over Financial Reporting

There were no changes in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the three months ended December 31, 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

44

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

To the shareholders and the Board of Directors of PC Connection, Inc.

Opinion on Internal Control over Financial Reporting

We have audited the internal control over financial reporting of PC Connection, Inc. and subsidiaries (the “Company”) as of December 31, 2023, based on criteria established in Internal Control — Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control — Integrated Framework (2013) issued by COSO.

We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated financial statements as of and for the year ended December 31, 2023, of the Company and our report dated March 7, 2024 expressed an unqualified opinion on those financial statements.

Basis for Opinion

The Company’s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management’s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company’s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.

Definition and Limitations of Internal Control over Financial Reporting

A company’s internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

/s/ Deloitte & Touche LLP

Boston, Massachusetts

March 7, 2024

45

Item 9B. Other information

Director and Officer Trading Arrangements

None of our directors or officers (as defined in Rule 16a-1(f)) adopted or terminated a Rule 10b5-1 trading agreement or a non-Rule 10b5-1 trading agreement (as defined in Item 408(c) of Regulation S-K) during the fourth quarter of 2023.

Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

Not Applicable.

46

PART III

Item 10. Directors, Executive Officers, and Corporate Governance

In addition to the information included below, the information required by this item, which is included under the headings “Election of Directors,” “Information Concerning Directors, Nominees, and Executive Officers,” “Delinquent Section 16(a) Reports,” “Code of Business Conduct and Ethics Policy,” “Director Candidates,” and “Board Committees – Audit Committee” in our definitive Proxy Statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC, or Proxy Statement, is incorporated herein by reference. With the exception of the foregoing information and other information specifically incorporated by reference into this Annual Report on Form 10-K, the Proxy Statement is not being filed as a part hereof.

Information about our Executive Officers

Our executive officers and their ages as of March 7, 2024 are as follows:

Name

Age

Position

Patricia Gallup

69

Chair and Chief Administrative Officer

Timothy McGrath

65

President and Chief Executive Officer

Thomas Baker

58

Senior Vice President, Chief Financial Officer and Treasurer

Patricia Gallup is our co-founder and has served as Chair of our Board of Directors since September 1994, and as Chief Administrative Officer since August 2011. Ms. Gallup has served as a member of our executive management team since 1982.

Timothy McGrath has served as our Chief Executive Officer since August 2011, and as President since May 2010. Mr. McGrath has served as a member of our executive management team since he joined the Company in 2005.

Thomas Baker has served as our Chief Financial Officer and as a member of our executive management team since he joined the Company in March 2019. Prior to joining the Company, Mr. Baker had served as Corporate Vice President and Chief Financial Officer for the New Markets and Service Group at Applied Materials, Inc., a semiconductor capital equipment company, since 2013.

Code of Business Conduct and Ethics

We have adopted a Code of Business Conduct and Ethics that applies to our officers, including our principal executive, financial and accounting officers, and our directors and employees. We have posted the text of our Code of Business Conduct and Ethics under the “Investor Relations” section of our website, www.connection.com. We intend to disclose on our website any amendments to, or waivers from, the Code of Business Conduct and Ethics that are required to be disclosed pursuant to the disclosure requirements of Item 5.05 of Form 8-K.

Item 11. Executive Compensation

The information required by this item, which is included under the headings “Executive Compensation” and “Director Compensation” in the Proxy Statement is incorporated herein by reference.

Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

The information required by this item, which is included under the headings “Security Ownership of Certain Beneficial Owners and Management” and “Equity Compensation Plan Information” in the Proxy Statement is incorporated herein by reference.

47

Item 13. Certain Relationships and Related Transactions, and Director Independence

The information required by this item, which is included under the headings “Certain Relationships and Related Transactions,” “Policies and Procedures for Related Person Transactions” and “Director Independence” in the Proxy Statement is incorporated herein by reference.

Item 14. Principal Accounting Fees and Services

The information required by this item, which is included under the heading “Principal Accounting Fees and Services” and “Pre-Approval Policies and Procedures” in the Proxy Statement is incorporated herein by reference.

48

PART IV

Item 15. Exhibits and Financial Statement Schedules

(a)

List of Documents Filed as Part of this Report:

(1)Consolidated Financial Statements

The consolidated financial statements listed below are included in this document.

Consolidated Financial Statements

Page
References

Report of Independent Registered Public Accounting Firm

F-2

Consolidated Balance Sheets

F-4

Consolidated Statements of Income

F-5

Consolidated Statements of Other Comprehensive Income

F-6

Consolidated Statement of Changes in Stockholders’ Equity

F-7

Consolidated Statements of Cash Flows

F-8

Notes to Consolidated Financial Statements

F-9

(2)Consolidated Financial Statement Schedule:

The following Consolidated Financial Statement Schedule, as set forth below, is filed with this report:

Schedule

Page
Reference

Schedule II—Valuation and Qualifying Accounts

S-1

All other schedules have been omitted because they are either not applicable or the relevant information has already been disclosed in the financial statements.

(3)The exhibits listed in the Exhibit Index in Item 15(b) below are filed as part of this Annual Report on Form 10-K.

(b)

Exhibits

The exhibits listed below are filed herewith or are incorporated herein by reference to other filings.

49

EXHIBIT INDEX

Exhibits

3.1(1)

Amended and Restated Certificate of Incorporation of Registrant, as amended.

3.2(2)

Amended and Restated Bylaws of Registrant.

4.1(3)

Form of specimen certificate for shares of Common Stock, $0.01 par value per share, of the Registrant.

4.2(4)

Description of Securities Registered Under Section 12 of the Exchange Act

10.1(3)*

Form of Registration Rights Agreement among the Registrant, Patricia Gallup, David Hall, and the 1998 PC Connection Voting Trust.

10.2(5)*

2020 Stock Incentive Plan, as amended.

10.3(6)*

Amended and Restated 2007 Stock Incentive Plan, as amended.

10.4(7)*

Amended and Restated 1997 Employee Stock Purchase Plan, as amended.

10.5(8)*

Form of Incentive Stock Option Agreement for 2007 Stock Incentive Plan.

10.6(8)*

Form of Nonstatutory Stock Option Agreement for 2007 Stock Incentive Plan.

10.7(9)*

Amended and Restated Form of Restricted Stock Agreement for Amended and Restated 2007 Stock Incentive Plan.

10.8(9)*

Form of Restricted Stock Unit Agreement for Amended and Restated 2007 Stock Incentive Plan.

10.9(10)

Form of Stock Equivalent Unit Agreement for 2007 Amended and Restated Stock Incentive Plan.

10.10(11)*

Director Compensation and Executive Bonus Plan, as amended.

10.11(3)*

Employment Agreement, dated as of January 1, 1998, between the Registrant and Patricia Gallup.

10.12(12)*

Employment Agreement, dated as of May 12, 2008, between the Registrant and Timothy McGrath.

10.13(13)

Third Amended and Restated Credit and Security Agreement, dated February 24, 2012, among Citizens Bank of Massachusetts, as lender and as agent, other financial institutions party thereto from time to time, as lenders, PC Connection, Inc., as borrower, GovConnection, Inc., PC Connection Sales Corporation, MoreDirect, Inc., and Professional Computer Center, Inc., each as guarantors.

10.14(14)

First Amendment, dated December 24, 2013, to the Third Amended and Restated Credit and Security Agreement, among Citizens Bank of Massachusetts, as lender and as agent, other financial institutions party thereto from time to time, as lenders, PC Connection, Inc., as borrower, GovConnection, Inc., PC Connection Sales Corporation, MoreDirect, Inc., and Professional Computer Center, Inc., each as guarantors.

10.15(15)

Second Amendment, dated February 10, 2017, to the Third Amended and Restated Credit and Security Agreement, among Citizens Bank of Massachusetts, as lender and as agent, other financial institutions party thereto from time to time, as lenders, PC Connection, Inc., as borrower, GovConnection, Inc., PC Connection Sales Corporation, MoreDirect, Inc., and Professional Computer Center, Inc., each as guarantors.

10.16(16)

Lease Agreement between the Registrant and Wilmington Investors, LLC, dated August 27, 2014, for property located at 3188 Progress Way, Building 11, Wilmington, Ohio.

10.17(17)*

Employment Agreement, dated March 1, 2019, between the Registrant and Thomas Baker.

10.18(18)

Amendment No. 1, dated April 16, 2015, to Lease Agreement between the Registrant and Wilmington Investors, LLC, dated August 27, 2014, for property located at 3336 Progress Way, Building 11, Wilmington, OH.

10.19(19)

Form of Restricted Stock Units for 2020 Stock Incentive Plan.

10.20(20)

Third Amendment, dated December 2, 2021, to the Third Amended and Restated Credit and Security Agreement, among Citizens Bank of Massachusetts, as lender and as agent, other financial institutions party thereto from time to time, as lenders, PC Connection, Inc., as borrower, GovConnection, Inc., PC Connection Sales Corporation, MoreDirect, Inc., and Professional Computer Center, Inc., each as guarantors.

10.21(21)

Incentive and Retention agreement, dated as of May 3, 2022, by and between PC Connection, Inc. and Timothy McGrath, as amended.

10.22(21)

Incentive and Retention agreement, dated as of May 3, 2022, by and between PC Connection, Inc. and Thomas Baker, as amended.

10.23(5)

Fourth Amendment, dated June 13, 2023, to the Third Amended and Restated Credit and Security Agreement, among Citizens Bank of Massachusetts, as lender and as agent, other financial institutions

50

party thereto from time to time, as lenders, PC Connection, Inc., as borrower, GovConnection, Inc., PC Connection Sales Corporation, MoreDirect, Inc., and Professional Computer Center, Inc., each as guarantors.

21.1**

Subsidiaries of Registrant.

23.1**

Consent of Deloitte & Touche LLP.

31.1**

Certification of the Company’s President and Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

31.2**

Certification of the Company’s Senior Vice President, Chief Financial Officer and Treasurer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

32.1**

Certification of the Company’s President and Chief Executive Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

32.2**

Certification of the Company’s Senior Vice President, Chief Financial Officer and Treasurer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

97.1**

Clawback Policy.

101.INS **

Inline XBRL Instance Document* - The Instance document does not appear in the interactive data file because its XBRL tags are embedded within the inline XBRL document.

101.SCH **

Inline XBRL Taxonomy Extension Schema Document.

101.CAL **

Inline XBRL Taxonomy Calculation Linkbase Document.

101.DEF **

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB **

Inline XBRL Taxonomy Label Linkbase Document.

101.PER **

Inline XBRL Taxonomy Presentation Linkbase Document.

104 **

Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101)

(1)Incorporated by reference from the exhibits filed with the Company’s registration statement (333-63272) on Form S-4 filed under the Securities Act of 1933.
(2)Incorporated by reference from exhibits filed with the Company’s current report on Form 8-K, filed on January 9, 2008.
(3)Incorporated by reference from the exhibits filed with the Company’s registration statement (333-41171) on Form S-1 filed under the Securities Act of 1933.
(4)Incorporated by reference from exhibits filed with the Company's annual report on Form 10-K, filed on February 6, 2020.
(5)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on August 2, 2023.
(6)Incorporated by reference from Appendix A filed with the Company’s proxy statement pursuant to Section 14(a), File Number 0-23827, filed on April 9, 2019.
(7)Incorporated by reference from exhibits filed with the Company's annual report on Form 10-K, filed on March 6, 2023.
(8)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on August 10, 2007.
(9)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on November 10, 2010.
(10)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on August 8, 2012.
(11)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on May 4, 2023.
(12)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on May 12, 2008.
(13)Incorporated by reference from exhibits filed with the Company’s annual report on Form 10-K, File Number 0-23827, filed on February 28, 2012.
(14)Incorporated by reference from exhibits filed with the Company's annual report on Form 10-K, File Number 0-23827, filed on March 3, 2017.
(15)Incorporated by reference from exhibits filed with the Company’s current report on Form 8-K, filed on February 16, 2017.

51

(16)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on October 31, 2014.
(17)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on May 2, 2019.
(18)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on October 30, 2019.
(19)Incorporated by reference from exhibits filed with the Company's annual report on Form 10-K, filed on March 16, 2021.
(20)Incorporated by reference from exhibits filed with the Company's annual report on Form 10-K, filed on March 14, 2022.
(21)Incorporated by reference from exhibits filed with the Company's quarterly report on Form 10-Q, filed on May 5, 2022.

*

Management contract or compensatory plan or arrangement.

**

Submitted electronically herewith.

Attached as Exhibit 101 to this report are the following formatted in XBRL (Extensible Business Reporting Language): (i)  Consolidated Balance Sheets at December 31, 2023 and December 31, 2022, (ii) Consolidated Statements of Income for the years ended December 31, 2023, 2022, and 2021, (iii) Consolidated Statements of Other Comprehensive Income for the years ended December 31, 2023, 2022, and 2021, (iv) Consolidated Statements of Changes in Stockholders’ Equity for the years ended December 31, 2023, 2022, and 2021, (v) Consolidated Statements of Cash Flows for the years ended December 31, 2023, 2022, and 2021, and (vi) Notes to Consolidated Financial Statements.

Attached as Exhibit 104 to this report is the Cover Page Interactive Data File (embedded within the Inline XBRL document).

Item 16. Form 10-K Summary

None.

52

SIGNATURES

Pursuant to the requirements of Section 13 or 15 (d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.

PC CONNECTION, INC.

Date: March 7, 2024

By:

/s/ TIMOTHY J. MCGRATH

Timothy J. McGrath

President and Chief Executive Officer

Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.

Name

Title

Date

/s/ TIMOTHY J. MCGRATH

Timothy J. McGrath

President and Chief Executive Officer (Principal Executive Officer)

March 7, 2024

/s/ THOMAS C. BAKER

Thomas C. Baker

Senior Vice President, Chief Financial Officer and Treasurer (Principal Financial and Accounting Officer)

March 7, 2024

/s/ PATRICIA GALLUP

Patricia Gallup

Chairman of the Board

March 7, 2024

/s/ DAVID BEFFA-NEGRINI

David Beffa-Negrini

Director

March 7, 2024

/s/ JAY BOTHWICK

Jay Bothwick

Director

March 7, 2024

/s/ BARBARA DUCKETT

Barbara Duckett

Director

March 7, 2024

/s/ JACK FERGUSON

Jack Ferguson

Director

March 7, 2024

/s/ GARY KINYON

Gary Kinyon

Director

March 7, 2024

53

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

To the shareholders and the Board of Directors of PC Connection, Inc.

Opinion on the Financial Statements

We have audited the accompanying consolidated balance sheets of PC Connection, Inc. and subsidiaries (the "Company") as of December 31, 2023 and 2022, the related consolidated statements of income, comprehensive income, changes in shareholder’s equity, and cash flows, for each of the three years in the period ended December 31, 2023, and the related notes and the schedule listed in the Index at Item 15 (collectively referred to as the "financial statements"). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, in conformity with accounting principles generally accepted in the United States of America.

We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company's internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control — Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission and our report dated March 7, 2024, expressed an unqualified opinion on the Company's internal control over financial reporting.

Basis for Opinion

These financial statements are the responsibility of the Company's management. Our responsibility is to express an opinion on the Company's financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.

Critical Audit Matter

The critical audit matter communicated below is a matter arising from the current-period audit of the financial statements that was communicated or required to be communicated to the audit committee and that (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.

Revenue — Refer to Note 2 to the financial statements

Critical Audit Matter Description

As described in Note 2 to the consolidated financial statements, the Company recognizes revenue when control is transferred to the customer. The amount of revenue recognized by the Company is dependent upon whether the Company is the principal in the transaction whereby revenue is recorded on a gross basis or the agent whereby the revenue is reported net. The Company applies judgement to determine if the Company is the principal or the agent in the transaction. The Company has determined that in general they are the principal in providing hardware products and on-premise software products, and that they are the agent in providing cloud-based software products and maintenance products. This determination is based on certain factors such as whether the Company controls the goods or services before they are transferred to the customer, whether the Company is primarily responsible for fulfilling the promise to provide the good or service, the inventory risk associated with the transaction, and the discretion in establishing price for good or service.

Given these factors and due to the volume of transactions, the related audit effort in evaluating management's judgments in determining principal versus agent determination for these customer agreements was extensive and required a high degree of auditor judgment.

F-2

How the Critical Audit Matter Was Addressed in the Audit

Our principal audit procedures related to the Company's revenue recognition for these customer agreements included the following:

We tested the effectiveness of controls over management’s principal versus agent determination for each performance obligation including those over the determination of the fulfillment type and on or off premise delivery.
We evaluated management's significant accounting policies and judgements related to principal versus agent determinations.
We selected a sample of transactions and related customer agreement and performed the following procedures:
oObtained and read contract source documents for each selection, including master agreements, customer purchase orders, and other documents that were part of the agreement and evaluated the nature of the product or services.
oAssessed the terms in the customer agreement and evaluated the appropriateness of management's judgement, application of their accounting policies, along with their use of estimates, in the determination of revenue recognition conclusions including an evaluation of the Company’s determination of product fulfillment type, on or off premise determination and determination of principal versus agent.

/s/ Deloitte & Touche LLP

Boston, Massachusetts

March 7, 2024

We have served as the Company's auditor since 1984

F-3

PC CONNECTION, INC. AND SUBSIDIARIES

CONSOLIDATED BALANCE SHEETS

(amounts in thousands, except per share data)

December 31, 

 

 

2023

    

2022

 

ASSETS

Current Assets:

Cash and cash equivalents

$

144,954

$

122,930

Short-term investments

152,232

Accounts receivable, net

 

606,834

 

610,280

Inventories, net

 

124,179

 

208,682

Income taxes receivable

4,348

Prepaid expenses and other current assets

 

16,092

 

11,900

Total current assets

 

1,048,639

 

953,792

Property and equipment, net

 

56,658

 

59,171

Right-of-use assets

4,340

7,558

Goodwill

 

73,602

 

73,602

Intangibles, net

 

3,428

 

4,648

Other assets

 

1,714

 

1,055

Total Assets

$

1,188,381

$

1,099,826

LIABILITIES AND STOCKHOLDERS’ EQUITY

Current Liabilities:

Accounts payable

$

263,682

$

232,638

Accrued payroll

 

20,440

 

24,071

Accrued expenses and other liabilities

 

43,843

 

53,808

Total current liabilities

 

327,965

 

310,517

Deferred income taxes

 

15,844

 

17,970

Noncurrent operating lease liabilities

3,181

4,994

Other liabilities

 

624

 

170

Total Liabilities

 

347,614

 

333,651

Stockholders’ Equity:

Common Stock, $.01 par value, 100,000 shares authorized, 29,262 and 29,123 issued, 26,360 and 26,350 outstanding at December 31, 2023 and 2022, respectively

293

291

Additional paid-in capital

 

130,878

 

125,784

Retained earnings

 

760,898

 

686,037

Accumulated other comprehensive income

81

Treasury stock at cost, 2,902 and 2,773 shares at December 31, 2023 and 2022, respectively

(51,383)

(45,937)

Total Stockholders’ Equity

 

840,767

 

766,175

Total Liabilities and Stockholders’ Equity

$

1,188,381

$

1,099,826

See notes to consolidated financial statements.

F-4

PC CONNECTION, INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF INCOME

(amounts in thousands, except per share data)

Years Ended December 31, 

 

 

2023

    

2022

    

2021

 

Net sales

$

2,850,644

$

3,124,996

$

2,892,595

Cost of sales

 

2,338,908

 

2,598,819

 

2,428,016

Gross profit

 

511,736

 

526,177

 

464,579

Selling, general and administrative expenses

 

405,896

 

405,625

 

368,062

Restructuring and other charges

2,687

Income from operations

 

103,153

 

120,552

 

96,517

Other income, net

 

9,961

 

1,083

 

5

Income before taxes

 

113,114

 

121,635

 

96,522

Income tax provision

 

(29,843)

 

(32,416)

 

(26,616)

Net income

$

83,271

$

89,219

$

69,906

Earnings per common share:

Basic

$

3.17

$

3.40

$

2.67

Diluted

$

3.15

$

3.37

$

2.65

Shares used in computation of earnings per common share:

Basic

 

26,287

 

26,279

 

26,196

Diluted

 

26,429

 

26,443

 

26,364

See notes to consolidated financial statements.

F-5

PC CONNECTION, INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME

(amounts in thousands)

Years Ended December 31, 

 

 

2023

    

2022

    

2021

 

Net income

$

83,271

$

89,219

$

69,906

Other comprehensive income:

Unrealized gains on available-for-sale investments, net of tax of $(22)

 

81

 

 

Comprehensive income

$

83,352

$

89,219

$

69,906

See notes to consolidated financial statements

F-6

PC CONNECTION, INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENT OF CHANGES IN STOCKHOLDERS’ EQUITY

(amounts in thousands)

Additional

 

Common Stock

Paid-In

Retained

Accumulated Other

Treasury Shares

    

Shares

    

Amount

    

Capital

    

Earnings

    

Comprehensive Income

    

Shares

    

Amount

    

Total

 

Balance - December 31, 2020

 

28,943

$

289

$

119,891

$

562,084

 

$

 

(2,773)

$

(45,937)

$

636,327

Stock-based compensation expense

 

 

 

4,231

 

 

 

 

 

 

4,231

Restricted stock units vested

 

82

 

1

 

(1)

 

 

 

 

 

 

Shares withheld for taxes paid on stock awards

 

 

 

(1,767)

 

 

 

 

 

 

(1,767)

Dividend declaration

 

 

 

 

(26,224)

 

 

 

 

 

(26,224)

Net income

 

 

 

 

69,906

 

 

 

 

 

69,906

Balance - December 31, 2021

 

29,025

$

290

$

122,354

$

605,766

 

$

 

(2,773)

$

(45,937)

$

682,473

Stock-based compensation expense

 

 

 

5,675

 

 

 

 

 

 

5,675

Restricted stock units vested

 

98

 

1

 

(1)

 

 

 

 

 

 

Shares withheld for taxes paid on stock awards

 

 

 

(2,244)

 

 

 

 

 

 

(2,244)

Dividend declaration

 

 

 

 

(8,948)

 

 

 

 

 

(8,948)

Net income

 

 

 

 

89,219

 

 

 

 

 

89,219

Balance - December 31, 2022

 

29,123

$

291

$

125,784

$

686,037

 

$

 

(2,773)

$

(45,937)

$

766,175

Stock-based compensation expense

 

 

 

7,022

 

 

 

 

 

 

7,022

Restricted stock units vested

 

118

 

2

 

(2)

 

 

 

 

 

 

Shares withheld for taxes paid on stock awards

 

 

 

(3,015)

 

 

 

 

 

 

(3,015)

Repurchase of common stock for treasury

 

 

 

 

 

 

 

(129)

 

(5,446)

 

(5,446)

Issuance of common stock under Employee Stock Purchase Plan

 

21

 

 

1,089

 

 

 

 

 

 

1,089

Dividend declaration

 

 

 

 

(8,410)

 

 

 

 

 

(8,410)

Net income

 

 

 

 

83,271

 

 

 

 

 

83,271

Other comprehensive income, net of tax

 

 

 

 

 

 

81

 

 

 

81

Balance - December 31, 2023

 

29,262

$

293

$

130,878

$

760,898

 

$

81

 

(2,902)

$

(51,383)

$

840,767

See notes to consolidated financial statements.

F-7

PC CONNECTION, INC. AND SUBSIDIARIES

CONSOLIDATED STATEMENTS OF CASH FLOWS

(amounts in thousands)

 

Years Ended December 31, 

 

2023

    

2022

    

2021

 

Cash Flows provided by Operating Activities:

Net income

$

83,271

$

89,219

$

69,906

Adjustments to reconcile net income to net cash provided by operating activities:

Depreciation and amortization

 

12,654

 

11,978

 

12,202

Adjustments to credit losses reserve

 

1,847

 

3,252

 

3,307

Stock-based compensation expense

 

7,022

 

5,675

 

4,231

Deferred income taxes

 

(2,148)

 

(1,308)

 

753

Amortization of discount on short-term investments

 

(1,522)

 

 

Loss (gain) on disposal of fixed assets

 

572

 

17

 

(36)

Changes in assets and liabilities:

Accounts receivable

 

1,599

 

(6,000)

 

(1,318)

Inventories

 

84,503

 

(2,127)

 

(65,688)

Prepaid expenses and other current assets

 

(8,540)

 

(1,884)

 

1,421

Other non-current assets

 

(659)

 

(145)

 

435

Accounts payable

 

31,146

 

(49,056)

 

14,814

Accrued expenses and other liabilities

 

(11,791)

 

(14,732)

 

17,727

Net cash provided by operating activities

 

197,954

 

34,889

 

57,754

Cash Flows used in Investing Activities:

Purchases of short-term investments

(150,607)

Purchases of equipment and capitalized software

(9,595)

(9,077)

(10,302)

Proceeds from sale of equipment

69

Proceeds from life insurance

1,500

Net cash used in investing activities

 

(160,202)

 

(9,077)

 

(8,733)

Cash Flows used in Financing Activities:

Proceeds from short-term borrowings

 

88,198

36,463

Repayment of short-term borrowings

(88,198)

(36,463)

Purchase of treasury shares

 

(5,392)

Dividend payments

 

(8,410)

 

(8,948)

 

(34,599)

Issuance of stock under Employee Stock Purchase Plan

1,089

Payment of payroll taxes on stock-based compensation through shares withheld

 

(3,015)

 

(2,244)

 

(1,767)

Net cash used in financing activities

 

(15,728)

 

(11,192)

 

(36,366)

Increase in cash and cash equivalents

 

22,024

 

14,620

 

12,655

Cash and cash equivalents, beginning of year

 

122,930

 

108,310

 

95,655

Cash and cash equivalents, end of year

$

144,954

$

122,930

$

108,310

Non-cash Investing and Financing Activities:

Accrued capital expenditures

$

90

$

192

$

334

Accrued excise tax on treasury purchases

54

Supplemental Cash Flow Information:

Income taxes paid

$

41,668

$

33,687

$

21,465

Interest paid

24

4

See notes to consolidated financial statements.

F-8

PC CONNECTION, INC. AND SUBSIDIARIES

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

(amounts in thousands, except per share data)

1.   SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

PC Connection, Inc. is a Fortune 1000 Global Solutions Provider that simplifies the information technology, or IT, customer experience, guiding the connection between people and technology. The Company’s dedicated account managers partner with customers to design, deploy, and support cutting-edge IT environments using the latest hardware, software, and services. The Company provides a wide range of IT solutions, from the desktop to the cloud—including computer systems, data center solutions, software and peripheral equipment, networking communications, and other products and accessories that the Company purchases from manufacturers, distributors, and other suppliers. In 2023, the Company restructured and combined its Technology Solutions Group and Technical Sales Organization into one organization to be referred to as the Technology Solutions Organization, or TSO. The Company’s TSO and state-of-the-art Technology Integration and Distribution Center with ISO 9001:2015 certified technical configuration lab offer end-to-end services related to the design, configuration, and implementation of IT solutions. The Company also provides a comprehensive portfolio of managed services and professional services. These services are performed by the Company’s personnel and by third-party providers. The Company’s GlobalServe offering ensures worldwide coverage for the Company’s multinational customers, delivering global procurement solutions through the Company’s network of in-country suppliers in over 150 countries.

The Company operates through three operating segments:

Connection Enterprise Solutions – serving large enterprise customers

Connection Business Solutions – serving small to medium-sized businesses, or SMBs

Connection Public Sector Solutions – serving federal, state, and local government and educational institutions

The following is a summary of the Company’s significant accounting policies:

Principles of Consolidation

The consolidated financial statements include the accounts of PC Connection, Inc. and its subsidiaries, all of which are wholly-owned. Intercompany transactions and balances are eliminated in consolidation.

Use of Estimates in the Preparation of Financial Statements

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts and disclosures of assets and liabilities and the reported amounts and disclosures of revenue and expenses during the period. Management bases its estimates and judgments on the information available at the time and various other assumptions believed to be reasonable under the circumstances. By nature, estimates are subject to an inherent degree of uncertainty. Actual results could differ from those estimates and assumptions.

Revenue Recognition

Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The Company enters into contracts that can include various combinations of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In most instances, when several performance obligations are aggregated into one single transaction, these performance obligations are fulfilled at the same point in time. The Company accounts for an arrangement when it has approval and commitment from both parties, the rights are

F-9

identified, the contract has commercial substance, and collectability of consideration is probable. The Company generally obtains oral or written purchase authorizations from its customers for a specified amount of product at a specified price, which constitutes an arrangement. Revenue is recognized at the amount expected to be collected, net of any taxes collected from customers, which are subsequently remitted to governmental authorities. The Company generally invoices for its products at the time of shipping, and accordingly there is not a significant financing component included in its arrangements.

Cost of Sales and Certain Other Costs

Cost of sales includes the invoice cost of the product, direct employee and third-party cost of services, direct costs of packaging, inbound and outbound freight, and provisions for inventory obsolescence, adjusted for discounts, rebates, and other vendor allowances.

Cash and Cash Equivalents and Investments

The Company considers all highly liquid short-term investments with original maturities of 90 days or less to be cash equivalents. The carrying value of the Company’s cash equivalents approximates fair value. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.

The majority of payments due from credit card processors and banks for third-party credit card and debit card transactions process within one to five business days. All credit card and debit card transactions that process in less than seven days are classified as cash and cash equivalents. Amounts due from banks for credit card transactions classified as cash equivalents totaled $3,839 and $6,862 at December 31, 2023 and 2022, respectively.

At the time of purchase, the Company determines the appropriate classification of investments based upon its intent with regard to such investments. All of the Company’s investments are classified as available-for-sale. The Company classifies investments as short-term when their remaining contractual maturities are one year or less from the balance sheet date, and as long-term when the investment has a remaining contractual maturity of more than one year from the balance sheet date. The Company records investments at fair value with unrealized gains and losses recorded as a component of accumulated other comprehensive income on the consolidated balance sheets.

Included in other income, net on the consolidated statements of income is interest income on cash equivalents and short-term investments of $9,983 and $1,056 for the years ended December 31, 2023 and 2022, respectively. Interest income on cash equivalents and short-term investments was less than $1 for the year ended December 31, 2021.

Accounts Receivable

Accounts receivable are recorded at the invoice amount, net of allowances. Customers are evaluated for their credit worthiness at the time of contract inception and the Company performs ongoing credit evaluations of its customers and adjusts credit limits based on payment history and customer creditworthiness. Based on the results of the credit assessments, the Company will extend credit under its standard payment terms or may request alternative early payment actions. The Company determines the required allowance for expected credit losses using information such as its customer credit history and financial condition, industry and market segment information, credit reports, and economic trends and conditions. Allowances can be affected by changes in the industry, customer credit issues or customer bankruptcies or expectations of any such events in a future period when reasonable and supportable. Historical information is utilized beyond reasonable and supportable forecast periods. Amounts are charged against the allowance when it is determined that expected credit losses may occur. The Company assesses collectability by reviewing account receivable on an aggregated basis where similar characteristics exist and on an individual basis when the Company identifies specific customers with collectability issues, and if necessary, records a reserve against those receivables it determines may not be collectable. Trade receivables are written off in the period in which they are deemed uncollectible. Recoveries of trade receivables previously charged are recorded when received.

F-10

Inventories

Inventories (all finished goods) are stated at cost (which approximates the first-in, first-out method) or net realizable value, whichever is lower. Inventory quantities on hand are reviewed regularly, and allowances are maintained for obsolete, slow moving, and nonsalable inventory.

Advertising Costs and Vendor Consideration

Vendors have the ability to fund advertising activities for which the Company receives advertising consideration. This vendor consideration, to the extent that it represents specific reimbursements of incremental and identifiable costs, is offset against selling, general and administrative, or SG&A, expenses. Advertising consideration that cannot be associated with a specific program or that exceeds the fair value of advertising expense associated with that program is classified as an offset to cost of sales. The Company’s vendor partners generally consolidate their funding of advertising and other marketing programs, and accordingly, the Company classifies substantially all vendor consideration as a reduction of cost of sales rather than a reduction of advertising expense. Other advertising costs are expensed as incurred. Advertising expense, which is classified as a component of SG&A expenses on the consolidated statements of income, totaled $22,400, $20,155, and $15,827 for the years ended December 31, 2023, 2022, and 2021, respectively.

Property and Equipment

Property and equipment are stated at cost, net of accumulated depreciation and amortization. The estimated useful lives of the assets range from three to seven years. Computer software, including licenses and internally developed software, is capitalized and amortized over lives generally ranging from three to ten years. Depreciation is recorded using the straight-line method. Leasehold improvements and facilities under capital leases are amortized over the terms of the related leases or their useful lives, whichever is shorter, whereas for income tax reporting purposes, they are amortized over the applicable tax lives.

Costs incurred to develop internal-use software during the application development stage are recorded in property and equipment at cost. External direct costs of materials and services consumed in developing or obtaining internal-use computer software and payroll-related costs for employees developing internal-use computer software projects, to the extent of their time spent directly on the project and specific to application development, are capitalized.

When events or circumstances indicate a potential impairment, the Company evaluates the carrying value of property and equipment based upon current and anticipated undiscounted cash flows. The Company recognizes impairment when it is probable that such estimated future cash flows will be less than the asset carrying value. No property and equipment impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.

Leases

The Company enters into operating lease contracts, as assessed at contract inception, primarily for real estate and equipment. On the lease commencement date, the Company records operating lease liabilities based on the present value of the future lease payments. In determining the present value of future lease payments, the Company utilized estimated rates that it would have incurred to borrow, over a similar term, the funds necessary to purchase the respective leased asset with cash.

The Company elects to apply the short-team lease exception to any leases with contractual obligations of one year or less. These leases will not have right-of-use, or ROU, assets and associated lease liabilities on the balance sheet. Instead, rent will be recognized on a straight-line basis.

Goodwill and Other Intangible Assets

The Company’s intangible assets consist of (1) goodwill, which is not subject to amortization; (2) an internet domain name, which is an indefinite-lived intangible asset not subject to amortization; and (3) amortizing intangibles,

F-11

which consist of customer lists, trade names, and customer relationships, which are being amortized over their useful lives.

Note 4 describes the annual impairment methodology that the Company uses each year in calculating the recoverability of goodwill and non-amortizing intangibles. This same impairment test is performed at other times during the course of a year should an event occur or circumstance change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.

Recoverability of amortizing intangible assets is assessed only when events have occurred that may give rise to impairment. When a potential impairment has been identified, forecasted undiscounted net cash flows of the operations to which the asset relates are compared to the current carrying value of the long-lived assets present in that operation. If such cash flows are less than such carrying amounts, long-lived assets including such intangibles, are written down to their respective fair values. No intangible assets impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.

Concentrations

Concentrations of credit risk with respect to trade account receivables are limited due to the large number of customers comprising the Company’s customer base. No single customer accounted for 10% or more of total net sales in 2023, 2022, and 2021.

Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Microsoft Corporation accounted for approximately 21%, 19%, and 11%, respectively, of the Company’s total product purchases in 2023. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 22%, and 15%, respectively, of the Company’s total product purchases in 2022. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 23%, and 12%, respectively, of the Company’s total product purchases in 2021. No other singular vendor supplied more than 10% of the Company’s total product purchases in 2023, 2022, and 2021. The Company believes that, while it may experience some short-term disruption if products from Ingram Micro, Inc., TD Synnex Corporation, Microsoft Corporation, Dell Inc., or any of these vendors become unavailable to it, alternative sources are available.

Products manufactured by Microsoft Corporation, HP Inc., and Dell Inc. represented approximately 15%, 13%, and 11%, respectively, of our total product purchases in 2023. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 14%, 13%, 12%, and 11% of our total product purchases in 2022. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 15%, 14%, 11%, and 10% of our total product purchases in 2021. No other singular product manufacturer produced more than 10% of our total product purchases in 2023, 2022, and 2021. In the event the Company experiences either a short-term or permanent disruption of supply of Microsoft Corporation, HP Inc., or Dell Inc. products, such disruption would likely have a material adverse effect on the Company’s results of operations and cash flows.

F-12

Restructuring and Other charges

The restructuring and other charges recorded for the year ended December 31, 2023 were primarily related to an involuntary reduction in our headquarter workforce and included cash severance and other related termination benefits. These costs will be paid within a year of termination and any unpaid balances are included in accrued expenses and other liabilities in the consolidated balance sheets as of December 31, 2023. The Company is currently evaluating additional restructuring activities for 2024 and beyond.

Costs incurred for restructuring and other chargers were as follows (in thousands):

Year Ended December 31, 

2023

    

2022

    

2021

Employee separations

$

2,416

$

$

Other charges

 

271

 

 

Total restructuring and other charges

$

2,687

$

$

Included in accrued expenses and other liabilities on the consolidated balance sheets as of December 31, 2023 was $324 related to unpaid employee separation benefits.

Earnings Per Share

Basic earnings per common share is computed using the weighted average number of shares outstanding. Diluted earnings per share is computed using the weighted average number of shares outstanding adjusted for the incremental shares attributable to nonvested stock units and stock options outstanding, if dilutive.

The following table sets forth the computation of basic and diluted earnings per share (in thousands, except per share data):

 

2023

    

2022

    

2021

 

Numerator:

Net income

$

83,271

$

89,219

$

69,906

Denominator:

Denominator for basic earnings per share

 

26,287

 

26,279

 

26,196

Dilutive effect of employee stock awards

 

142

 

164

 

168

Denominator for diluted earnings per share

 

26,429

 

26,443

 

26,364

Earnings per share:

Basic

$

3.17

$

3.40

$

2.67

Diluted

$

3.15

$

3.37

$

2.65

For the years ended December 31, 2023, 2022, and 2021, the Company did not exclude any outstanding nonvested stock units or stock options from the computation of diluted earnings per share because including them would have had an anti-dilutive effect.

Recently Issued Financial Accounting Standards

In March 2020, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. This guidance provides temporary optional expedients and exceptions to the U.S. GAAP guidance on contract modifications and hedge accounting to ease the financial reporting burdens of the expected market transition from the London Interbank Offered Rate, or LIBOR, and other interbank offered rates to alternative reference rates, such as the Secured Overnight Financing Rate. This ASU is applied prospectively and becomes effective immediately upon the transition from LIBOR. The Company’s secured credit facility agreement references LIBOR, which is expected to be discontinued as a result of reference rate reform. The amendments are effective as of March 12, 2020 through December

F-13

31, 2022; however, ASU 2022-06, Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848 has extended the effective date through December 31, 2024. The Company adopted this standard for the fiscal year ended December 31, 2023. The adoption of this ASU along with the related expedients did not have an impact to the Company’s consolidated financial statements.

In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. This guidance is intended to improve segment reporting disclosures on both an interim and annual basis, primarily through enhanced disclosures about significant segment expenses. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2024, and for interim reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This guidance is intended to improve the transparency of income tax disclosures through, among other things, enhancement of the disclosure requirements within the rate reconciliation, as well as increased income tax disaggregation disclosures. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.

2. REVENUE

Nature of Products and Services

IT products typically represent a distinct performance obligation, and revenue is recognized at the point in time when control is transferred to the customer which is generally upon delivery to the customer. The Company recognizes revenue as the principal in the transaction with the customer (i.e., on a gross basis), as it controls the product prior to delivery to the customer and derives the economic benefits from the sales transaction given the Company’s control over customer pricing.

The Company does not recognize revenue for goods that remain in its physical possession before the customer has the ability to direct the use of, and obtain substantially all of the remaining benefits from the products, the goods are ready for physical transfer to and identified as belonging to the customer, and when the Company has no ability to use the product or to direct it to another customer.

Licenses for on-premise software provide the customer with a right to take possession of the software. Customers may purchase perpetual licenses or enter into subscriptions to the licensed software. The Company is the principal in these transactions and recognizes revenue for the on-premise license at the point in time when the software is made available to the customer and the commencement of the term of the software license or when the renewal term begins, as applicable.

For certain on-premise licenses for security software, the customer derives substantially all of the benefit from these arrangements through the third-party delivered software maintenance, which provides software updates and other support services. The Company does not have control over the delivery of these performance obligations, and accordingly the Company is the agent in these transactions. The Company recognizes revenue for security software net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangement. Cloud products allow customers to use hosted software over the contractual period without taking possession of the software and are provided on a subscription basis. The Company does not exercise control over these products or services and therefore is an agent in these transactions. The Company recognizes revenue for cloud products net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangements.

Certain software sales include on-premise licenses that are combined with software maintenance. Software maintenance conveys rights to updates, bug fixes and help desk support, and other support services transferred over the underlying contract period. On-premise licenses are considered distinct performance obligations when sold with the

F-14

software maintenance, as the Company sells these items separately. The Company recognizes revenue related to the software maintenance as the agent in these transactions because it does not have control over the on-going software maintenance service. Revenue allocated to software maintenance is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangements.

Certain of the Company’s larger customers are offered the opportunity by vendors to purchase software licenses and maintenance under enterprise agreements, or EAs. Under EAs, customers are considered to be compliant with applicable license requirements for the ensuing year, regardless of changes to their employee base. Customers are charged an annual true-up fee for changes in the number of users over the year. With most EAs, the Company’s vendors will transfer the license and bill the customer directly, paying resellers, such as the Company, an agency fee or commission on these sales. The Company records these agency fees as a component of net sales as earned and there is no corresponding cost of sales amount. In certain instances, the Company invoices the customer directly under an EA and accounts for the individual items sold based on the nature of each item. The Company’s vendors typically dictate how the EA will be sold to the customer.

The Company also offers extended service plans, or ESPs, on IT products, both as part of the initial arrangement and separately from the IT products. The Company recognizes revenue related to ESPs as the agent in the transaction because it does not have control over the on-going ESPs service and does not provide any service after the sale. Revenue allocated to ESPs is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangement.

The Company uses its own engineering personnel to assist in projects involving the design and installation of systems and networks, and also engages third-party service providers to perform warranty maintenance, implementations, asset disposal, and other services. Service revenue is recognized in general over time as the Company performs the underlying services and satisfies its performance obligations. The Company evaluates such engagements to determine whether it is the principal or the agent in each transaction. For those transactions in which the Company does not control the service, the Company acts as an agent and recognizes the transaction revenue on a net basis at a point in time when the vendor and customer accept the terms and conditions in the sales arrangement.

All amounts billed to a customer in a sales transaction related to shipping and handling, if any, represent revenues earned for the goods provided, and these amounts have been included in net sales. Costs related to shipping and handling billing are classified as cost of sales. Sales are reported net of sales, use, or other transaction taxes that are collected from customers and remitted to taxing authorities.

Significant Judgments

The Company’s contracts with customers often include promises to transfer multiple products or services to a customer. Determining whether the Company is the agent or the principal and whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.

The Company estimates the standalone selling price, or SSP, for each distinct performance obligation when a single arrangement contains multiple performance obligations and the fulfillment occurs at different points in time. The Company maximizes the use of observable inputs in the determination of the estimate for SSP for the items that it does not sell separately, including on-premise licenses sold with software maintenance, and IT products sold with ESPs. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company provides its customers with a limited thirty-day right of return, which is generally limited to defective merchandise, and gives rise to variable consideration. Revenue is recognized based on the most likely amount to which it is expected to be entitled. The estimated variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur once the uncertainty is resolved. The Company makes estimates of product returns based on significant historical experience. The Company records its sales

F-15

return reserve as a reduction of revenues and either as reduction of accounts receivable or, for customers who have already paid, as accrued expenses and as a reduction of cost of sales and an associated right of return asset.

Description of Revenue

The Company disaggregates revenue from its arrangements with customers by type of products and services, as it believes this method best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.

The following tables represent a disaggregation of revenue from arrangements with customers for the years ended December 31, 2023, 2022 and 2021, along with the segment for each category (in thousands).

For the Year Ended December 31, 2023

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

391,667

$

352,116

$

207,887

$

951,670

Desktops

137,679

73,302

55,946

266,927

Software

124,478

157,715

47,321

329,514

Servers/Storage

65,034

90,697

45,564

201,295

Net/Com Products

 

112,069

 

121,717

62,488

 

296,274

Displays and Sound

106,419

92,219

60,244

258,882

Accessories

 

155,498

 

111,542

49,992

 

317,032

Other Hardware/Services

 

108,287

 

76,291

44,472

 

229,050

Total net sales

$

1,201,131

$

1,075,599

$

573,914

$

2,850,644

For the Year Ended December 31, 2022

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

462,152

$

473,375

$

221,363

$

1,156,890

Desktops

165,509

88,127

56,804

310,440

Software

108,243

147,792

36,071

292,106

Servers/Storage

64,622

 

103,711

44,588

212,921

Net/Com Products

 

85,611

 

98,672

32,548

 

216,831

Displays and Sound

132,269

118,753

67,860

318,882

Accessories

 

202,452

133,017

58,413

 

393,882

Other Hardware/Services

 

103,504

 

81,863

37,677

 

223,044

Total net sales

$

1,324,362

$

1,245,310

$

555,324

$

3,124,996

For the Year Ended December 31, 2021

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

428,868

$

426,022

$

241,146

$

1,096,036

Desktops

140,468

87,822

45,989

274,279

Software

119,423

120,104

39,611

279,138

Servers/Storage

66,027

 

92,922

37,081

196,030

Net/Com Products

 

86,454

 

81,681

34,336

 

202,471

Displays and Sound

125,610

99,474

59,153

284,237

Accessories

 

179,249

115,048

44,104

 

338,401

Other Hardware/Services

 

103,360

 

75,423

43,220

 

222,003

Total net sales

$

1,249,459

$

1,098,496

$

544,640

$

2,892,595

F-16

Contract Balances

The following table provides information about contract liabilities from arrangements with customers as of December 31, 2023 and December 31, 2022 (in thousands):

    

December 31, 2023

    

December 31, 2022

Contract liabilities, which are included in "Accrued expenses and other liabilities"

$

4,206

$

4,266

Changes in the contract liability balances during the years ended December 31, 2023 and 2022 are as follows (in thousands):

    

2023

Balance at December 31, 2022

$

4,266

Cash received in advance and not recognized as revenue

 

21,173

Amounts recognized as revenue as performance obligations satisfied

 

(21,233)

Balance at December 31, 2023

$

4,206

2022

Balance at December 31, 2021

$

8,628

Cash received in advance and not recognized as revenue

 

20,626

Amounts recognized as revenue as performance obligations satisfied

 

(24,988)

Balance at December 31, 2022

$

4,266

k

3.   FAIR VALUE MEASUREMENTS

Cash equivalents and short-term investments consist of the following (in thousands):

December 31, 2023

    

Amortized Cost

    

Unrealized Gains

    

Unrealized Losses

    

Fair Value

Cash equivalents:

Money market funds

$

129,123

$

$

$

129,123

Short-term investments:

U.S. Government treasury securities

152,129

103

152,232

Total

$

281,252

$

103

$

$

281,355

December 31, 2022

    

Amortized Cost

    

Unrealized Gains

    

Unrealized Losses

    

Fair Value

Cash equivalents:

Money market funds

$

96,386

$

$

$

96,386

Total

$

96,386

$

$

$

96,386

Investments with maturities of 90 days or less from the date of purchase are classified as cash equivalents; investments with maturities of greater than 90 days from the date of purchase but less than one year are generally classified as short-term investments; and investments with maturities of one year or greater from the date of purchase are generally classified as long-term investments. All short-term investments had stated maturity dates of less than one year. The Company has recorded the securities at fair value in its consolidated balance sheets and unrealized gains and losses are reported as a component of accumulated other comprehensive income. The amount of realized gains and losses reclassified into earnings and the related adjustments to deferred taxes are based on the specific identification of the securities sold or securities that reached maturity date.

F-17

Fair Value

The Company measures certain financial assets at fair value. Fair value is determined based upon the exit price that would be received to sell an asset in an orderly transaction between market participants, as determined by either the principal market or the most advantageous market. Inputs used in the valuation techniques are classified based on a three-level hierarchy, as follows:

Level 1 inputs: Quoted prices for identical assets or liabilities in active markets;

Level 2 inputs: Observable inputs other than those described as Level 1; and

Level 3 inputs: Unobservable inputs that are supportable by little or no market activities and are based on significant assumptions and estimates.

As of December 31, 2023 and 2022, the fair value of the Company’s cash equivalents and short-term investments were all measured using level 1 inputs.

4.   GOODWILL AND OTHER INTANGIBLE ASSETS

Goodwill

Goodwill is held by the Company’s Enterprise Solutions and Business Solutions segments. Goodwill and intangible assets with indefinite lives are subject to an annual impairment test as of November 30 and tested more frequently if events or circumstances occur that would indicate a potential decline in fair value.

In 2023 and 2022, the Company performed a qualitative “step 0” analysis. Accounting Standards Codification 350—IntangibleGoodwill and Other states that an entity may assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount, including goodwill. This analysis allows the Company to consider qualitative factors that might impact the carrying amount of its goodwill to determine whether a more detailed quantitative analysis would be necessary. Factors considered when performing the impairment assessment included the Company’s performance relative to historical and projected future operating results, macroeconomic conditions, industry and market trends, cost factors that may have a negative impact on earnings and cash flows, changes in the Company’s stock price and market capitalization, and other relevant entity-specific events.

Based on the above qualitative analysis, the Company determined goodwill was not impaired as of December 31, 2023 and 2022.

The carrying amount of goodwill for the periods presented is detailed below (in thousands):

Balance at December 31, 2023

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

 

Goodwill, gross

$

66,236

$

8,539

$

7,634

$

82,409

Accumulated impairment losses

 

 

(1,173)

 

(7,634)

 

(8,807)

Net balance

$

66,236

$

7,366

$

$

73,602

Balance at December 31, 2022

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

 

Goodwill, gross

$

66,236

$

8,539

$

7,634

$

82,409

Accumulated impairment losses

 

 

(1,173)

 

(7,634)

 

(8,807)

Net balance

$

66,236

$

7,366

$

$

73,602

F-18

Intangible Assets

At December 31, 2023, the Company’s intangible assets included a domain name for $450, which has an indefinite life and is not subject to amortization. In addition, in 2016 the Company acquired customer relationships from its Softmart and GlobalServe acquisitions, which are amortized on a straight-line basis over their estimated useful lives of 10 years. The Company’s remaining intangible assets are amortized in proportion to the estimates of the future cash flows underlying the valuation of the assets. Intangible assets and related accumulated amortization are detailed below (in thousands):

December 31, 2023

December 31, 2022

 

    

Estimated

    

Gross

    

Accumulated

    

Net

    

Gross

    

Accumulated

    

Net

 

Useful Lives

Amount

Amortization

Amount

Amount

Amortization

Amount

 

Customer list

8

$

3,400

$

3,400

$

$

3,400

$

3,400

$

Tradename

5

 

1,190

 

1,190

 

 

1,190

 

1,190

 

Customer relationships

10

 

12,200

 

9,222

 

2,978

 

12,200

 

8,002

 

4,198

Total intangible assets

$

16,790

$

13,812

$

2,978

$

16,790

$

12,592

$

4,198

In 2023, 2022, and 2021, the Company recorded amortization expense of $1,220, $1,220, and $1,220, respectively. The estimated amortization expense relating to intangible assets in each of the five succeeding years and thereafter is as follows (in thousands):

For the Years Ended December 31, 

    

 

2024

$

1,220

2025

 

1,220

2026

 

538

2027

2028 and thereafter

 

$

2,978

.

5.   ACCOUNTS RECEIVABLE

Accounts receivable consisted of the following (in thousands):

December 31, 

 

    

2023

    

2022

 

Trade

$

556,542

$

561,857

Vendor consideration, returns and other

 

57,110

 

57,388

Due from employees

 

91

 

108

Total gross accounts receivable

 

613,743

 

619,353

Allowances for:

Sales returns

 

(3,121)

 

(3,806)

Credit losses

 

(3,788)

 

(5,267)

Accounts receivable, net

$

606,834

$

610,280

F-19

6.   PROPERTY AND EQUIPMENT

Property and equipment consisted of the following (in thousands):

December 31, 

 

    

2023

    

2022

 

Computer software, including licenses and internally-developed software

$

93,373

$

87,645

Furniture and equipment

 

36,916

 

39,316

Leasehold improvements

 

8,463

 

8,964

Total

 

138,752

 

135,925

Accumulated depreciation and amortization

 

(82,094)

 

(76,754)

Property and equipment, net

$

56,658

$

59,171

The Company recorded depreciation and amortization expense for property and equipment of $11,434, $10,758, and $10,982 in 2023, 2022, and 2021, respectively.

7. LEASES

The Company leases certain facilities from a related party, which is affiliated with the Company through common ownership.

As of December 31, 2023, the Company had no leases that were classified as financing leases and there were no additional operating or financing leases that have not yet commenced. Refer to the following table for quantitative information related to the Company’s leases for the year ended December 31, 2023 and 2022 (dollars in thousands):

 

Year Ended December 31, 2023

 

 

Related Parties

Others

Total

 

Lease Cost

 

  

 

  

 

  

Capitalized operating lease cost

$

1,149

$

2,235

$

3,384

Short-term lease cost

 

532

 

459

 

991

Total lease cost

$

1,681

$

2,694

$

4,375

Other Information

 

  

 

  

 

  

Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:

 

 

 

Operating cash flows

$

1,149

$

2,266

$

3,415

Weighted-average remaining lease term (in years):

 

  

 

  

 

  

Capitalized operating leases

2.92

2.92

Weighted-average discount rate:

Capitalized operating leases

3.92%

4.08%

4.04%

F-20

 

Year Ended December 31, 2022

 

Related Parties

Others

Total

Lease Cost

 

  

 

  

 

  

Capitalized operating lease cost

$

1,253

$

2,821

$

4,074

Short-term lease cost

 

428

 

121

 

549

Total lease cost

$

1,681

$

2,942

$

4,623

Other Information

 

  

 

  

 

  

Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:

 

 

 

Operating cash flows

$

1,253

$

2,846

$

4,099

Weighted-average remaining lease term (in years):

 

  

 

  

 

  

Capitalized operating leases

0.92

4.03

3.60

Weighted-average discount rate:

Capitalized operating leases

3.92%

4.05%

4.03%

As of December 31, 2023, future lease payments over the remaining term of capitalized operating leases were as follows (in thousands):

For the Years Ended December 31, 

    

Related Parties

    

Others

    

Total

2024

$

1,312

$

574

$

1,886

2025

 

163

 

1,650

 

1,813

2026

 

163

 

957

 

1,120

2027

 

1

 

236

 

237

2028

161

161

Thereafter

$

1,639

$

3,578

$

5,217

Imputed interest

(303)

Lease liability balance at December 31, 2023

$

4,914

As of December 31, 2023, the ROU asset had a balance of $4,340. The long-term lease liability was $3,181 and the short-term lease liability, which is included in accrued expenses and other liabilities in the consolidated balance sheets, was $1,733.

As of December 31, 2022, the ROU asset had a balance of $7,558. The long-term lease liability was $4,994 and the short-term lease liability, which is included in accrued expenses and other liabilities in the consolidated balance sheets, was $3,170.

F-21

8. ACCRUED EXPENSES AND OTHER LIABILITIES

Accrued expenses and other liabilities consisted of the following (in thousands):

December 31, 

    

2023

    

2022

Customer and vendor deposits

$

24,414

$

32,594

Sales tax

6,144

2,816

Short term lease liability

1,733

3,170

Other

 

11,552

 

15,228

Accrued expenses and other liabilities

$

43,843

$

53,808

9.   BANK BORROWINGS

The Company has a $50,000 credit facility collateralized by its account receivables that expires March 31, 2025. This facility can be increased, at the Company’s option, to $80,000 for permitted acquisitions or other uses authorized by the lender on substantially the same terms. Amounts outstanding under this facility bear interest at the daily Bloomberg Short-Term Bank Yield Index, or BSBY Rate, plus a spread based on the Company’s funded debt ratio, or in the absence of BSBY Rate, the prime rate (8.50% at December 31, 2023). The credit facility includes various customary financial ratios and operating covenants, including minimum net worth and maximum funded debt ratio requirements, and default acceleration provisions. The credit facility does not include restrictions on future dividend payments. Funded debt ratio is the ratio of average outstanding advances under the credit facility to Adjusted Earnings Before Interest Expense, Taxes, Depreciation, Amortization, and Special Charges, or Adjusted EBITDA. The maximum allowable funded debt ratio under the agreement is 2.0 to 1.0. Decreases in the Company’s consolidated twelve months Adjusted EBITDA could limit its potential borrowing capacity under the credit facility. As of December 31, 2023, the Company was in compliance with the covenants of the credit facility.

Cash receipts are automatically applied against any outstanding borrowings. During the years ended December 31, 2023 and 2022, the Company borrowed incremental amounts that were each repaid in full. These borrowings for the years ended December 31, 2023 and 2022 totaled $88,198 and $36,463, respectively; however, at no time were the outstanding borrowings greater than the $50,000 limit under the credit facility. The Company had no outstanding borrowings under the credit facility as of December 31, 2023 or 2022, and accordingly, the entire $50,000 credit facility was available for borrowings on such date.

10.   STOCKHOLDERS’ EQUITY AND SHARE-BASED COMPENSATION

Preferred Stock

The Company’s Amended and Restated Certificate of Incorporation (the “Restated Certificate”) authorizes the issuance of up to 10,000 shares of preferred stock, $0.01 par value per share (the “Preferred Stock”). Under the terms of the Restated Certificate, the Board is authorized, subject to any limitations prescribed by law, without stockholder approval, to issue by a unanimous vote such shares of Preferred Stock in one or more series. Each such series of Preferred Stock shall have such rights, preferences, privileges, and restrictions, including voting rights, dividend rights, redemption privileges, and liquidation preferences, as shall be determined by the Board. There were no preferred shares outstanding as of December 31, 2023 or 2022.

Share Repurchase Authorization

As of December 31, 2017, there was $30,000 authorized for share repurchase. In 2018, the Company’s Board approved a share repurchase program authorizing up to $25,000 in additional share repurchases. In November 2022, the Company’s Board approved a $25,000 increase to the Company’s existing share repurchase authorization, bringing the aggregate size of the share repurchase program to $80,000 as of December 31, 2023. There is no fixed termination date for this repurchase program. Purchases may be made in open-market transactions, block transactions on or off an

F-22

exchange, or in privately negotiated transactions. The timing and amount of any share repurchases will be based on market conditions and other factors.

The Company repurchased 129 shares for $5,446 during the year ended December 31, 2023 under the Board-authorized repurchase program. Such cost reflects the applicable one percent excise tax imposed by the Inflation Reduction Act of 2022 on the net value of certain stock repurchases made after December 31, 2022. There were no share repurchases during the years ended December 31, 2022 and 2021. As of December 31, 2023, the Company has repurchased an aggregate of 2,728 shares for $47,700 under the Board-authorized repurchase program, and the maximum approximate dollar value of shares that may yet be purchased under the Company’s existing Board-authorized program is $32,300.

Dividend Payments

The following table summarizes the Company’s quarterly cash dividends declared during the year ended December 31, 2023 (in thousands, except per share data):

Dividend per Share

    

Declaration Date

    

Record Date

    

Payment Date

    

Total Dividend

$

0.08

February 9, 2023

February 21, 2023

March 10, 2023

$

2,107

$

0.08

May 4, 2023

May 16, 2023

June 2, 2023

$

2,099

$

0.08

August 2, 2023

August 15, 2023

September 1, 2023

$

2,101

$

0.08

October 31, 2023

November 14, 2023

December 1, 2023

$

2,103

For the year ended December 31, 2022, the Company declared a special cash dividend of $0.34 per share. The total cash payment of $8,948 was made on December 23, 2022 to stockholders of record at the close of business on December 5, 2022. For the year ended December 31, 2021, the Company declared a special cash dividend of $1.00 per share. The total cash payment of $26,224 was made on December 3, 2021 to stockholders of record at the close of business on November 18, 2021.

Declaration of any future cash dividends will depend upon the Company’s financial position, strategic plans, and general business conditions.

Equity Compensation Plan Descriptions

In 2007, the Board adopted and the Company’s stockholders approved the 2007 Stock Incentive Plan. In 2010, the Board adopted and the stockholders approved the Amended and Restated 2007 Stock Incentive Plan (the “2007 Plan”), which, among other things, extended the term of the 2007 Plan to 2020. In May 2019, the Company’s stockholders approved an amendment to the 2007 Plan, which authorized the issuance of up to 1,900 shares of common stock. Under the terms of the 2007 Plan, the Company is authorized, for a ten-year period, to grant options, stock appreciation rights, nonvested stock, nonvested stock units, and other stock-based awards to employees, officers, directors, and consultants.

In 2020, the Board adopted and the Company’s stockholders approved the 2020 Stock Incentive Plan (the “2020 Plan”), which replaces the Amended and Restated 2007 Stock Incentive Plan. In May 2023, the Company’s stockholders approved an amendment to the 2020 Plan, which authorized the issuance of 1,253 shares of common stock. As of December 31, 2023, there were 283 shares eligible for future grants under the 2020 Plan.

1997 Employee Stock Purchase Plan

In November 1997, the Board adopted and the Company’s stockholders approved the 1997 Employee Stock Purchase Plan (the “Employee Stock Purchase Plan”). The Employee Stock Purchase Plan authorizes the issuance of common stock to participating employees. Under the Employee Stock Purchase Plan, as amended, employees are eligible to purchase Company stock at 95% of the purchase price as of the last business day of each six-month offering period. In May 2022, the Board adopted and the Company’s stockholders approved an amendment to the Employee Stock Purchase Plan, which reserved an aggregate of 1,303 shares of common stock for issuance under the Employee Stock Purchase Plan, of which 1,221 shares have been purchased as of December 31, 2023.

F-23

Accounting for Share-Based Compensation

The Company measures the grant date fair value of equity awards given to employees and recognizes that cost, adjusted for forfeitures, over the period that services are performed. The Company values grants with multiple vesting periods as a single award, estimates expected forfeitures based upon historical patterns of employee turnover, and records share-based compensation as a component of SG&A expenses.

The following table summarizes the share-based compensation expenses included in the consolidated statements of income (in thousands):

    

2023

    

2022

    

2021

 

Pre-tax expense for nonvested units

$

7,022

$

5,675

$

4,231

Tax benefit

 

(1,853)

 

(1,512)

 

(1,167)

Net effect on net income

$

5,169

$

4,163

$

3,064

In 2023, 2022, and 2021, the Company issued nonvested stock units that settle in stock and vest over periods of up to four years. Recipients of nonvested stock units do not possess stockholder rights. The fair value of nonvested stock units is based on the end of day market value of the Company’s common stock on the grant date. The following table summarizes the Company’s nonvested stock unit activity in 2023 (shares in thousands):

Nonvested Stock Units

 

    

    

Weighted-Average

 

Grant Date

 

Shares

Fair Value

 

Nonvested at January 1, 2023

 

535

$

42.44

Granted

107

62.50

Vested

 

(172)

 

41.93

Canceled

(20)

49.36

Nonvested at December 31, 2023

 

450

 

47.09

The weighted-average grant-date fair value of nonvested stock units granted in 2023, 2022 and 2021 was $62.50, $53.50, and $46.02, respectively. The total fair value of nonvested stock units that vested in 2023, 2022, and 2021 was $9,700, $7,202, and $5,529, respectively. Unearned compensation cost related to the nonvested portion of outstanding nonvested stock units was $19,592 as of December 31, 2023, and is expected to be recognized over a weighted-average period of approximately 3.0 years. The aggregate intrinsic value of the nonvested stock units at December 31, 2023, which is calculated based on the positive difference between the fair value of the Company’s stock on December 31, 2023 and the grant price of the underlying awards, was $30,238.

Stock Equivalent Units

The Company has also previously issued stock equivalent units, or SEUs, which settle in cash and vest ratably over four years, to non-executive employees. The fair value of these liability awards is based on the closing market price of the Company’s common stock and is remeasured at the end of each reporting period until the SEUs vest. The Company reports the compensation as a component of SG&A expense on the consolidated statements of income and the related liability as accrued payroll on the consolidated balance sheets.

    

2023

    

2022

    

2021

 

Units issued

 

 

 

Compensation expense

$

$

$

425

F-24

11.   INCOME TAXES

The provision for income taxes consisted of the following (in thousands):

Years Ended December 31, 

 

    

2023

    

2022

    

2021

 

Current:

Federal

$

24,648

$

25,483

$

18,450

State

 

7,343

 

8,200

 

7,413

Total current

 

31,991

 

33,683

 

25,863

Deferred:

Federal

 

(1,845)

 

(743)

 

655

State

 

(303)

 

(524)

 

98

Total deferred

 

(2,148)

 

(1,267)

 

753

Provision for income taxes

$

29,843

$

32,416

$

26,616

The components of the deferred taxes as of December 31, 2023 and 2022 are as follows (in thousands):

    

2023

    

2022

 

Deferred tax assets:

Allowance for credit losses

$

965

$

1,349

Inventory costs capitalized for tax purposes

 

127

 

227

Inventory valuation reserves

 

342

 

57

Sales return reserves

 

116

 

140

Deductible expenses, primarily employee-benefit related

 

6

 

79

Accrued compensation

 

1,304

 

2,249

Operating lease liability

1,251

2,084

Other

 

956

 

632

Capitalized research and development

1,542

598

Stock-based compensation

 

1,937

 

1,281

State tax loss carryforwards

 

941

 

1,151

State tax credit carryforwards

 

921

 

Total gross deferred tax assets

 

10,408

 

9,847

Less: Valuation allowance

 

(1,789)

 

(1,064)

Net deferred tax assets

 

8,619

 

8,783

Deferred tax liabilities:

Goodwill and other intangibles

 

(14,227)

 

(13,990)

Property and equipment

(8,877)

(10,572)

Right-of-use assets

(1,106)

(1,930)

Prepaid expenses

 

(253)

 

(261)

Total gross deferred tax liabilities

 

(24,463)

 

(26,753)

Net deferred tax liability

$

(15,844)

$

(17,970)

Current deferred tax assets

$

$

Noncurrent deferred tax liability

 

(15,844)

 

(17,970)

Net deferred tax liability

$

(15,844)

$

(17,970)

The Company has deferred tax assets from state net operating loss carryforwards aggregating $1,192 as of December 31, 2023 representing state tax benefits, net of federal taxes, of approximately $941. These loss carryforwards are subject to three, five, fifteen, twenty-year, or indefinite carryforward periods, with $2 expiring in 2024, $30 expiring in 2025, $63 expiring in 2026, $9 expiring in 2027, $5 expiring in 2028, $909 expiring beyond 2028, and $174 with no

F-25

expiration. The Company has provided valuation allowances of $868 and $1,064 as of December 31, 2023 and 2022, respectively, against the state tax loss carryforwards, representing the portion of carryforward losses that the Company believes are not likely to be realized. The Company also has New Hampshire Business Enterprise credits of $921. These credits are subject to a ten-year carryforward period, with $921 expiring beyond 2028. The Company has provided a valuation allowance of $921 as of December 31, 2023 against the New Hampshire Business Enterprise credit carryforwards. The net change in the total valuation allowance reflects a $725 increase and a $110 decrease in 2023 and 2022, respectively.

A reconciliation of the Company’s 2023, 2022, and 2021 income tax provision to total income taxes at the statutory federal tax rate is as follows (in thousands):

    

2023

    

2022

    

2021

 

Federal income taxes, at statutory tax rate

$

23,754

$

25,543

$

20,270

State income taxes, net of federal benefit

 

5,498

 

5,954

 

5,954

Nondeductible expenses

 

589

 

928

 

645

Other, net

 

2

 

(9)

 

(253)

Income tax provision

$

29,843

$

32,416

$

26,616

The Company files one consolidated U.S. Federal income tax return that includes all of its subsidiaries as well as several consolidated, combined, and separate Company returns in many U.S. state tax jurisdictions. The tax years 2019-2022 remain open to examination by the major state taxing jurisdictions in which the Company files. The tax years 2020-2022 remain open to examination by the Internal Revenue Service.

Previously, the Company recognized interest and penalties related to unrecognized income tax benefits as a component of income tax expense, and the corresponding accrual was included as a component of the Company’s liability for unrecognized income tax benefits. The Company did not recognize any interest and penalties for the years ended December 31, 2023, 2022 or 2021.

12.   EMPLOYEE BENEFIT PLAN

The Company has a contributory profit-sharing and employee savings plan covering all qualified employees. No contributions to the profit-sharing element of the plan were made by the Company in 2023, 2022, and 2021. The Company made matching contributions to the employee savings element of such plan of $6,873, $6,517, and $5,951 in 2023, 2022, and 2021, respectively.

13.   COMMITMENTS AND CONTINGENCIES

Contingencies

The Company is subject to various legal proceedings and claims, which have arisen during the ordinary course of business. In the opinion of the Company’s management, the outcome of such matters is not expected to have a material effect on the Company’s business, financial position, results of operations, or cash flows.

The Company records a liability when it believes that a loss is both probable and reasonably estimable. On a quarterly basis, the Company reviews each of these legal proceedings to determine whether it is probable, reasonably possible, or remote that a liability has been incurred and, if it is at least reasonably possible, whether a range of loss can be reasonably estimated. Significant judgment is required to determine both the likelihood of there being a loss and the estimated amount of such loss. Until the final resolution of such matters, there may be an exposure to loss in excess of the amount recorded, and such amounts could be material. The Company expenses legal fees in the period in which they are incurred.

The Company is subject to audits by states on sales and income taxes, employment matters, and other assessments. Additional liabilities for these and other audits could be assessed, and such outcomes could have a material negative impact on the Company’s financial position, results of operations, and cash flows.

F-26

14.   SEGMENT AND RELATED DISCLOSURES

The internal reporting structure used by the Company’s chief operating decision maker, or CODM, to assess performance and allocate resources determines the basis for the Company’s operating segments. The Company’s CODM is its Chief Executive Officer, and he evaluates operations and allocates resources based on a measure of operating income.

The Company’s operations are organized under three reporting segments—the Enterprise Solutions segment, which serves primarily medium-to-large corporations; the Business Solutions segment, which serves primarily SMBs; and the Public Sector Solutions segment, which serves primarily federal, state, and local government and educational institutions. In addition, the Headquarters/Other group provides services in areas such as finance, human resources, IT, marketing, and product management. Most of the operating costs associated with the Headquarters/Other group functions are charged to the operating segments based on their estimated usage of the underlying functions. The Company reports these charges to the operating segments as “Allocations.” Certain headquarters costs relating to executive oversight and other fiduciary functions that are not allocated to the operating segments are included under the heading of Headquarters/Other in the tables below.

Net sales presented below exclude inter-segment product revenues. Segment information applicable to the Company’s operating segments for the years ended December 31, 2023, 2022, and 2021 is shown below (in thousands):

Years Ended December 31, 

 

 

2023

    

2022

    

2021

 

Net sales:

Enterprise Solutions

$

1,201,131

$

1,324,361

$

1,249,459

Business Solutions

 

1,075,599

 

1,245,311

 

1,098,496

Public Sector Solutions

 

573,914

 

555,324

 

544,640

Total net sales

$

2,850,644

$

3,124,996

$

2,892,595

Operating income (loss):

Enterprise Solutions

$

39,216

$

53,477

$

74,653

Business Solutions

 

76,150

 

79,475

 

43,783

Public Sector Solutions

 

2,177

 

1,105

 

(4,928)

Headquarters/Other

 

(14,390)

 

(13,505)

 

(16,991)

Total operating income

 

103,153

 

120,552

 

96,517

Other income, net

 

9,961

 

1,083

 

5

Income before taxes

$

113,114

$

121,635

$

96,522

Selected operating expense:

Depreciation and amortization:

Enterprise Solutions

$

1,452

$

1,992

$

2,408

Business Solutions

 

628

 

661

 

655

Public Sector Solutions

 

84

 

78

 

62

Headquarters/Other

 

10,490

 

9,247

 

9,077

Total depreciation and amortization

$

12,654

$

11,978

$

12,202

Total assets:

Enterprise Solutions

$

704,577

$

660,374

Business Solutions

 

502,739

 

445,698

Public Sector Solutions

 

79,384

 

84,939

Headquarters/Other

 

(98,319)

 

(91,185)

Total assets

$

1,188,381

$

1,099,826

The assets of the Company’s operating segments presented above consist primarily of accounts receivable, net intercompany receivable, goodwill, and other intangibles. Goodwill of $66,236 and $7,366 is held by the Enterprise Solutions and Business Solutions segments, respectively, as of December 31, 2023. Assets reported under the Headquarters/Other group are managed by corporate headquarters, including cash, inventory, property and equipment

F-27

and intercompany balance, net. Total assets for the Headquarters/Other group are presented net of intercompany balances eliminations of $35,522 and $43,679 for the years ended December 31, 2023 and 2022, respectively. The Company’s capital expenditures consist largely of IT hardware and software purchased to maintain or upgrade its management information systems. These systems serve all of the Company’s subsidiaries, to varying degrees, and as a result, the CODM does not evaluate capital expenditures on a segment basis.

Substantially all of the Company’s sales in 2023, 2022, and 2021 were made to customers located in the United States. Shipments to customers located in foreign countries were not more than 2% of total net sales in 2023, 2022, and 2021. All of the Company’s assets as of December 31, 2023 and 2022 were located in the United States. The Company’s primary target customers are SMBs, medium-to-large businesses, and federal, state, and local government agencies and educational institutions.

F-28

PC CONNECTION, INC. AND SUBSIDIARIES

SCHEDULE II—VALUATION AND QUALIFYING ACCOUNTS

(amounts in thousands)

    

Balance at

    

Charged to

    

    

Balance at

 

Beginning

Costs and

Deductions/

End of

 

of Period

Expenses

Write-Offs

Period

 

Description

Allowance for Sales Returns

Year Ended December 31, 2021

$

4,014

 

32,635

 

(32,431)

$

4,218

Year Ended December 31, 2022

$

4,218

 

35,161

 

(35,573)

$

3,806

Year Ended December 31, 2023

$

3,806

 

34,477

 

(35,162)

$

3,121

Allowance for Credit Losses

Year Ended December 31, 2021

$

5,408

 

3,307

 

(3,890)

$

4,825

Year Ended December 31, 2022

$

4,825

 

3,252

 

(2,810)

$

5,267

Year Ended December 31, 2023

$

5,267

 

1,847

 

(3,326)

$

3,788

S-1

EX-21.1 2 cnxn-20231231xex21d1.htm EX-21.1

EXHIBIT 21.1

CORPORATE ORGANIZATIONAL STRUCTURE:

PC Connection, Inc., a Delaware corporation, is the parent company of the following wholly-owned subsidiaries:

1.PC Connection Sales Corporation, a Delaware corporation.

2.GovConnection, Inc., a Maryland corporation.

3. MoreDirect, Inc., a Florida corporation.

4. GlobalServe, Inc., a Delaware corporation.

EX-23.1 3 cnxn-20231231xex23d1.htm EX-23.1

Exhibit 23.1

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

We consent to the incorporation by reference in Registration Statement Nos. 333-209915, 333-194458, 333-187061, 333-179797, 333-166645, 333-144065, 333-161172, 333-130389, 333-179796, 333-202642, 333-223688, 333-231824, 333-239475, 333-266537, and 333-273651 on Form S-8 of our reports dated March 7, 2024, relating to the financial statements of PC Connection, Inc., and the effectiveness of PC Connection Inc.’s internal control over financial reporting appearing in this Annual Report on Form 10-K for the year ended December 31, 2023.

/s/ Deloitte & Touche LLP

Boston, Massachusetts

March 7, 2024


EX-31.1 4 cnxn-20231231xex31d1.htm EX-31.1

Exhibit 31.1

CERTIFICATIONS

I, Timothy J. McGrath, certify that:

1.I have reviewed this Annual Report on Form 10-K of PC Connection, Inc.;

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

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

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

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

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

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

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

5.

The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize, and report financial information; and

b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: March 7, 2024

/S/ TIMOTHY J. MCGRATH

Timothy J. McGrath

President and Chief Executive Officer (Principal Executive Officer)


EX-31.2 5 cnxn-20231231xex31d2.htm EX-31.2

Exhibit 31.2

CERTIFICATIONS

I, Thomas C. Baker, certify that:

1.I have reviewed this Annual Report on Form 10-K of PC Connection, Inc.;

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

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

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

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

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

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

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

5.

The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize, and report financial information; and

b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: March 7, 2024

/S/ THOMAS C. BAKER

Thomas C. Baker

Senior Vice President, Chief Financial Officer, and Treasurer (Principal Financial and Accounting Officer)


EX-32.1 6 cnxn-20231231xex32d1.htm EX-32.1

Exhibit 32.1

CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the annual report on Form 10-K of PC Connection, Inc. (the “Company”) for the year ended December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), the undersigned, Timothy J. McGrath, President and Chief Executive Officer of the Company, hereby certifies, pursuant to 18 U.S.C. Section 1350, that to the best of his knowledge:

(1) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

(2) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: March 7, 2024

/S/ TIMOTHY J. MCGRATH

Timothy J. McGrath

President and Chief Executive Officer (Principal Executive Officer)


EX-32.2 7 cnxn-20231231xex32d2.htm EX-32.2

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 annual report on Form 10-K of PC Connection, Inc. (the “Company”) for the year ended December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), the undersigned, Thomas C. Baker, Senior Vice President and Chief Financial Officer of the Company, hereby certifies, pursuant to 18 U.S.C. Section 1350, that to the best of his knowledge:

(1) the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

(2) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

Date: March 7, 2024

/S/ THOMAS C. BAKER

Thomas C. Baker

Senior Vice President, Chief Financial Officer, and Treasurer (Principal Financial and Accounting Officer)


EX-97.1 8 cnxn-20231231xex97d1.htm EX-97.1

Exhibit 97.1

PC CONNECTION INC.

Dodd-Frank Compensation Recovery Policy

This Compensation Recovery Policy (this “Policy”) is adopted by PC Connection, Inc. (the “Company”) in accordance with Nasdaq Listing Rule 5608 (“Rule 5608”), which implements Rule 10D-1 under the Securities Exchange Act of 1934, as amended (the “Exchange Act”) (as promulgated pursuant to Section 954 of the Dodd-Frank Wall Street Reform and Consumer Protection Act of 2010). This Policy is effective as of October 2, 2023 (the “Effective Date”).

1.Definitions
(a)“Accounting Restatement” means a requirement that the Company prepare an accounting restatement due to the material noncompliance of the Company with any financial reporting requirement under the U.S. federal securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period. Changes to the Company’s financial statements that do not represent error corrections are not an Accounting Restatement, including: (A) retrospective application of a change in accounting principle; (B) retrospective revision to reportable segment information due to a change in the structure of the Company’s internal organization; (C) retrospective reclassification due to a discontinued operation; (D) retrospective application of a change in reporting entity, such as from a reorganization of entities under common control; and (E) retrospective revision for stock splits, reverse stock splits, stock dividends or other changes in capital structure.
(b)“Committee” means a majority of the independent directors of the Company’s Board of Directors (the “Board”).
(c)“Covered Person” means a person who served as an Executive Officer at any time during the performance period for the applicable Incentive-Based Compensation.
(d)“Erroneously Awarded Compensation” means the amount of Incentive-Based Compensation that was Received that exceeds the amount of Incentive-Based Compensation that otherwise would have been Received had the amount of Incentive-Based Compensation been determined based on the restated amounts, computed without regard to any taxes paid by the Covered Person or by the Company on the Covered Person’s behalf. For Incentive-Based Compensation based on stock price or total shareholder return, where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the amount of Erroneously Awarded Compensation will be based on a reasonable estimate by the Committee of the effect of the Accounting Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was Received. The Company will maintain documentation of the determination of that reasonable estimate and provide such documentation to Nasdaq.
(e)“Executive Officer” means the Company’s president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice president of the Company in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a significant policy-making function, or any other person (including as applicable executives of any of the Company’s parents or subsidiaries) who performs similar policy-making functions for the Company.
(f)“Financial Reporting Measures” mean (A) measures that are determined and presented in accordance with the accounting principles used in preparing the Company’s financial statements, and any measures that are derived wholly or in part from such measures (whether or not such measures are presented within the Company’s financial statements or included in a filing made with the U.S. Securities and Exchange Commission), (B) stock price and (C) total shareholder return.  

1


(g)“Incentive-Based Compensation” means any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a Financial Reporting Measure.
(h)Incentive-Based Compensation is deemed to be “Received” in the Company’s fiscal period during which the Financial Reporting Measure specified in the applicable Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation occurs after the end of that period or is subject to additional time-based vesting requirements.
(i)“Recovery Period” means the three completed fiscal years immediately preceding the earlier of: (A) the date the Board, a committee of the Board, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement; or (B) the date a court, regulator, or other legally authorized body directs the Company to prepare an Accounting Restatement. In addition, if there is a change in the Company’s fiscal year end, the Recovery Period will also include any transition period to the extent required by Rule 5608.
2.Recovery of Erroneously Awarded Compensation

Subject to the terms of this Policy and the requirements of Rule 5608, if the Company is required to prepare an Accounting Restatement, the Company will attempt to recover, reasonably promptly from each Covered Person, any Erroneously Awarded Compensation that was Received by such Covered Person during the Recovery Period pursuant to Incentive-Based Compensation that is subject to this Policy.

3.Interpretation and Administration
(a)Role of the Committee. This Policy will be interpreted by the Committee in a manner that is consistent with Rule 5608 and any other applicable law and will otherwise be interpreted in the business judgment of the Committee. All decisions and interpretations of the Committee that are consistent with Rule 5608 will be final and binding.
(b)Compensation Not Subject to this Policy. This Policy does not apply to Incentive-Based Compensation that was Received before the Effective Date. With respect to any Covered Person, this Policy does not apply to Incentive-Based Compensation that was Received by such Covered Person before beginning service as an Executive Officer.
(c)Determination of Means of Recovery. Subject to the requirement that recovery be made reasonably promptly, the Committee will determine the appropriate means of recovery, which may vary between Covered Persons or based on the nature of the applicable Incentive-Based Compensation, and which may involve, without limitation, establishing a deferred repayment plan or setting off against current or future compensation otherwise payable to the Covered Person. Recovery of Erroneously Awarded Compensation will be made without regard to income taxes paid by the Covered Person or by the Company on the Covered Person’s behalf in connection with such Erroneously Awarded Compensation.
(d)Determination That Recovery is Impracticable. The Company is not required to recover Erroneously Awarded Compensation if a determination is made by the Committee that either (A) after the Company has made and documented a reasonable attempt to recover such Erroneously Awarded Compensation, the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount to be recovered or (B) recovery of such Erroneously Awarded Compensation would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the registrant, to fail to meet the requirements of Section 401(a)(13) or 411(a) of the Internal Revenue Code and regulations thereunder.
(e)No Indemnification or Company-Paid Insurance. The Company will not indemnify any Covered Person against the loss of Erroneously Awarded Compensation and will not pay or reimburse any Covered Person for the purchase of a third-party insurance policy to fund potential recovery obligations.

2


(f)Interaction with Other Clawback Provisions. The Company will be deemed to have recovered Erroneously Awarded Compensation in accordance with this Policy to the extent the Company actually receives such amounts pursuant to any other Company policy, program or agreement, pursuant to Section 304 of the Sarbanes-Oxley Act or otherwise.
(g)No Limitation on Other Remedies. Nothing in this Policy will be deemed to limit the Company’s right to terminate employment of any Covered Person, to seek recovery of other compensation paid to a Covered Person, or to pursue other rights or remedies available to the Company under applicable law.

Adopted by the Board on July 27, 2023.

3


GRAPHIC 9 cnxn-20231231x10k002.jpg GRAPHIC begin 644 cnxn-20231231x10k002.jpg M_]C_X 02D9)1@ ! @ 0 ! #_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" '1 V\# 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#] /A9\+/! M=S\,?"$LOA#0999-'LW=WTR$LQ,*$DDKR:ZC_A4W@?\ Z$WP_P#^"N#_ .(H M^$W_ "2OP;_V!;+_ -$)75T ]: M"WT^[N7CU&[MTD,;W"R?ZJ,Y#$1,#D+]\$@5KK^TEX(.H3VYNKZ.V1;DPZE) MI\RV5VUNI:9()BNR1E /0_-@A22#0!TW_"IO _\ T)OA_P#\%<'_ ,11_P * MF\#_ /0F^'__ 5P?_$5P%K^USX"N9-K1>(K8*EO/(]SH%W&(H)R!#.^8_EC M8L!N/<\BMG1OVD?!.MZF]I#/J448>YB2]GTR=+::6 $S1QR%<,Z@=!U_AR: M.F_X5-X'_P"A-\/_ /@K@_\ B*/^%3>!_P#H3?#_ /X*X/\ XBN-N/VH_!&G MVMW-J*ZWIZ/<1SW$4S;(I(HRN7#-\O'(/4"J]A^TQX?5)!>PZE- M>27UU;P:;8:11QP8,AEBV[@5!YP.>P- '=?\ "IO _P#T)OA__P %<'_Q M%'_"IO __0F^'_\ P5P?_$5@2_M"^#8?$$6EF?4"K7$=F^H?V;.+."XD7*0R M3%=J.>X/W3PV#Q1X'_:"\)_$'7+72]+_ +5BEO8YI+*>^TN>V@O!"VV412.H M#E3C..Q!&10!O_\ "IO _P#T)OA__P %<'_Q%'_"IO __0F^'_\ P5P?_$5A MZA\??">G>)I=%D.IR21W9TYKV'39GLQ=[2WV?S@NSS.",9QGC.>*X_PO^T#K M&I?L^ZQ\2]1TF&W>,R-9:?\ 9YHL+YOEH)"2S/R02RJ..@H ],_X5-X'_P"A M-\/_ /@K@_\ B*/^%3>!_P#H3?#_ /X*X/\ XBN9^#'Q)UCXE>%]7N;F[T%] M8M9/)6VL(KN+[,Y0%5N(KA$E4Y(/097D5S'AS]H^\U_48-%FTBWTK6]&$\_C M'[4[X(@WS*P^_YF-R?[()/;(!Z;_PJ;P/_P!";X?_ /!7!_\ $4?\*F\# M_P#0F^'_ /P5P?\ Q%!_P#H3?#_ /X*X/\ XBN?\;_$ M#Q$?'MAX*\'VFF_VO+IYU6[O]:\PP6L&\QH!'&0SNS*P^\H4+GG.*GT;XIS: M79O9^-[&+0_$=K8W&HW-O8R&Y@>VA8@S1N!G#!=P1@&&<$9H V?^%3>!_P#H M3?#_ /X*X/\ XBC_ (5-X'_Z$WP__P""N#_XBN*U7]JGP)I&H/:.=:N3&]O% M+/9Z-V\EO:W=W<6UW8 MRPS0+;.4G5T89#*RD;>^.* -S_A4W@?_ *$WP_\ ^"N#_P"(H_X5-X'_ .A- M\/\ _@K@_P#B*XK2_P!HBPN=4\2))IU]?6MG?6MIIL>D6,US6TPB7S;KR/*DC"[E8$=_X MB00-IH ]._X5-X'_ .A-\/\ _@K@_P#B*/\ A4W@?_H3?#__ (*X/_B*P9_V MA?!%GHUMJ5UJDD,$PO"0;60NGV5@EQN0#<-KLJXQDLR@9)K2\*_%"Q^(=GK% MOH*7-AKME$#]AUZQEM7C+INAD:-@&:-N/F4]B,@@@ %S_A4W@?\ Z$WP_P#^ M"N#_ .(H_P"%3>!_^A-\/_\ @K@_^(KRWPI\7?'=IKGC:;QO<^$=.\,>#[I; M?4;G3[>[,\H:VCF5HP7;G,JKMP23P.2*U-8_:BT2UFT:UL-&UB?4;W6;;2KC M3[VQEM;FV2>*22.X\MERZ$1G!''WN04(H [[_A4W@?\ Z$WP_P#^"N#_ .(H M_P"%3>!_^A-\/_\ @K@_^(K@_%_[36B:1H?B5]-LM2.K6&BZCJ^GC4]-GMK7 M4%M%'F&.1E&Y0SQC/&0X*Y'-1_'?XZ7/PKT_P+*NI>&?#\/B&[-O<:MXIG,- ME: 6[2@EMZ@?\ "IO _P#T)OA__P %<'_Q%'_"IO __0F^'_\ MP5P?_$5YEX"_:=M-4T*^NM:6TU>0:P=)TB[\&K-?V^O?Z.LYEM0%Y5 71FW, M@:)AOY JZG[5/AB7Q2MG';7KZ'_8\6J/JWV:4>4[W;6OV>2(H&C=9%PP;!!R M"!M- 'H'_"IO _\ T)OA_P#\%<'_ ,11_P *F\#_ /0F^'__ 5P?_$5A^*_ MC[X5\(RW<%P-4O[VWU>'0S9:7ILUW/)=RV0O41$C4EAY!W%AP,')?"_[0 M/A/Q=XL3P_8_VG'=2S7=K!_X M5-X'_P"A-\/_ /@K@_\ B*/^%3>!_P#H3?#_ /X*X/\ XBNKHH Y3_A4W@?_ M *$WP_\ ^"N#_P"(H_X5-X'_ .A-\/\ _@K@_P#B*ZNB@#E/^%3>!_\ H3?# M_P#X*X/_ (BC_A4W@?\ Z$WP_P#^"N#_ .(KJZ* .4_X5-X'_P"A-\/_ /@K M@_\ B*/^%3>!_P#H3?#_ /X*X/\ XBNKHH Y3_A4W@?_ *$WP_\ ^"N#_P"( MH_X5-X'_ .A-\/\ _@K@_P#B*ZNB@#E/^%3>!_\ H3?#_P#X*X/_ (BC_A4W M@?\ Z$WP_P#^"N#_ .(KJZ* .4_X5-X'_P"A-\/_ /@K@_\ B*/^%3>!_P#H M3?#_ /X*X/\ XBNKHH Y3_A4W@?_ *$WP_\ ^"N#_P"(H_X5-X'_ .A-\/\ M_@K@_P#B*ZNB@#E/^%3>!_\ H3?#_P#X*X/_ (BC_A4W@?\ Z$WP_P#^"N#_ M .(KJZ* .4_X5-X'_P"A-\/_ /@K@_\ B*/^%3>!_P#H3?#_ /X*X/\ XBNK MHH Y3_A4W@?_ *$WP_\ ^"N#_P"(H_X5-X'_ .A-\/\ _@K@_P#B*ZNB@#E/ M^%3>!_\ H3?#_P#X*X/_ (BC_A4W@?\ Z$WP_P#^"N#_ .(KJZ* .4_X5-X' M_P"A-\/_ /@K@_\ B*/^%3>!_P#H3?#_ /X*X/\ XBNKHH Y3_A4W@?_ *$W MP_\ ^"N#_P"(H_X5-X'_ .A-\/\ _@K@_P#B*ZNB@#E/^%3>!_\ H3?#_P#X M*X/_ (BC_A4W@?\ Z$WP_P#^"N#_ .(KJZ* .4_X5-X'_P"A-\/_ /@K@_\ MB*/^%3>!_P#H3?#_ /X*X/\ XBNKHH Y3_A4W@?_ *$WP_\ ^"N#_P"(H_X5 M-X'_ .A-\/\ _@K@_P#B*ZNB@#E/^%3>!_\ H3?#_P#X*X/_ (BC_A4W@?\ MZ$WP_P#^"N#_ .(KJZ* .4_X5-X'_P"A-\/_ /@K@_\ B*/^%3>!_P#H3?#_ M /X*X/\ XBNKHH Y3_A4W@?_ *$WP_\ ^"N#_P"(KR+]JGX:>$-.^#NH3VGA M71+687, $D.G0HP!<9Y"U]$5XW^UK_R1;4?^OFW_ /1@H [GX3?\DK\&_P#8 M%LO_ $0E=77*?";_ ))7X-_[ ME_Z(2NKH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** /&X?@)K&F++HNC^/;_1_ \M[]M_L>VM%%W#E_,:"*[WY M2$MSC86P2 ^#69+^R\UW91Z)=^+9KCPE8&\DTG2OL*K+:R3JZYDGW_O5C,C% M1M4\_,6XKW>B@#Q[4OV=+34M'O[ ZU,BW>DZ?I1D$ )5;5T8/][JVSD=LUQO M@;]G#Q-J&C/;>+/$MQ965M>ZAWT MG2$A023@#J30!\V^%OV,;'P_K(U.37;);DP6D$B:7H45DDWV>4R"23#L\DKD M_,[LV3R,#BMGQ[^RO!XUM=2MSK=F8K_5+O4WCU31(KU8'GQ\\!+*\4R8^656 M^JFO,O!_QBU2'XUGQY=)KT?A/Q3>3Z' U^CQZ3#%$#]CF0EBJ/(R2!VQT K4 ML?VC_B0]EJEI<6^B?\)'(D4^GV)LTB66)YF3?:S&^-O>@A?E7SH7)SE1C! / M08/V9I+9_P"S%\7W4OA&>_@U2]TNXM%DN+BYCP2?M.X$([*KLNPG(X8#BNC\ M(_ VV\)R>!7CU:6X_P"$5BOHXPT(7[1]IVY)Y^7;M]\UYQX5_:6UO4;;7(KV M73'NM)\/7]_*9M.GL)%O+>1U\N2&21MF-J[E5F&3\KD$5EWGQ]^)FK:DK:+- MX7M+-;W2-.,%YIL\KNUY:><\OF+<* $/1=ISW;O0!Z1=?L^R7/B::7_A)I%\ M*SZY_P )%+HOV)3*UYR2!<;N(BQW;-F[./GQQ72:!\+)?#/PIB\&Z9X@O+&> M",K!J]O&JS1MYF\':<@C/!'<$CC->!ZE^TK\35U6]\-:=I^E7VM:+_:+WVI0 MV""WNEMIFC&(YKZ'R%.W+-YDNT'IQSTVG?M!^,)_B/HEOJ,&E:;X7OYK6TWV ML U%#-+#O:)[JWN6\B7M_#KXUK6=:&O^(=:DB:Z MNHK06D(6-!'&L<6YR,*.26))STZ5#=_![3]3U'X@S7MW--;>,K6.TNH$4*84 M6W\@[6YR2.>1P?6O)?BK\1/%/@[XY7]MX>2>M<"GQE\5Z1>7NAZ9=Z>?$4]UCS!IES?2W*QVD3NZQ/=)%& 7& MYGF10,<,22.F_9M^)NJ_%7Q.^OZD?L[ZAX8T^[>RAJP;23L W*H.- MIQFO-/#WQ7^(-@/$&E^']3TF-+-M>UB2YURSFOI&%O=2!($"SQ[5(7&>=O8& MNM;]I7Q+'JUMHATJQDUO4(;?5[&&*.0A]+^SF2XD(WY++*IB!'&64D=J .OT M_P#9OL["SOK<:Y/(+K4M-U$LT"Y!LX(X57KSN$0)/;-9>M_LPW-Q=:I=:+XQ MDT>XU5]62\>33EN 8+Z4RNB NNUT+$*YW#GE:X#P_P#M+?%#4/#\NHSZ-H:' M4]*&H:4+R2TLEC7VKZ'=G6;6UO= M'M=>?4])N-%N+(R2P6\4L*3Q&Y90P##YDDD4@L0?FX /0=7_ &2H;Y&$7B*. MXC>Z@N9;'6-+6]L+@1V<5J!-;^8@D($0=23A2Q^4U#I7['\&BZ'I^DVGBN5; M2#38]+F#:=&#+%'>?:HBH5E"$,64X!!!& ,<\Y+\;_BQIZWEU=W_ (3DM[+2 M],UR6"+1[@-)%=3^4ULKFZ^4J%9A*5.20-@QS7L_VHOB%>2:CK2Z#I\/AUI- M5MK:&[2&%H7M8I71O--[YD[$Q8>);=2 W! 4D@'H>M_LG>'?$6J^/;F_U&ZF MM/%-I';K8M$ABTZ0$/)+$I!!,DBH[A@0Q4 Y%=%\%O@A:?"'^U98SHINK_RU M8:%X?M])A5(UPH*Q[F=B222[GDG 4<5X=XT^+WQ0G\/2Z=]TK39XOLZ76IBWDMVS*;#QMHOA/PYJ&BZ+ M=7.E7>JSZIK-C)UCX&:?KFG_$*SN=2N%3 MQ=>0WQDB15>REBBA2)DSD,5>W1^1C/!&*YNX_9TU+5]477]7\9_;?%T-Y8W$ M%_#IBPVT45LLJI#Y'F$G<)YB6+YW.", !:YKX"^)]<^*7QCN?&6IW44%G<>$ M=-GM](19L6IG+L^"9=A)*G),>2-HR,<\K\)G3PS\?&EO;\Z[+X@GOH=.\3:5 MJ\DZ7)+/(8KRT< *8PFU2A94*E?DWA2 =):?L4V\<]_-<^)X;B[N=%U+0WU- M='1=0NHKP(&EN[@R%KB53&I!^5?O849S7LWB+X9P>(=<\#:D]\\+>%KA[B., M1@BXW6[0X)S\O#9[]*^?KI]3/%;30V MS,B-$$$2.[+%A ,"4@Z?_ &=9ZM+JVCZ1K&C) MJ-A8&:/;

2[@-"[_O55=AC;A3M^6I)/V2;./1H]/L?$"Z8LFC-I=S]BTBW MMXVD%RUU%/%%$$2+9,[,4PP88!.Z_9SU[4?%'P&\ :MJ]S)>:G>Z+:SW- MQ*M>C4 >.>'O@!=V>NVVNZUXG&K:ROB:/Q+/+;Z>+:&1TTIM- M6%4\QRJ^60^2Q.1[UH>'_@/:Z!?>';E-7EF.CZYJVMJIA \UKZ29VC// 3SB M >^WMFO4Z* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KQO]K7_ M )(MJ/\ U\V__HP5[)7C?[6O_)%M1_Z^;?\ ]&"@#N?A-_R2OP;_ -@6R_\ M1"5U=#29=&T^72K +6WU6"'P-X;A@U;_D( MQ1Z1;JMYSG]\ F).>?FSS78T4 <9>?!7X>ZCI&GZ5=^!/#-SI>G%C964VCV[ MPVQ;[QC0IM3/?:!6W'X-T"(Y30]-0^9'+E;2,?/&NV-NG55X4]AP*V** .6U M[X5^"O%,*1:UX0T'5XDN7O%2_P!,AG59W.7E 93AR0,MU/K5'Q7X8\!^%I+G MQ]J_AG1QJ&C6K3'61I<4EY!#&AX20*7X48 !]J[>N/\ C#H%_P"*?A5XMT?2 MX/M6HWVF7%O;P[U3?(R$*NYB ,D]20* .6\*?$_X??$KQ3:V[:'=67B"ZMUN M[,^(O#TUE+=11\AX9)HP)-F_.%8E=V<#-=U-X/\ "^H+<2RZ)I%RLGGB=WM( MG#>: )MQQSOP-V?O8&+? GQ(^,&B:#8Q^%;[X?2^'M%NH([S4M2LWFN M;J2W6)4B%M+,%3Y3EW((R,*<5Q_AO]G/Q-IVAW9B\%ZK%IXDT]M2\-7]SHT, M>M"$OYJK#:!86)W(?,N)07V ,HQD@'U%=_"7X=WNFVEG=>#/#$^GQ2+);6\V MEV[1(X4*&12F =H !'85MZ/X;\/>%BL>E:7IFD$0B$+9V\<&(EY"@*!\HR>. M@S7R#XZ_9Z\0^)-0@NK7X:WVD^''T^XMM/\ #6E7>CR/I5P\[N)V^U;XK8LK M)\UH7:,K\H; KHIOV5[C6=6>_P!;\*V>KWS>);&X:^U"6"XG:PCM2DJF0A24 M+XW)A=YYVT >_P ;^![;Q=)X>33=,BU>YL'NW5;) LMO-(ROE]N&WN&RN>>I MZUT,.@Z)::E:3Q:=80W]M;FWMI$@198H-@T8+ICY5SQ6A;_LZ^-8OB MC!J.KV&K:U?C4;*ZM_$UG"-%\3:K+X7\-Z7IUQ \NMRPZ7 !I.""23P"37G]CXP^!\ M?A1X!X-L].L=(G1K?0;CPB\$XDN5(1[>T,(9S(I8;HU.0&R>#C1^#_PXOO@I M\$KHZ7X-M+CQL\,MQ/8P2012:A.U\6:Q?ZEK)TF_P!._M#3K663*6T9EN4C$KJ?GD1G"<[)-$\,^'-%^'>I:7:Z5+I]UH]VNM6XM-/V/&9DU"V\_;,R!'V[$G& M2K*R-\P /=-3\!>&-:L[BTU#PYI-_:W%JEE-!QM;+Q'X9T?7[*T;?;V^J6$5S'"<8RBNI"G''%;\881J'(+X M&X@8!-.H I6NBZ?8WV6J'=?VUQ:1R1WAP!F52,2<*H^;/"CTK*NOA+X&OO"UKX9N?!GA M^X\-VK^;;Z/+I<#6<+\_,D)38I^9N0.Y]:ZRB@!D,,=O$D42+%$@"JB#"J!T M Z"GT44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5XW^ MUK_R1;4?^OFW_P#1@KV2O&_VM?\ DBVH_P#7S;_^C!0!W/PF_P"25^#?^P+9 M?^B$KJZY3X3?\DK\&_\ 8%LO_1"5X%\0/CEX]^$GB77=/U.^@U.\DT&_U"W6 MZTI[;3H;Q9[=;2&TFPK7*K%,S3J69LQY#1@[ ?5%%?-NH_$CQQH7Q"C^%DG MB-+W5-1U6P@M_%#Z?"D]O;3V6H74H\H#RFD7^RYE1BN )H]RN4)?='QD\1:/ M^SWXT\1W/V2_\4>&KK4]*2X:$I;W,UOWMI[/4+J8>4!Y32+_9Y7*$OZE\$_%^J^+O"5[_;DL5SJVDZO?Z//=P1>4ES]GN'C27:"0I:,(6 MX#;L8&!0!Z!15634X(I_)8R>:06"")R2!C)&!R.1S[BJO_"1VG_/*_\ _!?< M?_$4 :E%9?\ PD=I_P \K_\ \%]Q_P#$4?\ "1VG_/*__P#!?/_ +6O_)%M1_Z^;?\ ]&"@#N?A-_R2 MOP;_ -@6R_\ 1"5QB?LO>#9EN[;4I=7UK2&M+NQL=)O[XM;Z7#=?\?"VVT*X M+= SN[1@;8RBY![/X3?\DK\&_P#8%LO_ $0E=70!Y2G[.FAMI-RESKGB"^\0 MS7L&HCQ3<7<9U.&>!#'"R,(Q$H2-G39Y>UA))O#%W)T+?X$>'(O"TGAJ:?5+ MS0;FPO;*^L9[QME\]W*)KBZE( ;[07WD.I7;YK[0.,>C44 >4I^SIH9TJZ2Y MUSQ!?>()[R"_'BFXNXSJ<,T"E(#&PC$:JB,Z[/+VL))-X8R.3V_@;P5IWP^\ M-6^BZ89Y((Y)9Y)[J3S)KB>61I9II&[N\CNYP ,M@ #?HH RY_^1GLO^O. M?_T.&M2LN?\ Y&>R_P"O.?\ ]#AK4H **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KQ MO]K7_DBVH_\ 7S;_ /HP5[)7C?[6O_)%M1_Z^;?_ -&"@#N?A-_R2OP;_P!@ M6R_]$)75URGPF_Y)7X-_[ ME_P"B$KJZ "BBB@ HHHH RY_^1GLO^O.?_P!# MAK4K+G_Y&>R_Z\Y__0X:U* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\;_:U_P"2 M+:C_ -?-O_Z,%>R5XW^UK_R1;4?^OFW_ /1@H [GX3?\DK\&_P#8%LO_ $0E M=77*?";_ ))7X-_[ ME_Z(2NKH **** "BBB@#+G_P"1GLO^O.?_ -#AK4K+ MG_Y&>R_Z\Y__ $.&M2@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "O&_VM?^2+:C_U M\V__ *,%>R5XW^UK_P D6U'_ *^;?_T8* .Y^$W_ "2OP;_V!;+_ -$)7EVO M_M17G@RSU#4O$W@JXT32I-%U76]'$UZ1?3Q6"!IEN[9HE-J7#(8]K39# /Y; ME4;U'X3?\DK\&_\ 8%LO_1"5XUI/P(^(VI3>,[CQ3JWA*_UCQ+:SVQUR2PDO MWM(MQ:WM8[6<>3]E0[=T0P9""[,7.^@#9\.?M':GX@\'V&I6NF^#=>U;6M67 M1-$M?"7C'^U;.:Z\B2>5;F[%H@@$<44CML24[5X!) /66OQQT]/@_K7CK4], MNK1M#%Y#J6DP,LTR7=K(\4L$3':LFZ1"(W.P,K(Q"9('%W/P*\5ZEXOF^(LU MUH=IXWAU&RO[/2K8RG3RMM:WEH8Y9RHJ7VH7\-G(98M2N;H30M$IDP8(E9D*M\S[$.Y=_9WE6UM=VQ@>4CS,RI?W9\P M1GRC)&-DOE$R>D?"CP+<> /#%Q:7]W%?ZK?ZC>:K?3V\92+SKB=Y2B DG:BL ML8)Y(0$@$D4 ;\__ ",]E_UYS_\ H<-:E<=K7@+PSK?B>V.H^'M*OS);3RO] MILHY-S[XAN.5.3R>??_ /#/GPM_Z)MX M1_\ !%:__&Z/^&?/A;_T3;PC_P""*U_^-T >@45Y_P#\,^?"W_HFWA'_ ,$5 MK_\ &Z/^&?/A;_T3;PC_ ."*U_\ C= 'H%%>?_\ #/GPM_Z)MX1_\$5K_P#& MZ/\ AGSX6_\ 1-O"/_@BM?\ XW0!Z!17G_\ PSY\+?\ HFWA'_P16O\ \;H_ MX9\^%O\ T3;PC_X(K7_XW0!Z!17G_P#PSY\+?^B;>$?_ 16O_QNC_AGSX6_ M]$V\(_\ @BM?_C= 'H%%>?\ _#/GPM_Z)MX1_P#!%:__ !NC_AGSX6_]$V\( M_P#@BM?_ (W0!Z!17G__ SY\+?^B;>$?_!%:_\ QNC_ (9\^%O_ $3;PC_X M(K7_ .-T >@45Y__ ,,^?"W_ *)MX1_\$5K_ /&Z/^&?/A;_ -$V\(_^"*U_ M^-T >@45Y_\ \,^?"W_HFWA'_P $5K_\;H_X9\^%O_1-O"/_ ((K7_XW0!Z! M17G_ /PSY\+?^B;>$?\ P16O_P ;H_X9\^%O_1-O"/\ X(K7_P"-T >@45Y_ M_P ,^?"W_HFWA'_P16O_ ,;H_P"&?/A;_P!$V\(_^"*U_P#C= 'H%%>?_P## M/GPM_P"B;>$?_!%:_P#QNC_AGSX6_P#1-O"/_@BM?_C= 'H%%>?_ /#/GPM_ MZ)MX1_\ !%:__&Z/^&?/A;_T3;PC_P""*U_^-T >@45Y_P#\,^?"W_HFWA'_ M ,$5K_\ &Z/^&?/A;_T3;PC_ ."*U_\ C= 'H%%>?_\ #/GPM_Z)MX1_\$5K M_P#&Z/\ AGSX6_\ 1-O"/_@BM?\ XW0!Z!17G_\ PSY\+?\ HFWA'_P16O\ M\;H_X9\^%O\ T3;PC_X(K7_XW0!Z!17G_P#PSY\+?^B;>$?_ 16O_QNC_AG MSX6_]$V\(_\ @BM?_C= 'H%%>?\ _#/GPM_Z)MX1_P#!%:__ !NC_AGSX6_] M$V\(_P#@BM?_ (W0!Z!17G__ SY\+?^B;>$?_!%:_\ QNC_ (9\^%O_ $3; MPC_X(K7_ .-T >@45Y__ ,,^?"W_ *)MX1_\$5K_ /&Z/^&?/A;_ -$V\(_^ M"*U_^-T >@45Y_\ \,^?"W_HFWA'_P $5K_\;H_X9\^%O_1-O"/_ ((K7_XW M0!Z!17G_ /PSY\+?^B;>$?\ P16O_P ;H_X9\^%O_1-O"/\ X(K7_P"-T >@ M45Y__P ,^?"W_HFWA'_P16O_ ,;H_P"&?/A;_P!$V\(_^"*U_P#C= 'H%%>? M_P##/GPM_P"B;>$?_!%:_P#QNC_AGSX6_P#1-O"/_@BM?_C= 'H%%>?_ /#/ MGPM_Z)MX1_\ !%:__&Z/^&?/A;_T3;PC_P""*U_^-T >@45Y_P#\,^?"W_HF MWA'_ ,$5K_\ &Z/^&?/A;_T3;PC_ ."*U_\ C= 'H%%>?_\ #/GPM_Z)MX1_ M\$5K_P#&Z/\ AGSX6_\ 1-O"/_@BM?\ XW0!Z!17G_\ PSY\+?\ HFWA'_P1 M6O\ \;KS/7=*^%^G^+-9T#1_V>X_%MQH[Q0WUSHV@:0(8I)(DF5,W$T3$[)$ M/"D?-C.'_#GP)\*OB&NM(_P6TGPU?:1=K9W5AK6@Z<)E9H8YE(,# M2H5*2H?O9Z\5V'_#/GPM_P"B;>$?_!%:_P#QN@#T"BO/_P#AGSX6_P#1-O"/ M_@BM?_C='_#/GPM_Z)MX1_\ !%:__&Z /0**\_\ ^&?/A;_T3;PC_P""*U_^ M-T?\,^?"W_HFWA'_ ,$5K_\ &Z /0**\_P#^&?/A;_T3;PC_ ."*U_\ C='_ M SY\+?^B;>$?_!%:_\ QN@#T"BO/_\ AGSX6_\ 1-O"/_@BM?\ XW1_PSY\ M+?\ HFWA'_P16O\ \;H ] HKS_\ X9\^%O\ T3;PC_X(K7_XW1_PSY\+?^B; M>$?_ 16O_QN@#T"BO/_ /AGSX6_]$V\(_\ @BM?_C='_#/GPM_Z)MX1_P#! M%:__ !N@#T"BO/\ _AGSX6_]$V\(_P#@BM?_ (W1_P ,^?"W_HFWA'_P16O_ M ,;H ] HKS__ (9\^%O_ $3;PC_X(K7_ .-T?\,^?"W_ *)MX1_\$5K_ /&Z M /0**\__ .&?/A;_ -$V\(_^"*U_^-T?\,^?"W_HFWA'_P $5K_\;H ] HKS M_P#X9\^%O_1-O"/_ ((K7_XW1_PSY\+?^B;>$?\ P16O_P ;H ] HKS_ /X9 M\^%O_1-O"/\ X(K7_P"-T?\ #/GPM_Z)MX1_\$5K_P#&Z /0**\__P"&?/A; M_P!$V\(_^"*U_P#C='_#/GPM_P"B;>$?_!%:_P#QN@#T"BO/_P#AGSX6_P#1 M-O"/_@BM?_C='_#/GPM_Z)MX1_\ !%:__&Z /0**\_\ ^&?/A;_T3;PC_P"" M*U_^-T?\,^?"W_HFWA'_ ,$5K_\ &Z /0**\_P#^&?/A;_T3;PC_ ."*U_\ MC='_ SY\+?^B;>$?_!%:_\ QN@#T"BO/_\ AGSX6_\ 1-O"/_@BM?\ XW1_ MPSY\+?\ HFWA'_P16O\ \;H ] HKS_\ X9\^%O\ T3;PC_X(K7_XW1_PSY\+ M?^B;>$?_ 16O_QN@#T"BO/_ /AGSX6_]$V\(_\ @BM?_C='_#/GPM_Z)MX1 M_P#!%:__ !N@#T"BO/\ _AGSX6_]$V\(_P#@BM?_ (W1_P ,^?"W_HFWA'_P M16O_ ,;H ] HKS__ (9\^%O_ $3;PC_X(K7_ .-T?\,^?"W_ *)MX1_\$5K_ M /&Z /0*\;_:U_Y(MJ/_ %\V_P#Z,%>KZ+HFG>&]+M]-TFPM=+TZW7;#:6<* MPQ1#.<*B@ #))X'>O*/VM?\ DBVH_P#7S;_^C!0!W/PF_P"25^#?^P+9?^B$ MKJZY3X3?\DK\&_\ 8%LO_1"5U= !1110 4444 9<_P#R,]E_UYS_ /H<-:E9 M<_\ R,]E_P!><_\ Z'#6I0 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 445ROQ'^*?A#X0^'9==\:>(].\-Z5 M'G_2-0G$>\@9VHOWG;'15!)["@#JJCN+B*SMY9YY4@@B4O)+(P544#)))X M[U\P+^TG\4/C>3%\#_AJUMH,G">._B$)-/L)%S]^VLU_TBX5E(*N=BY!!J>S M_8EA\>SP:C\:=)K,X0G!8R1_N0 2 $OAO91S?+=_$+7'O9KJ$]&6VL1^Z<#JKR'DX]Z^@O"7@SP_X" MT6'1_#.AZ=X>TF'/EV.EVJ6T*9.3A$ R>3Q6S0!\T?\,W_&;Q=_:$'CC]I3 M7AI=U\R67@?0;/0Y;=LYPMT1-*5'3J">Y-6]#_8?\-VMI=6OB3XD?%?Q[;3X MS#XA\!KQK@OO,Q\1ZGOW9SG M/VC.<]ZZ?X/_ ^F_9]\1^/M*T7PAXBU#PW?ZE;7>F7 U-+YFC%C;QN#)=77 MF\21N &X QQBO?Z* /ES5/"'[04OQ$\<^,OAYJVA^';#4+BW%OX/\=Z8LMO M>,MI;QO=_:K.9I8B/+9 F"IV9(^8$6;7]LZ?X=ZM;Z1\=_A_JGPCDN91#:^( MA,-4\/W+,VU%-[$H\AV(=MDJ+M1=S,*^FJK:EIEGK6G7-AJ%I!?6-U&T,]K< MQB2*6-AAD=6!#*02"#P: &:/K%AXATJTU/2KZVU/3;R)9[:\LY5EAFC895T= M20RD'((.#5ROEW7/V2];^$.K77BG]G'7+?P5?S2//>^!]7>67PSJ;N?F?R5) M:UDQC#0X7$:+M52379_!;]J72?B3KUQX,\4:/=_#CXGV0Q<^$]=95DN 2?#_P )>"9M M%T[6'L9[O7O$ETDUS'$0)0L<-DRQ,22 Q>0#'*GI7GGQY_;VT_PYXO\ ^%9_ M!W1'^*_Q8N'>W%AIY+6.FR#@MV>GZ@;V*.5 K<2F*)CE74X**>?QKM:\^^#/A'5_"NC:W/ MKVGZ9IFKZQJTVISV^DW+7,2EU11F5HHB[80-_M:_P#)%M1_Z^;?_P!&"@#N?A-_R2OP M;_V!;+_T0E=77*?";_DE?@W_ + ME_Z(2NKH **** "BBB@#+G_Y&>R_Z\Y_ M_0X:U*RY_P#D9[+_ *\Y_P#T.&M2@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH ***H:]K^F>%M(NM5UG4;72=+M4\R>]OIE MAAB7U9V( 'U- %^N9^(7Q+\*_"?PU<>(/&.OV'AS1X/O7=_,(U)P3M4=78X. M%4$GL#7S_=_M2^,/CG=S:1^SUX5&KZ>&,4_Q$\2QR6VB6_9C;H0)+MQS]T!0 M0,D@UT/P\_8XT'3O$MOXT^)>L7GQ=^(4?SIJ_B%0;2Q;(.VSLQ^Z@4-R, L# MG#4 %O$,7B[QC=W_ ,5/B ,,?$GBUQ#_CYH=K9>)K*5+_ M $^0W&E:YI\IM]1TJXXQ-;3K\R,"%..5)5<@X%>CT4 ?*WA/XZ>,?VZ/?7'V;P]\4+>$0V5\?X;?4$'%K<8Y#?ZMP&YRA+?5"L'4,I#*1D$ M'@BL;QGX,T+XA^%]1\.>)=*MM:T/4(C#=6-Y&'CD7KR.Q! ((Y! (((!KY:& MO>(_V"KFUT_7)=0\7_L^2RK!9ZT^ZXU#PAN.%@N<9::SR0$D^]']PY&P$ ^O MZ*J:3JUCKVEVFI:;=P:AI]W$L]O=6T@DBFC895U8<$$$$$5;H **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBOEK]IK]NKP]\'4 MUC0/"4=OXL\:6%N9;QVEVZ5H@)P'OYU/RG/W84S([;5 !=<@'N/Q:^,O@SX& M>$9_$WCC7[70-(C.Q9)R2\SX)$<2#+2.0#\J@G@GH*^ I_B_\;_^"EVK7V@? M#..Y^%'P2BD%MJ?B.Z_X_+]K;<9BC8 9Q))A@*J?!W]C?QG^VGXQL/ MBU\=M9U63PQ(!+9:+< V[WZ$AL0P_P#+G9G"@#F655+L5WC'Z6Z#H&F>%M&L M](T:PMM+TNSC$-O9V<2Q10H.BJJ@ #Z4 >ZG<'S+R^<#&Z63TZX4849. ,G/JU%% !1110 4444 %%%% !1110 5XW^UK M_P D6U'_ *^;?_T8*]DKQO\ :U_Y(MJ/_7S;_P#HP4 =S\)O^25^#?\ L"V7 M_HA*ZNN4^$W_ "2OP;_V!;+_ -$)619?M ?#^^O=3MT\1PPC3[>YNIKFZ@E@ MM7AMFVW$D4\B+',L1X<__H<- M:E !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%(3@4 +3 M)94@B>21UCC0%F=C@*!U)/85\_\ Q _;,\,:5XBG\(?#S2K_ .+WCU/E;1?" M^UX+4]C=7A_VDGDZ'IC=, MW-Z?E)'!\N/<6&0"#570OV0;_P")&KVOB;]H'Q.?B1JT+^=;>%[96M_#FG-Z M);=9R.F^;.>,K7T)X2\&Z%X"T"UT3PWI%EH>D6J[(;*P@6&)![*H _&MF@"& MSL[?3K2&UM8([:VA4)'#"@1$4< #@ >E3444 %%%<]XV^(7A?X:Z.VK>+/$ M.F>&]-7(^U:I=I;H3C.T%R,GV')H Z&BOF23]MR+QVS6_P %_AKXJ^+;_P & MK0V_]DZ*<'##[;=!02#V5&SSB@>!OVG?B>X;Q%\0?"_PDTIF(.G>#=-.IWSQ M'^%[JZPD;CD;HX_>@#Z6N;J&RMY+BXE2""-2[RRL%5%'4DG@"O%O&W[;7P'^ M'RK_ &Q\5/#9=FV>3IMX-0E!_P!J.W\QE_$"N9LOV /AEJ-U;7WCR\\4_%G5 M+=MT=WXWUZXO%7G.T0JR0[?]DH17L_@GX1^!_AM;F#PGX.T'PS$QW,NDZ;#; M;CZG8HR?*W7[>_@V[$$OA7P)\4/'UE.F^.^\.>"[QX&'LTRQ9^H&/>M& MP_:J\4Z]:&?2?V=_BDX_A75+;3]/8_59;L,/RKZ&HH ^?8?VD_B%$)7OOV,-" MAA@M+:(Y9XQYKK,6D\N,J/X9'.(X+_6-4M+ M91H__"-F^GM+6(%57SC>01HAD::0!\,Q9]N[;@ ">!/VSOA7K]W)X>U[QIHW MA7QQIV+?5M"UJZ%G);72Y62)7E")*0P/,98=#T(KW:.1)HUDC971AE64Y!'J M#7@?@WX*>'OB)>^+[OQXOASQ\FH7<1N](OO# MA8WD<00NT<\LS*[1B+!4JI M4!USOW' E_8H_P"%=.]Y\#/B'X@^$\_+'1FE.KZ'*Q.6+6=RS;6(P-R.N !@ M4 ?3M%?+4?[5?C7X'SQV'[0O@;^PM,W!%^(/A 2W^@N3T,\>#/:9)11O#!F) M(( S7TGX<\2Z3XPT6TUC0M3L]9TF[3S+>^L)UFAE7U5U)!'T- &E5?4-/M=6 ML+FQOK:&\LKF-H9[:X0/'+&PPR,IX92"00>"#5BB@#Y"NM US]@[5;G5_#UO M>^(OV?+N9I]2T*(-/=^$78Y>YM1RTEGDDR1#)3EUS\V[ZK\.>(]+\7Z%8:UH MFH6^JZ3?PK<6M[:2"2*:-AE65AP016A(BRHR.H=&!#*PR"/0U\C>*?"FO?L1 M:_?^,_ FG7.N_!*^F:Z\1^#+12\WA]V.9+[3T_YX]6D@'"\LN%SL /KNBL3P M7XTT/XB>%M-\1^&]3M]8T3481/:WMJ^Y)%/\B#D$'D$$'!%;= !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %8GC/QMH/P[\-7WB'Q-J]IH6B62 M;[B^OI1'%&,X&2>Y) ')) '->9_'#]J#0/A'JEEX5TRQNO&_P 2M54_V7X. MT7#W4I[23-]VWA'4R/@8#$!MIKY:^)-MKMSXVT6;XGVT'QA^-^H 3^'/A!H\ MF?#WAU3D"[O=V0^P$YFEX)+! 0 R@%[XY?M5^)/B=HEO+I=UK/PP^&.I3?9= M-O+6V+>*_&K-@+#I5J1NMXWW#_2'P?G0C&&%=7^S%^P[%IC:?XD^(^BV&FVE ME,;S0/AU:2&XL-(D8?\ 'S=R-DWMZ1P97R%Y"\;0GKGP/_9J;PCXB?XB?$/4 MHO&WQ;OHO+FUAH\6NEQ'/^B:?$?]3$H)7=]]\L6/S$5[O0 4444 %%%?.6I_ MM(^#O$7CZS\-CXN0>&=7OM2?2M,T#0H(+R_FF20QNUVLD$QA!=6"C$8VC<7. M["@'T;17->"?$%YK,>JVFHHG]H:5>M92S0ILCG^1'615W,0-L@!!/56[8KI: M "BBB@ HHHH **** "O&_P!K7_DBVH_]?-O_ .C!7LE>-_M:_P#)%M1_Z^;? M_P!&"@#N?A-_R2OP;_V!;+_T0E?,GBKPOXS^,UMXJ;4?AWKOA^\L].O;+PIH M[1VD6G0Q%U=FEE6.-;ZXABT_4[:6X6(.00CZG&<9W,+5 MRH/R;K\_@3Q5JW[/_CKPVOAV]MM:\23:WK=I93/"(XA+>M+#:2,)"%EE1PQ MRH+2 L,<_2=% 'R]K'AOQ/KGQ:M_BG#X2UB'2-/U;3"VB3QQK?W$45CJ=O-. ML0<@A'U.-@,[F^S.5!^0MZS\!/#VJ:#X-U&75[&72;G5=R_Z\Y__0X:U* .(_X0+Q#_ M -%)\1?^ >F?_(E'_"!>(?\ HI/B+_P#TS_Y$KMZ* .(_P"$"\0_]%)\1?\ M@'IG_P B4?\ "!>(?^BD^(O_ #TS_Y$KMZ* .(_X0+Q#_T4GQ%_X!Z9_P#( ME'_"!>(?^BD^(O\ P#TS_P"1*[>B@#B/^$"\0_\ 12?$7_@'IG_R)1_P@7B' M_HI/B+_P#TS_ .1*[>B@#B/^$"\0_P#12?$7_@'IG_R)1_P@7B'_ **3XB_\ M ],_^1*[>B@#B/\ A O$/_12?$7_ (!Z9_\ (E'_ @7B'_HI/B+_P ],_^ M1*[>B@#B/^$"\0_]%)\1?^ >F?\ R)1_P@7B'_HI/B+_ , ],_\ D2NWHH X MC_A O$/_ $4GQ%_X!Z9_\B4?\(%XA_Z*3XB_\ ],_P#D2NWHH XC_A O$/\ MT4GQ%_X!Z9_\B4?\(%XA_P"BD^(O_ /3/_D2NWHH XC_ (0+Q#_T4GQ%_P" M>F?_ ")1_P (%XA_Z*3XB_\ /3/_D2NWHH XC_A O$/_12?$7_@'IG_ ,B4 M?\(%XA_Z*3XB_P# /3/_ )$KMZ* .(_X0+Q#_P!%)\1?^ >F?_(E'_"!>(?^ MBD^(O_ /3/\ Y$KMZ* .(_X0+Q#_ -%)\1?^ >F?_(E'_"!>(?\ HI/B+_P# MTS_Y$KMZ* .(_P"$"\0_]%)\1?\ @'IG_P B4?\ "!>(?^BD^(O_ #TS_Y$ MKMZ* .(_X0+Q#_T4GQ%_X!Z9_P#(E'_"!>(?^BD^(O\ P#TS_P"1*[>B@#B/ M^$"\0_\ 12?$7_@'IG_R)1_P@7B'_HI/B+_P#TS_ .1*[>B@#B/^$"\0_P#1 M2?$7_@'IG_R)1_P@7B'_ **3XB_\ ],_^1*[>B@#B/\ A O$/_12?$7_ (!Z M9_\ (E'_ @7B'_HI/B+_P ],_^1*[>B@#B/^$"\0_]%)\1?^ >F?\ R)1_ MP@7B'_HI/B+_ , ],_\ D2NWJ.XN(K.WDGGE2"")2[RR,%5% R22> .] '& M?\(%XA_Z*3XB_P# /3/_ )$J*Y\%ZY96\MQ4>)?VR[7Q-KEUX7^"7AFZ^+WB6!O*N+ZQD$&AZ>WK/?,-AQUVQ[B>0" M#5"V_9-\4?&2YBU3]H+QO+XJ@#"6/P-X<:2PT"W(.0) ");H@_Q2$=Q@B@"G M\*= ^&GQ\^+?Q%NKW4-)^+]OI9M+2/5=0MK6Z6%A$"\<;11+'@'NHZ]S6-XI M_8\T+XE_%+Q?X9L/$NM?#_P)%:VC77AKP:8M/@OY63):=@A++C V8 XSFO?) M?V9_A-,ENC?#CPRJ6\2P1*FEPJ$1>B@!1P*Z3P5\,?"7PX2Z3PMX\0:7X6TFXU36M2M-(TRV7?->7TZPP MQ+ZL[$ #ZFOG34/VTAX^O9M(^!?@C5OBSJ"L8GUI ;#0;9LX)>\E $FT\[8U M;(Z&@#V3_A O$/\ T4KQ%_X!Z9_\B5X5\1OVD?"_@/7&\-Z;\5O%_C_QGR%\ M,^"]*TW4[W.<'?Y=ILBP>N]E(]*L_P##,7Q'^-6)_CE\2[B329.7\#^ VDTW M2\'K'/<9\^X7ZE:]V^''PF\&_"'0UTCP7X:TWPWIXP6BT^W6,R'^\[?>=O\ M:8D^] 'S5X=\,?M6_%BZ::_\7Q_!WPK.N!;7D%AJVNLO@B6.+XC^((XU&%1++3 /0#[)3_P#A O$/_12?$7_@'IG_ ,B5 MTOB+Q-I'A#1[C5M=U6RT72[<;IKW4+A((8QZL[D ?B:^=[S]M>'QU=RZ;\$? M >N?%Z\1BC:M;K_9VAPL#@[KV< ,0><1JV1T- 'L?_"!>(?^BD^(O_ /3/\ MY$KB?B3XOT+X/V1NO&OQZN?#*;#(L>HG28Y95'_/.,VN]S[*":XU/@I\>?B\ M!)\2OBRG@/2I!EO#GPPA-O(/3?J,P:4G'!"*H]*[GX:_L=_!_P"%5Z-1T;P3 M876M[S(VM:SNU&_9R.6\^WN+"_\-?#RP?'F6WB6]MM6NTYZXM+* M.,G';?\ C7V4 , =A2T ?,EG\#/VD+]E;5_VF(;.(GYX-&\#6*MCT$DK/ MC_OFN+UC]F/Q3HGB[6I?$'[0'Q7M+?598KF'4]#B@CAE984C99O(MR(W'E\9 M54*E "S!@/L^B@#Y$\$?LR_$8WNJZSX?_:%^)&F1SQ16]K<>)M.L[N2<)N;S M&@N(0RKE]H#*C':2205Q;U_X3?M;Z-:EO#WQW\+>)Y@1B+7/"D6G97O^\A$H M!Z?P8^E?6%% 'Q5=?$[X^^ X9(?B;X%\;ZCI:1;)]8^'TFCZW%.2!DBS:SCG M5.3G(;'O7F_@+0/"!U?6+S]F3X]/X.^(%U.3>?#[Q9;0V-CG_ &/QQX/TKQ&BJ5CFN[<>?#D8)CF7 M$D9X'*L#P* /#_@U\;;_ ,>>)6\">-?%_BOX:_%2!2TOA;5[?2V%T@S^^LK@ M682YC.&Y3D;6R,#)]U_X0+Q#_P!%)\1?^ >F?_(E?*GQI_X)X:YJOA=--^'_ M ,0KRZTVR?SM.\-^.)'OHM/<8\LV%^O^E613 (VLX)"A@5&#S?P=_:]^*?[, M^K6?@3]J3PSJ&GZ*7%KI?Q$1?M5LW)")=3Q@JY('^L^5QP73DN #[/\ ^$"\ M0_\ 12?$7_@'IG_R)2'P#XA((/Q)\1$'L;/3/_D2NLT?6=/\0Z7;:EI=];ZE MIUT@E@N[2598I4/1E9200?4558$$%2 5(((!%>L5\K>/?A5XG_9E\7:G\3?@[I& M=0E-UXM^&]MPMR?X[[3EZ)<@#+1#Y90,?>"T >Y?\(%XA_Z*3XB_\ ],_P#D M2C_A O$/_12?$7_@'IG_ ,B5/\*/BSX6^-G@FQ\5^$-4CU72+L8#K\LD,@^] M%*AY1U/!4\BNPH XC_A O$/_ $4GQ%_X!Z9_\B4?\(%XA_Z*3XB_\ ],_P#D M2NWHH XC_A O$/\ T4GQ%_X!Z9_\B4?\(%XA_P"BD^(O_ /3/_D2NWHH XC_ M (0+Q#_T4GQ%_P" >F?_ ")1_P (%XA_Z*3XB_\ /3/_D2NWHH XC_A O$/ M_12?$7_@'IG_ ,B4?\(%XA_Z*3XB_P# /3/_ )$KMZ* .(_X0+Q#_P!%)\1? M^ >F?_(E'_"!>(?^BD^(O_ /3/\ Y$KMZ* .(_X0+Q#_ -%)\1?^ >F?_(E' M_"!>(?\ HI/B+_P#TS_Y$KMZ\B^-W[3?A3X*3V>C2I=^*/'&I#_B5^#]!B^T M:E>GG!V#_5Q\$F1\* IQDC% &WJ_AG4] TNZU+4_BMK>GZ?:1M-<7=U!I<<4 M**,LS,UH H Y)-?-5M\1_BO^T;X@?2O@EXTUJT\#0NT6H?$KQ!IEB+6;&59- M-@6V1YW!S^]+*@*GKE2>BE^"7B7XR*?'/[3&LV.C>$=-_P!/MOAS87FW2;%% M^82:E.^&$EW\,_@3:'[+<^+;:#[+?: MW$ORFWTR,@>3!@;3.0#V4?*00#S3PQX3N/!'CS7/AM^S9XHUCQ#XXN+KS?&? MQ!UV*SO+73F)^87%R;W7[S=W=CR[G'+,23W-=10!Q'_ @7B'_HI/B+_P ],_^1*/^$"\0 M_P#12?$7_@'IG_R)6WXS\<^'OAWH%QK?BC6[#P_I%N,R7NHW"PQ+[;F(R3V MY-?.S_M3>.OC=(UG\ / +ZIIC':?'WC-)=/T51_>@BP)[KH1\H4 XSD4 >PZ MSXTTNPT&W<'!#WTMGM+-/46TEKHH6WT311T'VJ[ \N,#!_=IEOE*_*: .0U+]FSXI_$3P5= M7'Q^^/U]HNC1Q-)=:5X(\C2+.*/G<+B\:,-,FWJ"J+UZUY9\)/V??#7C:\U6 M/]GKQK]G\)^&K@7+:Y/I$?,:6/>Z$!LM7O.C_ +(. MI?$_5+;Q%^T'XJ?XB:A$XGMO"5B&M?#>GL.0%MP=URR\CS)B<@X*UZ'I7[,7 M@_P\MU'H=YXF\/VEQ.URUEI'B.]M+=7;&=D4(;:_P!4E>?5(_LFF%DOEQ%.A/V/G8T7E@]P@/.,XXKJ: .(_P"$"\0_]%)\1?\ @'IG_P B4?\ "!>(?^BD^(O_ #TS_Y$ MKMZ* .(_X0+Q#_T4GQ%_X!Z9_P#(E'_"!>(?^BD^(O\ P#TS_P"1*[>B@#B/ M^$"\0_\ 12?$7_@'IG_R)1_P@7B'_HI/B+_P#TS_ .1*[>B@"GI-E/IVG06] MS?SZI/&,/=W*QK)*<]6$:JH].%'2O)_VM?\ DBVH_P#7S;_^C!7LE>-_M:_\ MD6U'_KYM_P#T8* .Y^$W_)*_!O\ V!;+_P!$)75URGPF_P"25^#?^P+9?^B$ MKJZ "BBB@ HHHH RY_\ D9[+_KSG_P#0X:U*RY_^1GLO^O.?_P!#AK4H *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HKR#XS?M1^"_@S>P:)<27?B7QI>#_0?" M7AZ'[7J5R3T/EK_JU]7<@8]:\T_X5-\8/VFOW_Q6U=_ACX$FY'@/PM>9OKJ, M_P -]?+C@CK'#@>IS0!T_P 1/VQ=!TSQ+/X,^&^CWGQ:^("?*^D^'F4VMD>F MZ[NS^ZA /49+<8P*YVV_9>\:?'6XBU3]H+Q9_:.F[A+%\//"\LEKHT/.0+B0 M$273#_:(7KP17OWP[^&/A3X2^&X- \'Z!8^'M)AZ6UC"$#'NSGJ['NS$D]S7 M3T 97AGPKHW@O1+71M TJST72;5=D%E80+##&OHJJ !6K15/5]9T_P /:;/J M.J7UMINGVZ[YKJ\F6**-?5G8@ >Y- %RBOF37?CIX*_:I\02_"GX?^))-;M< M>=XCUC1BZPVUJIXCBN "[N!AHR0 IYYKG?#W@?XY_%C4];\):U\6+;P%X=\ M.7/]FO#X2L,:S?0 Q3274Q80ETP08UR>^#0![Y\5_C_ /#SX'V*W/C?Q;IV M@F09AM9I=]U/V_=P)F1^>/E4UX__ ,+V^,_QO_=?"7X;_P#"':!+P/&/Q&5K M?OZJTA53W%>@_"C]DWX8_!V_;5M'\/+J'B64[I_$FN2M?ZG,QZL M9Y267/<+M'M7L% 'S9H7[$FB:_JUOK_QB\3:M\9_$,3>8D>O,(M)MG[^1I\? M[I1[/OKZ+T_3K32;*&SL;:&SM(5"16]O&(XXU'0*HX ]A5BB@ HKS'XP?M)? M#OX%Q1)XK\0PP:I<8%IHEFIN=1NV/W5BMXP7;)X!P![BO*?^$K_:#_:$^7PS MHT7P)\&3=-9\1PK>>(+B,]XK,'R[?(_YZDL."!0![=\4_C7X%^">B?VKXX\3 MZ?X=M&SY:W4O[V<^D42Y>0^R*37B7_"\?C/\=AY7PD\ CP1X;EX'C3XAQM"[ MH?X[;3U_>/ZJTA53QQ7;?"S]D'X??#/6_P#A);FVN_&WCA\--XL\63F_U!F] M49_EB'M&JU[;0!\W^'/V(/#.IZO!XA^+.NZK\:/%$9WK-XFHM[!,0 MQKGLP;ZU]$V5C;:;:16MI;Q6MM$H2.&% B(HZ *. /85/10 4444 %%%% !1 M110 4444 %%%% !535M(L=>TVYT[4[*WU'3[J,Q3VEW$LL4J'@JR,"&!]"*M MT4 ?GI\:OV4?BG^ROK-[\0_V7]=OK;P\SFZU?X=D&[M\=7DMH'.'!&?D!60= M$8@A5[KX*?\ !1W2]<\-Z=>_%'0_^$4L;J3[-'XPTDO=Z#)/P#'*^/-LIC*ZD@CW! MJY7P-\'O!NG>)M3UF?X%>(;_ . 7Q4TJ3?XC^%>N*;G2#-QEC:$\1/\ +MN+ M8@;2/E!.*]#KCX9W\CB&'Q1:%KWPY>L> 5NE&8"W)V M3 ;1U:@"3XI_ /Q-\-O'%_\ %KX&+!!XDNCYOB/P3/)Y6G>)D')8=H+OKME' M#'[W5MWIWP+_ &@/"_Q^\.7%_H3W%CJNGR_9M7\/ZE'Y.H:5(\J<@X M/0X.#P<>@:3J]AK^FVVHZ9>V^HZ?[45 MX#\'OVI1KWBM?AS\3M''PZ^*T*972[F3-EK"CCS].G/$R'KLSO7D$':37OU M!1110 4444 %%%-DD6)&=V"(HRS,< #U- #JQ_%OC#0_ 7A^\UWQ'J]GH>C6 M:;[B^OYUABC'NS$#D\ =SQ7@OB[]L6'Q%K]UX/\ @AX>D^+7BZ%O*N;VSE\K M0M+8_P 5S>_<)'7RX]S'!&0:K>'?V3V\2ZO#XZ_:#\3P?$;7K+-S;Z0Z>1X; MT7C)\FV8XD*C(\V;)( ) (S0!F2?&GXG?M2R-8?!6RD\#> 7)2;XF^(;,^;< MKGG^S+-\&3/:67"_>P,@5HC3_@Y^P;X>DU2\EO=:\;^()=AO+DG4O$GB2Z./ MD3^-LMM&U=L:Y&<9R8M>_:CUWXLZK<^#_P!G31;?Q/<6SFUOO'6HJT?A[22. M"$<#-W(!C"197D$DC(KMO@I^RWHGPOUNX\8>(-3NOB!\3K]<7OB_6U#3 =P/U1:VL-C:PVUM#';V\*"..&)0J(H& J@< < "O.O MB]^T?\.?@5!&?&7BBSTV^G ^S:5$3/?W))P!%;QAI&R>,A<9[BO)1\2/C]^T M ?+\ ^%(O@QX1EZ>*/'$ GU>5#_%;Z:IVQGWG;!!R!GB@#WGXD?%;P?\'_#T MFN>-/$>G^&]+3.)[^<(9#C.U%^\[>BJ"3V%>##]H#XL?'W]Q\%? I\-^&9>/ M^%@>/X7MH70_\M+.P'[V;((97?:A(P175_#C]C7P/X/\0Q^*_$LNH?$[QV,' M_A)?&,WVR:(YSB"(CRH%!Z!%!'K7MVJZM9:%IMUJ.I7<%A86L;33W5S((XHD M49+,QP .YH \"\&_L6>&5UZW\5?$[6=1^,?C2([TU#Q1M:RM6ZD6MBO[F%< M\@88CUKM_C1^T7X&^ &G6:>(+YI=7O2(=+\.:5";C4=0DZ+'!;I\QR<#<<*" M1DBO)M1_:+\=?M%:A<:#^S[IT5OX?20P7OQ0U^W8:=%@X<6$)P;J0()/M&H7)[JK'B*/L(TP +]U6'6&+'#88@C- M?1O@+X>^&OA=X8M/#OA/1+/0-%M5Q%9V,01!ZL>[,>[')/-_M:_\ )%M1_P"O MFW_]&"@#N?A-_P DK\&_]@6R_P#1"5U=R_Z\Y_\ T.&M2@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **AN[N"PMI;FYFCM M[>)2\DLK!411U))X ]Z^=_$G[;OAB^UJX\._"O0=7^,WB>%MDD'A>,?V?;MV M\^_?$*#W!;Z4 ?1U><_$'X@ZG%K47@[P9#;WOC"YB$TDUTA>UTN G'GW !!. M3PL8(+'T )KR8?#K]HWXR_O/&/CW3?@_H,O70_ L0N]2*'^&2_F&$<>L28K; M\._L>:'\,'FU_P !:UK-M\07P9?$7B+5+G4FU #_ )97:.^UXS_L!2#R"#0! M!KW[6P^%5_!X3\:^#O%6L^/-A>.S\':%-?QZC"#@7$)'RJI. 49@5/!XP33/ M[2?QE\1/N\*?LS>(7M&'RW'BKQ#8Z0P]VBS*_P" %>P?#OX=-X6DN]9UF\&M M>+]2 ^WZH5VJ%'*P0J?N0KV7N>3ST[>@#YI;Q%^UMK$A:S\&?"CP]$>0FK:W M?W;K^,,(!_2GK8_M>7/^MUCX,6(_Z8:=JLQ_-IE_E7TG10!\V-I7[74(W1^( M?@Y<-_=FTG5$'YK/3'O/VP+%=S:9\%]5 ZBWN]5MF/X,CC]:^EJ* /FL_%C] MIG0HU^W_ %\.^)#_$V@>-HX#^"W$"Y_[ZIJ_M;^-M!3=XM_9N^)6G8."= C MM-:4>_[F8-CZ U]!^)/$^D>#M$NM8UW4[31]*M4,D][?3+%%&H[EF( KYKN/ MVD_'G[0-Q)IGP \."/0BQCF^)/BFW>'34'0FS@(#W3#L2 F>N10!->?\%'O@ MSX=C(\73^)_ =V59H[+Q-X8OK660@8Z-^U=K/[8VHRZ9X*\?^ M'?@WX%:0Q/J%UJ]I)XHU!_$WXB2K^]\3^)B)GBSU2VA_U=NGHJ#('(OAMX6U:9NL M]QI$!F_"0+N'X&@"+X*_L\> ?@;ITI\)Z4K:C>_O+W7KV4W6H7[GDO-<-EFR M>< A?0"O3J^:9/\ @GO\)M,E>?P@WBKX_9DDBL-,_:N\1W>N3_\ 'EX1UO0+7Q-JEZQ^ZBI&L) ]Z /O"N" M^+'QW\ _ [2EO_&_BFPT%)/]3!-)NN+@^D4*Y>0YX^537QT-<_;R^*'PY#6^ MC^$_!HEDXD/^@:W<0>H21IXH&(]0&4]J?\)K*3X :L^O^+_V6?B#K/C"3YKG MQA'J5IXNU&5N["0.C(/:-%^E 'K@^.7QI^.1\KX3_#M?!/AV7@>,?B*C0LZ_ MWK?3T/F-ZAI"JGN*O:/^Q#HGB74;?6OC'XJUKXS:Y&WFK!KDGDZ1;O\ ],=/ MBQ$![/OI(_\ @H7\(-.(3Q5/XF\ 7!./)\5>&;ZT(/H6$3(/Q:NX\-?M??!' MQXO240DJ ) M78#&3SUK"\;_ !\T[3;:WLO ]K#\2/%EZADL]%T:_A"L@/S2S3DE(8QTW-U/ M !YQ1L/VKOAU;>'K^^\6:_9^ M1TM_(U32/$=PEM0>L7?C?QJV5C\+>$;5;$_[ 9AT->X_#'X->"/@SHHTKP3X8T[PY9G&\64(6 M28_WI)#EI#[L2:[.@#RGX/\ [+_PZ^",LM[X>T(3^(+C)N_$6K2->:G=,>I> MXDRW/7"X'M7JU%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% 'CWQY_9LT?XSM8:[8ZA<>#OB+HP+:)XQTH 7=HW/[N0=)H3DAHGX(9L8 MR:XCX<_M 7;>(%^#WQ_T73]#\;7B-!97;1B30_%4/0M;,XVB0Y&Z!_FY& $_C;X.N?#'C'2(=7TN8AU#_++;R#[LL4@^:.1>S*0>HZ$B@#Q M;5/V-)/A_J=SKGP'\9WWPHU&5S--H&S[;X>O'[[[-SB(GINB*[1T%5T_:Q\8 M_!QQ9_'SX<7GARS0[3XW\(+)JNA..[RA1Y]J.P$BMW.<5E6OQ&\?_L:7,>E? M$^XO_B#\(=XBL?B%%$9=0T9"<+%JD:C,B#@"Y4>FX9; ^I]$US2_%>BVFJZ1 M?6NK:3>Q"6WN[25989XV'#*RDA@?:@#S+Q'X<^$7[9'PY$$ESH_CK0"PEM[_ M $R[5YK&;&5DBEC.^&4?4'L1C(KRZ+6?C7^RC^XUFUU+X\_"^$?N]6L(U/B? M2XQVGAR%O5 Q\Z8D/)88 %=EX\_8D^&7BW79/$>AV>H?#?Q>V2/$7@:\;2KD MD\DNL?[N3)Z[T)///-<^OA?]J#X4'&C>*O"OQIT6/I:>)K8Z-JP0=$6X@#0N MV.K2(,]: /7OA'\=_ 7QUT4ZGX'\366NQ1C]_;Q/LN;4]-LT#8DB.>S*/:N^ MK\__ (KZMX,\5ZTFN_%3X ?$WX1^-X22/'/@6+[4]N>FXWU@Q\SV\V-ACM7% MS?MP7OPGT.>^\,?M)^#?BEI%L-JZ3X]\/7UCJZ 9_=B6VBW2/QC=)$/(O&/Q)'P[\,ZI>:V\J6_C# M5OM3QHMO#&B0V[7$!6/ 8^82,EV4+P6KR/Q7XV\-S_%OQWI>KQ^'_'7@/3=4 MA_LK0YOBS!IGAQ6^RP,TJVA#37.7W$\L@)9/F()(!][^*/VV- U/6[GPQ\(/ M#^H_&GQ;"=DD7ATJFEVC=OM.H/\ N8QU^Z7.1C K"O?V=?&WQDM9-8_:,\>P M6_AB-?.D\!>$[A[#1HT'.+RZ)$MR, $@E5!&1Q7S?HW[9GB!],A\,^%/''PQ M^'>F0#;;:5\-O">I^([V(>BJ(H[8?7O5ZR\&:K\5+V"_U?X1_&?X]ZBCB5#\ M3]0@\,Z'&_7?%9[@NWV9&^AXH ^A;7]JGP)X;MU\ ?L\^!I?B9J-A^Y33_!\ M"6NB6+>L]\0($!ZY7>2>O)JOJ/[/?B7XHVQ\2?M,^/;)/#5N1/\ \(+H-RUA MH%N >/M=PQ$ET1P<,50,#@$&IO#WPT_:0US2+;28-=^'WP(\,PC;!IG@O2#J M=W%'_76I0:M\0;[Q#\7];A.]+KQQJCWD$9[A+4 M;857KA2AQ0!G1_MD_#C1X(_!_P %?"VI_%&\T]?LT&E^ ]. TNSQ]U9+LA;> M)/\ :4M].:/^$"_:*^.1W>,?%UC\$_#$O70?!+"]UAT/\,NH2+LB8>L*'ZU] M):+H6F^&],@T[2-/M=+T^!=D5I90K#%&/144 ?05>H \G^$/[+7PU^"5Q+J M'ASP['+XAN"6NO$6JR->ZG, M=>LO#VCP?>N;V4(&;LB#J[G'"J"3V%?.Y\>_&#]J\^1X M+SX/\ PPFX?QCK M-OC6M3B/7[#:M_J%8=)I.<,"H!&* /2/C5^U-X7^$FJV_ABQMKOQM\1;Y?\ M0/!WA]1->RDCAY<<01=S))@8!(!Q7 :7^S9XS^/^I6OB+]H74X9=*BD6XL/A MCHDQ_LJT8'*F\E&&O)!QP?W8(. 0<5Z[\%OV>O!/P%TNXM_"^FN=1O6\S4=< MU"4W.I:C)U,EQ<-\SDG)QPH). *])H K:=IMIH]A;V-A:PV5E;QB*&VMHQ'' M$@& JJ, #H!5FBB@ HHHH **** "BBB@ HHHH **** "BBB@ KQO]K7_DBV MH_\ 7S;_ /HP5[)7C?[6O_)%M1_Z^;?_ -&"@#N?A-_R2OP;_P!@6R_]$)75 MURGPF_Y)7X-_[ ME_P"B$KP#QWH#:%XQ_:3AD\77MG_:G@'2KE]8U9WGCTOS MI]![FQ\%R^ (O%6FC7 MM8\-6/V/2[^*;3[][>UNXVFF4LEU%8[MTA#K$+/XD-X M?T<:4GP1G\0:,FK6MFZ'1Q<26&HN8V /EA9)TTC>G1C(FX'S#GWK]F*57^&M MU'9R";08-=U6#1G5MR?84O95B6,]XUPRICC8J8XQ0!Z-/_R,]E_UYS_^APUJ M5S.I7&L)XHM?LMC8S 6LX7SKUX\KOBY.(FP>G'/UJ/\ M'QM_P!"_H'_ (/9 M_P#Y#H ZJBN5_M'QM_T+^@?^#V?_ .0Z/[1\;?\ 0OZ!_P"#V?\ ^0Z .JHK ME?[1\;?]"_H'_@]G_P#D.C^T?&W_ $+^@?\ @]G_ /D.@#JJ*Y7^T?&W_0OZ M!_X/9_\ Y#H_M'QM_P!"_H'_ (/9_P#Y#H ZJBN5_M'QM_T+^@?^#V?_ .0Z M/[1\;?\ 0OZ!_P"#V?\ ^0Z .JHKE?[1\;?]"_H'_@]G_P#D.C^T?&W_ $+^ M@?\ @]G_ /D.@#JJ*Y7^T?&W_0OZ!_X/9_\ Y#H_M'QM_P!"_H'_ (/9_P#Y M#H ZJBN5_M'QM_T+^@?^#V?_ .0Z/[1\;?\ 0OZ!_P"#V?\ ^0Z .JHKE?[1 M\;?]"_H'_@]G_P#D.C^T?&W_ $+^@?\ @]G_ /D.@#JJ*Y7^T?&W_0OZ!_X/ M9_\ Y#KQSXO?M<3_ IUZU\+P>&;#QEX[O,?9O"?AG5YKJ^(/\<@^R!84[EI M&48SC- 'T3//':PO--(D44:EGD=@JJ!U))Z"OG#Q/^V*GBC7+KPM\#_#$_Q9 M\2P-Y5QJ-M)Y&AZD;6(_N1[B<8R#7&W_P !/C/^T-J4>H_&:72K;P@V M)(/AQH>NSVEO_NWT\=N[7!]55@GI7T-X6T37/!&A6NB^'_!/A31=)M5V065C MJ\L448]E6R _QH \>L_V1M?^+ES%JO[0'C:X\:X82IX,T-GL/#]L>H5D4B2Y M(_O2'\*^B_#/A71O!>BV^D>'])LM$TJW7;#9:? L,48]E4 "LK^T?&W_ $+^ M@?\ @]G_ /D.C^T?&W_0OZ!_X/9__D.@#JJ*Y7^T?&W_ $+^@?\ @]G_ /D. MC^T?&W_0OZ!_X/9__D.@#JJ*Y7^T?&W_ $+^@?\ @]G_ /D.C^T?&W_0OZ!_ MX/9__D.@#JJ*Y4ZGXU4$GP_X? '))UV?_P"0Z\%\9?MK7.G^+F\&^"/!]G\4 MO&:MLFTSPIK$EQ%9'INN;AK588@#U!?/M0!]03SQVT+S32+%%&I9Y'8!5 ZD MD]!7S?XJ_;#'BK7;KPG\#?#DGQ6\3PMY5SJ<$GDZ%IK>L]Y]UR/[D>XG&,@U MQ]_^SK\9/CMJ8OOC9J6D7GADD20_#_P[K=Q8:>.^V[E6W:2Y(]-P7/3BOH3P MKH>M^!]"M=%\/>"?"FB:3:KLALK#5I88HQ[*MD!^/>@#R;PW^R%>>.];M?%7 MQ[\3M\2]+_%;]LFU^%>N1^&QI&F^,/&TQ MVP^$_"FJSZAJ3G_:C6TVQ#OF1EXH ^DJ\=^+_P"U=\/_ (.ZE'H=[?S^(?&- MQQ:^%/#D!OM3G;L/*3[@]W*BO)=9\*?M-_M""%]:NM,^#7@J<9E\/:)J['79 MT/\ #+?+!(D6?2)<]0:]"^&OPDT?]FS0;AO#W@GP=X@% ')_V#^T%^T7\VMZ@OP$\$3?\ ,,TB1+OQ%U>4 M>+/V_O ?A2]^P)KGA3Q'JI.U-.\+ZQ=ZM/(W]T"VL7 /U(J#1?VJOC1X_61? M"/[-.N0QDXCU#Q7K$>DP8_O^7+$)6'L%S]* /JVH[BXBM('FGD2&%!N>21@J MJ/4D]*^4=:\&_MA>.YE%QXW^'OP^TUQ\\'AJWGNKL#^Z9KF%U!_VE7Z"J,'[ M"\.NSI=?$7^T_BS=J0^/%GCN]DME;_9MX;..,#_9((H ],\>?ML?!'P+=MIM M[X[T[6=68E%TG0%?5;EV_N>7;J^#[-BO(/$GB+4?CMN7PG^R'9:I;2\+K?Q2 MLK/2X5ST?[.R23N._ 4U] >!OAX_PQLA:>$?AIX'\,V^,%-*OVM]W^\4L06/ MN:ZG^T?&W_0OZ!_X/9__ )#H ^";W]DOXQ?"F[U/7-,UNV\):;K(B.H^&/@S MIC62/LR-D=PZ2R1M@@[]@4\Y*\9WOAG_ ,$T_ OCK4KCQ+XVB\4W&I2JLBWU MYJMW#=K/N)^5I2)&"K@;W5=S E0%Q7VQ_:/C;_H7] _\'L__ ,AT?VCXV_Z% M_0/_ >S_P#R'0!XD/V*;G2T T#X]?&+2 G$<,OB1;V%!V&R>%CCVS2G]G_X M]:/QH?[35[-"OW8/$'@^PO,_61#&WXU[9_:/C;_H7] _\'L__P AT?VCXV_Z M%_0/_![/_P#(= 'B?]B?M;Z#\MIXH^$WBN,?Q:KI>H:?(WXPR.H_[Y-'_"T/ MVG_#WRZE\#_"OBO'63PYXR%KGW"W4(_4BO;/[1\;?]"_H'_@]G_^0Z/[1\;? M]"_H'_@]G_\ D.@#Q/\ X:W\;:%QXI_9N^)=BP^\=!CL]84?C%,"?P%'_#P/ MX7Z9_P C1IWC?P.1]X>(O"&H0[?J4B<"O;/[1\;?]"_H'_@]G_\ D.C^T?&W M_0O:!_X/9_\ Y#H \U\/?MS_ \3E19_%KPQ"6Z#4+T61_\C[,5Z=X>^)_@ MWQ;M_L/Q;H>M;ON_V?J4,^?IL8US7B+P5=>+@PUWX;^!]:#=?[1O3/GZ[[$U MYAXA_8P^''B?<;WX"?#>,MU:PO9+,_G#9I0!]-45\@?\,"^%M/Y\.^&;KPH M ^OZ*^0!\"_VKM-.W2OC_9&(=(]8TJTO/S86<;?K5BU\'_MJ:8^!X^^%.L(. MCW^EW<3-]1$HQ0!];T5\S6P_;&ME F_X4??X]#K%N3^.''Z5*?$_[65D,2^! M?A9J)];/Q!?1 _\ ?<% 'TI4?WB\72*/_'K>J^C_P#"1?%_QC%X;^/GA[3O#5L8&FTKPK:7?VS3=78# M]Y++.0OFR1@\0%1MSYGSG:4 /I[K17RIH/C/XU6AO-.^%.C:#\0? =E.;?3- M?\5:I+9SR*.L:.JN;F.,Y19R%+A?X\;VU_\ A*OVLI/N^ OA?%C_ )Z>(;TY M_*"@#Z4HKYK_ +7_ &NY?N^&_@[![RZOJ;?R@I&G_;";[ME\$(_K>:P__M(4 M ?2M%?,DL?[9,H.R?X&V_P#VRUB0_GN'\JSKK1?VT[G.SQ'\&+0'O#9:D+Q5XFT#1[9T M9)DUB_@@1E(P0PD8 @CJ#7P%XU^-WPT_9A\3W.N?L\_%'1=8M+NL M#ZYGLWY]Z]!?R2Q H ^<_#/_ 4@C^). MN#PIX%^#7C76O'L=JES=:#JLEII0MPP!YDFEW%1D?-LQ@@]Z[(W7[5_Q!&([ M'X>?"/3Y>KW$T^O:E#] HB@)^I-;_P ;/V?U^/5M:2>(O"&C6FO:>=VF>)-( M\1W%IJFG/U#07"V>X8/.TY7/45YU;>-?VEOV:]&=?%WA>U^.WAB#B+5?#=P8 M];M8P>/M$)B N<#^*)-QP2W6@#I#^Q5<^-_G^+'QA\=_$59/]?I4%\-%TJ7Z MVMH%/_CYKTSP=^S!\(_ &C-I>@_#?PS96;@"16TR*5Y<=/,=PS/_ ,")KF?A M!^U'IOQUMW/@VZ\)ZE?1 _:-)EU^X@O[8CAA+;260D7!R,E<<<$UZ7_:/C;_ M *%_0/\ P>S_ /R'0!X?XJ_8;^&-UXLU36+7X3>"=>AU-DE>VOPU@;6145#Y M9BB=2C!5;;M4AMYRV_"]?\)?V3_AU\-;:^GB\!>%;6^OIQ.8;33DDBM%"A5B MC>1=S 8)+D LS$X484=Y"M$N,96Q?Q)-+>2?[ENEDTK_@IZUY[I?[1_QU^-MI+%\,/@]!X8LI#B+Q=X M]O);>R9,4EQ*#V)4#IGK0!]1>(?$FD^$=&NM7US4[/1]*M4\R>]OYUA MAB7U9V( 'U-?-UY^U9XJ^-=S-I'[//A$^)+<.89O'_B1)+/0+4@X)BR!+=L# MQMC '0Y(K%T#]CWQ-XEUFV\1?&J[LOC+X@@?S8+35M;EM]$LW_Z8Z>EGY?3C M,F_. 2,U]'6DWB^PM8;:U\,>'+:VA01QPPZW,J(H& J@66 .PH \I^'7['V MDV/B>W\;_%#7+KXM_$*+YH=2UR-18Z<>NVSLQ^[A (&&P6R,Y!KZ%KE?[1\; M?]"_H'_@]G_^0Z/[1\;?]"_H'_@]G_\ D.@#JJ*Y7^T?&W_0OZ!_X/9__D.C M^T?&W_0OZ!_X/9__ )#H ZJBN5_M'QM_T+^@?^#V?_Y#H_M'QM_T+^@?^#V? M_P"0Z .JHKE?[1\;?]"_H'_@]G_^0Z/[1\;?]"_H'_@]G_\ D.@#JJ*Y7^T? M&W_0OZ!_X/9__D.C^T?&W_0OZ!_X/9__ )#H ZJBN5_M'QM_T+^@?^#V?_Y# MH_M'QM_T+^@?^#V?_P"0Z .JHKE?[1\;?]"_H'_@]G_^0Z/[1\;?]"_H'_@] MG_\ D.@#JJ*Y7^T?&W_0OZ!_X/9__D.C^T?&W_0OZ!_X/9__ )#H ZJBN5_M M'QM_T+^@?^#V?_Y#H_M'QM_T+^@?^#V?_P"0Z .JKQO]K7_DBVH_]?-O_P"C M!7K>G27;(@C=]HW,HR0I/<#1'LC V1\?(/1?E7@<<#TJS10!FQ>&M'@TB32H]*L8]+D#![ M%;=! P)RV4QM.>_%7K>WBM((X((TAAC4(D<:A550, #H .U244 9<__ ",] ME_UYS_\ H<-:E9<__(SV7_7G/_Z'#6I0 4444 %%%% !1110 4444 %%%% ! M1110 4444 %8/C?QWX>^&WAN\\0>*-8L]"T:T7?->7LHC1?;)ZD]@.3VKR?X MR?M5:9X&\1KX&\%Z1DL-MJ#TEO)ONV\8R"2W..@[US_ (&_ M95U/QMXDL_'?QZU>#QUXIA83:?X<@4C0=$/80P-_KI!WEDR?0< T 8O_ L+ MXK?M:L8/AU'=_"KX6R\/XUU2VQJVJ1]_L%NW^J0CI-)SSD#(KVGX,?L^^"?@ M-I$UIX6TLK>W9\R_UF]D-QJ&H2=2\\[?,Y)YQT'8"O1E4*H ' [4M !11 M10 4444 %<_XC^(/A;P?<10:]XET?1)Y5W1QZC?Q6[./4!V!(J+QY\2O"GPN MT1]7\7^(],\-Z:G_ "\ZG=)"I/HNXC;26 MTF.TT^[U32WA34'\W+-;"5061<*TN'T3Q'I&L);#=.U MA?13B(>K;&.T?6O%/&7[:GAA=?N/"WPRT?4?C%XRB.Q[#PN UG:MTSZCO[V];PYH^A@W^B6-Z]A973F88%R(ROFJ.HPV MWW-=_<_M0?LW?L[Z3%X:TKQ5X9TN*V;RH]"\*1"\E#],&&U5R&/&I/F'P_\ T[P0,O]R[O>))O0JFU3VKZ ^'WPT\*_ M"GP[!H/@_0+#P[I,(^6UL(1&"?[S$ ZO\ MF^*-5T^[N_!'P)\ M8W]C GF'6/&4MOX9T[R_^>GFW+;BO?[@-?.NL_M?_M+_ !HU:XT+X26_A6]N M\[&G\'V,NJ6]@_\ =N-2N_+M/QC60?6@#]+2<#)Z5\R_M"?\%$/@[^SX\^G7 M>NKXH\3QDH-#T)TFD1_267(CBYZAFW#^Z:\S^'W["GQ3^(NS4OVA_C=XC\1I M*O[WPIXJRL@0-Z$(B^S&OHGX?\ [(?P6^%RQGPW\,_#EE/&0R7< M]DMSW\*.VT^%?A!HD\]Y*I_AN]7G6 M..,>ODY!'>O:?A-X:^+W@?1Y-*^$G[//@WX26,XW/J_C37_MEY==]\Z6JM*S M]\/+^5?::J$4*H"J!@ # %+0!\S_ /#/_P ./V@[S1K20?O=*^'^B0 M:<$_W+N7S9?QP*M:3_P3_P#@ZE[%J'B;2M5^(VKQG(U#QMK%SJ;GZH[^7_XY M7T=10!A>$_ ?AKP%9?8_#/A[2O#UI_SPTJRCMD_[Y10*W:** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K \;> _#_ ,1]"?1O M$NDV^L:8[K(;>X7(W#H01@CN.#R"0>"16_10!!965OIMI#:VD,=M;0H(XH8E M"HB@8 '0 5/110 4444 %%%% !1110 4444 %%%% !1110!Y5\6_P!ESX7_ M !NN([WQ7X2M+G68B&@UNR+6FHPL!\I6YB*R?+P0"2..E>:?$N(]%^(>G1:RA]!]K7RYU [#/BY M<^$UTGPG&EPE]X'-W&'U2:)OLY<3_=DMT83A02 \MNV$OC3^TOXHAO[ M6Q^%?@NXN-)O9=*O+RZ\3R0[YXCM:3R1 617&V11D_)(ARUU>\MUEE( +E8YE7)"@<#L*W_ WPT\._#>+4$\/V,EG M_:$PN+IY;J:X>:0($#,TKL@'I0!XC)8?M<>(I DFJ_"3P;:OUDLK;4 M-3N8_P#OX8D)'TJ-OV1?&?C7/_"R_P!H'QQXD@)R=/\ #2P>';1QW1UMP7=? M8O\ C7TU10!Y5\*_V6?A1\%IA<^$/ VE:;J62QU2:,W-\Q/4FXE+2<]3\U>J MT44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !7C M?[6O_)%M1_Z^;?\ ]&"O9*\;_:U_Y(MJ/_7S;_\ HP4 =S\)O^25^#?^P+9? M^B$KJZY3X3?\DK\&_P#8%LO_ $0E=70 4444 %%%% &7/_R,]E_UYS_^APUJ M5ES_ /(SV7_7G/\ ^APUJ4 %%%% !1110 4444 %%%% !1110 445XU\R^%YN_AO\*7)2 M?Q_?6Y34=43.&73H&P40]//<#OM&1SI^%OV9?$OQC\067C7]H6^MM;N+:47. MD_#_ $]R=%T@]09O^?N8< L_R [L @C'T]%$D$21QHL<: *J*,!0.@ H X+X M-_ KP;\!_#KZ3X1TL6IG?S;W4+AS->W\W>6XF;YI'))// R< 5Z!110 45B^ M+/&OA[P%I$NJ^)==TWP]ID7W[S5+N.VA7ZNY KY-^*__ 5C^ _PY>:UTC4] M0\>:E&QC\G0+4^2&'0F>4HC+_M1EZ /LRJFJZM8Z%837VI7MOI]E I>6YNI5 MBCC4=2S,0 /K7YI-^VS^U9^TD@B^$?PANO">CW<;>1J\EE]I8D'J+N[\FV7C M_8(OV\?AW_:-QI'@"VUOXO:]#C?9^";%KN"+/1I+L[8$3U;><>E>#?$/ M]K_QGJ]P]IXF^*/@;X%63/Y3:-X;?_A+O$^[/W&6$-#$2.^TE37JEC_P3_\ MAKH_A\#XC^+O$GC/1K:/?)IVL:Q_9NB6[#DO'9VODQ1+['(I-&_:-_9<^!EX M-!^&UIH^KZ])%MCTKX:Z&=2N[K'\)EMD*LW_ %TDSZT >.^!O"EE>ZW_ &]X M._9Q\??&#Q4K#_BL_C1?QV2,I.1)"MR6^4'D".%2!6Y\<-$^/MA#<>+/'7B/ MPIX-LVMA:V5KX(\/_P!L73,6&RT,]X-L)<_\M%3;D#I7KP^,_P"T+\4%QX!^ M#5GX$TZ5-T.M_$W4O*D'J&T^UWRJ?3.]0DME:?1M?U*>^NGO6;'D0V5HB90,&PVSRS@<\U[_X'N_B+K%L;7X$_ /P M]\$_#\RA#XD\:V4=G]>J_"+PA/I/QF\8:^/A=<>$K M/7H4NI-5U%=,-T;H85X]]M<2R,C+AOF( *\=:]UH ^:=*_8BTGQ5J,&L_&;Q MAK?QEUB)A(EIJ[BUT:!P>#%I\1$8]/G+Y[U]$:+HFG>&],M]-TFPM=+TZW79 M#:64*PPQ+Z*B@ #V J]10 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 5XW^UK_P D6U'_ *^;?_T8*]DK MQO\ :U_Y(MJ/_7S;_P#HP4 =S\)O^25^#?\ L"V7_HA*ZNN4^$W_ "2OP;_V M!;+_ -$)75T %%%% !1110!ES_\ (SV7_7G/_P"APUJ5ES_\C/9?]><__H<- M:E !1110 4444 %%%% !1110 52UG6=/\.Z5=ZGJM[;Z;IMI&TUQ=WWO?&?Q$U!-VF^#/#T?GZA<#^^X'$,8 M ),DA PK$;L8KR'6/A1?^//L_CO]K#QAH?A_PQ;SK)I_P\CU1+;0[1B3@XXSY8*G:"&(H U[_X[^/OVG;^XT+X#P_V!X/CE,&H?%+6;4F!AG#+I M<#8^T.#N_>-B,%>^5->M? _]G'P?\!K&Z?18;C4_$6HG?JOB?6)?M.IZDYP2 MTTYY(X&%&%&!QGD^'>*O^"F_P)\$W%KX9\$C5_B%J41^QVVC^"=(:1(PBX54 M9_+1DP !Y1<8' Q7SQXR_P""H7Q2\76CR^'=,^'OPETC,EO->^+M>74=2MW' M ;[#!_I"$>AMI!GOB@#]22<5X_\ %3]K[X,_!8W$?B[XB:)I][;L%ETZWG^U MWJ$],V\(>0?4KBOS<>U\3_'^WL[OQU\3/CG\:]$U*'R;FP^%G@^;3]&WYX#3 M7(AA8>I-N/J*]?\ AA^R=JGAJ:2W\)?L@^%='N/)"V_B7XK^+H]7$GW'J* .TU'_ (*ECQY>7&G_ /^#'C/XHW4$GER7GV9K:T0'A9,HLK; M2?\ GH(_J*H3>&OV\OCT"NIZWX4^!FC.?+DM]/*S7CQM_$K(9V# >DL1SZ5Z M]:?";]I_Q/I=G%JGQB\&_#,6V(_[.\">$1>PM&. !)>R93CH%0 5;_X88T?Q M#=33>._BG\4/B#;72XNM)U3Q/):Z;*>^+>U6(*/]D'% 'SAJG_!//X(>"=8@ MUG]H?X^WWBW7I&!#>(M>BTU+A!_ 1+(\[?\ 917<_#?XL_LD?"V66#X,?#F M[\>Z_IKD@>"_"5UJM^I[LMY,G*^_G8]*^A/ O[%OP+^'-O'%HGPK\,JT3B1+ MB_L5OKA&[$37&^0?]]5[-%$D$:1QHL<: *J*, = !0!\UCXY?'[QU*B>#/@ M$OAO3KF/=;ZU\0?$$-H8C_TUL;<2S#Z9!^E-3X._M'>/1!)XQ^-^E>"K=@4N MM(^'GAY<.I[I>7C/(C>X08KZ9HH ^;M*_P""?_PGDO+74/&2>(?BKJ]L^^+4 M/'FN7&I,H_N^466$K[&.O>/"O@SP_P"!=+73/#>A:;X>TU3N6STJTCMH0?4( M@ _2MFB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ KQO]K7_ )(MJ/\ U\V__HP5 M[)7C?[6O_)%M1_Z^;?\ ]&"@#N?A-_R2OP;_ -@6R_\ 1"5X[XP^,?C_ ,%^ M(OC6-0&C+%H7AW2M1\.65N'FCA:YNM3MUEN7(1I&8VT+NB[50#8I8AI7]B^$ MW_)*_!O_ &!;+_T0E1Z_\*?#?BB]\47.J63W9\2Z1;Z'J4;3,JR6L+7+1JNT M@HP-Y.=RD'E<$%10!XKJ'CSQQH'C]/A,_C&ZOM0U+5;""V\7SV-HM];6T]CJ M-U*OEK"+=I =+E1&,. )TW*Y0ENA7XP^(M$_9W\:>(+B2WU+Q/X9N=2TF.]G M@"Q74MO>.- ^("_"9_&-U?ZAJ6I6 M$5MXOGL;1;ZUMY[/4;J9?+6(6[2#^RY51C%@"=-RN4);UCX(>+-4\5>$+Q-; MN%O=5T?5K[1IKY8UC^UBWG>-)BJX4.R!"X4!=^_:%& *:_L^^'#I]PLU]K-W MK4MY;WX\0W%\7U&.>!"D#))C: B%EV;=C"23>KF20MV'@GP7IGP_\.P:+I"2 MK:1R33L]Q,TLLTTLK2S2N[$EG>1W8GU8XP,"@"'4=;MK/Q/:>8ET=MK.I\NT MEDYWQ?W5.1[T[_A.M,_YXZK_ .">\_\ C579_P#D9[+_ *\Y_P#T.&M2@#GO M^$ZTS_GCJO\ X)[S_P"-4?\ "=:9_P \=5_\$]Y_\:KH:* .>_X3K3/^>.J_ M^">\_P#C5'_"=:9_SQU7_P $]Y_\:KH:* .>_P"$ZTS_ )XZK_X)[S_XU1_P MG6F?\\=5_P#!/>?_ !JNAHH ^3_VE_BOXOD^(GACPYX%\:ZSX0>ZT>^N/L<& M@Q&74KSS[2"V0/>6S[(T-P\DC1JQ"(Q('!'QIXU_:M_:/O?%D'PW^&GB3QQX MPU:_LYMTVL^%+33)WM5FS#>64A@CD4/$IC9IT.&#E2204_1;XL_ [Q#XV^+? M@CX@>&_%6D:!JGA:TO;6_#[:G'*+D1AVRMS"R$"/'RD'#'G'%1^%_@QXV M@^-MI\1/%'C3P[J\T&DR:/\ 8=(\*OIY,3N)"?.>]G;.]$.&R %(7;N8D _/ M_P"&'[.G[4\&@SPZ3JNB_!K^V&(UR^AL;^\\0:@Q(+3S7P@GD,AQG$=Q$F22 M%4DUUFG?\$IO#/B?7[O6/BC\8?'_ (XO[A1NNK;0+FWN2P'\)[BS;>EUKB:I*7/\ M1(J0D>WEX->_>"O M"'PJ^&UT]SX2^'^G^%[EUV//H_A"2TD<>A:.W!/XUZI10!SW_"=:7_SQU7_P M3WG_ ,:H_P"$ZTS_ )XZK_X)[S_XU70T4 <]_P )UIG_ #QU7_P3WG_QJC_A M.M,_YXZK_P"">\_^-5T-% '/?\)UIG_/'5?_ 3WG_QJC_A.M,_YXZK_ ."> M\_\ C5=#10!SW_"=:9_SQU7_ ,$]Y_\ &J/^$ZTS_GCJO_@GO/\ XU70T4 < M]_PG6F?\\=5_\$]Y_P#&J/\ A.M,_P">.J_^">\_^-5T-% '/?\ "=:9_P \ M=5_\$]Y_\:H_X3K3/^>.J_\ @GO/_C5=#10!SW_"=:9_SQU7_P $]Y_\:H_X M3K3/^>.J_P#@GO/_ (U70T4 <]_PG6F?\\=5_P#!/>?_ !JC_A.M,_YXZK_X M)[S_ .-5T-% '/?\)UIG_/'5?_!/>?\ QJC_ (3K3/\ GCJO_@GO/_C5=#10 M!SW_ G6F?\ /'5?_!/>?_&J/^$ZTS_GCJO_ ()[S_XU70T4 <]_PG6F?\\= M5_\ !/>?_&J/^$ZTS_GCJO\ X)[S_P"-5T-% '/?\)UIG_/'5?\ P3WG_P : MH_X3K3/^>.J_^">\_P#C5=#10!SW_"=:9_SQU7_P3WG_ ,:H_P"$ZTS_ )XZ MK_X)[S_XU70T4 <]_P )UIG_ #QU7_P3WG_QJC_A.M,_YXZK_P"">\_^-5T- M% '/?\)UIG_/'5?_ 3WG_QJC_A.M,_YXZK_ .">\_\ C5=#10!SW_"=:9_S MQU7_ ,$]Y_\ &J/^$ZTS_GCJO_@GO/\ XU70T4 <]_PG6F?\\=5_\$]Y_P#& MJ/\ A.M,_P">.J_^">\_^-5T-% '/?\ "=:9_P \=5_\$]Y_\:H_X3K3/^>. MJ_\ @GO/_C5=#10!SW_"=:9_SQU7_P $]Y_\:H_X3K3/^>.J_P#@GO/_ (U7 M0T4 <]_PG6F?\\=5_P#!/>?_ !JC_A.M,_YXZK_X)[S_ .-5T-% '/?\)UIG M_/'5?_!/>?\ QJC_ (3K3/\ GCJO_@GO/_C5=#10!SW_ G6F?\ /'5?_!/> M?_&J/^$ZTS_GCJO_ ()[S_XU70T4 <]_PG6F?\\=5_\ !/>?_&J/^$ZTS_GC MJO\ X)[S_P"-5T-% '/?\)UIG_/'5?\ P3WG_P :H_X3K3/^>.J_^">\_P#C M5=#10!SW_"=:9_SQU7_P3WG_ ,:H_P"$ZTS_ )XZK_X)[S_XU70T4 <]_P ) MUIG_ #QU7_P3WG_QJC_A.M,_YXZK_P"">\_^-5T-% '/?\)UIG_/'5?_ 3W MG_QJC_A.M,_YXZK_ .">\_\ C5=#10!SW_"=:9_SQU7_ ,$]Y_\ &J/^$ZTS M_GCJO_@GO/\ XU70T4 <]_PG6F?\\=5_\$]Y_P#&J/\ A.M,_P">.J_^">\_ M^-5T-% '/?\ "=:9_P \=5_\$]Y_\:H_X3K3/^>.J_\ @GO/_C5=#10!SW_" M=:9_SQU7_P $]Y_\:H_X3K3/^>.J_P#@GO/_ (U70T4 <]_PG6F?\\=5_P#! M/>?_ !JC_A.M,_YXZK_X)[S_ .-5T-% '/?\)UIG_/'5?_!/>?\ QJC_ (3K M3/\ GCJO_@GO/_C5=#10!SW_ G6F?\ /'5?_!/>?_&J/^$ZTS_GCJO_ ()[ MS_XU70T4 <]_PG6F?\\=5_\ !/>?_&J/^$ZTS_GCJO\ X)[S_P"-5T-% '/? M\)UIG_/'5?\ P3WG_P :H_X3K3/^>.J_^">\_P#C5=#10!SW_"=:9_SQU7_P M3WG_ ,:H_P"$ZTS_ )XZK_X)[S_XU70T4 <]_P )UIG_ #QU7_P3WG_QJC_A M.M,_YXZK_P"">\_^-5T-% '/?\)UIG_/'5?_ 3WG_QJC_A.M,_YXZK_ ."> M\_\ C5=#10!SW_"=:9_SQU7_ ,$]Y_\ &J/^$ZTS_GCJO_@GO/\ XU70T4 < M]_PG6F?\\=5_\$]Y_P#&J/\ A.M,_P">.J_^">\_^-5T-% '/?\ "=:9_P \ M=5_\$]Y_\:H_X3K3/^>.J_\ @GO/_C5=#10!SW_"=:9_SQU7_P $]Y_\:H_X M3K3/^>.J_P#@GO/_ (U70T4 <]_PG6F?\\=5_P#!/>?_ !JC_A.M,_YXZK_X M)[S_ .-5T-% $%E>1ZA:QW$0D6.09 FB:)OQ5@"/Q%>1?M:_\D6U'_KYM_\ MT8*]DKQO]K7_ )(MJ/\ U\V__HP4 =S\)O\ DE?@W_L"V7_HA*ZNN4^$W_)* M_!O_ &!;+_T0E=70 4444 %%%% &7/\ \C/9?]><_P#Z'#6I67/_ ,C/9?\ M7G/_ .APUJ4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 5XW^UK_R1;4?^OFW_ /1@ MKV2O&_VM?^2+:C_U\V__ *,% '<_";_DE?@W_L"V7_HA*ZNN4^$W_)*_!O\ MV!;+_P!$)75T %%%% !1110!ES_\C/9?]><__H<-:E9<_P#R,]E_UYS_ /H< M-:E !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %>-_M:_\ )%M1_P"OFW_]&"O9*\;_ M &M?^2+:C_U\V_\ Z,% '<_";_DE?@W_ + ME_Z(2NKKE/A-_P DK\&_]@6R M_P#1"5>\>>+[/X?>"/$/BC4 38:+I]QJ-P%."8X8VD8#WPIH W:*\.T/]I&Z MU[P]IMU9^'=-U#5M8U1='TJPTOQ';WL4MP();B833QJ5A\J*&1F&&/ !) / M56?QOTMO@[JWQ O[&ZL;?1TOEU#305DGAN+262&>%2#M<^9$RJ<@,"IX!H ] M'HKQ23]H?4+/56\+WW@V2V^($MW:VUIH2ZE&\$Z7$-Q,DIN0N%58[.[W_(2# M"0H?0_$CPE%K,=G+ILRW-S8W=C.RL]OR_Z\Y_\ T.&M2LN?_D9[+_KSG_\ 0X:U* "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH *\;_:U_Y(MJ/_7S;_\ HP5[)7C?[6O_ "1;4?\ KYM__1@H M [GX3?\ )*_!O_8%LO\ T0E7O'6@7'BGP9K>CVDUI;W5]9RV\4M_9K=VZNRD M R0MQ(F3RAQD9&15'X3?\DK\&_\ 8%LO_1"5U= 'SL_P$\8W/C<_$&[#Q MG;7EC+:Z19F;^S9(K>UO;5A++L#^9)'J$OS",[/)@7#A3G=3X%ZU=_"'6O E M[JFGJGB[O4M2@B>'X_'EG=V3VFGP-.=.>W@MKVW:.24KY@9QJ5RP8(=A6(8ZN9+AU0$YV(9=BD\D("<$FNTHH MYG4O#>EW_B>U-Q86\I>UG=BR#YCOBY/YFF?\*M\'_P#0L:3_ . :?X5JS_\ M(SV7_7G/_P"APUJ4 *TM8AB.&%0J*.N !TKR3]K7_DBVH_]?-O_ .C!7LE> M-_M:_P#)%M1_Z^;?_P!&"@#N?A-_R2OP;_V!;+_T0E=77*?";_DE?@W_ + M ME_Z(2NKH **** "BBB@#+G_Y&>R_Z\Y__0X:U*RY_P#D9[+_ *\Y_P#T.&M2 M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "O&_VM?^2+:C_P!?-O\ ^C!7LE>-_M:_ M\D6U'_KYM_\ T8* .Y^$W_)*_!O_ &!;+_T0E=77*?";_DE?@W_L"V7_ *(2 MNKH **** "BBB@#+G_Y&>R_Z\Y__ $.&M2LN?_D9[+_KSG_]#AK4H **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ KQO]K7_ )(MJ/\ U\V__HP5[)7C?[6O_)%M1_Z^ M;?\ ]&"@#N?A-_R2OP;_ -@6R_\ 1"5U=+-(\&:4VI:U?1V%H)$A5G!9I)'8*D:(H+.[,0JHH+,2 346G^./#^J>$O M^$HM=:L9/#@@>Y;5#.JVZ1)GS&=R0%";6#;L;2I!P0:X?XZV=Y;WGP[\31:? M>ZKIOACQ'_:6I6FG6SW5P;=["\M1(D,8+RF.2YBD*(K-A"5!( KS6?PGXAUC M]GCQUX;MO#^J1ZOXFEUSQ!I^GSP>4H@EOVECMI&8A8IIDE#^6Y!!>3=@JV # MVBT^-/@F^\.76NP^(;9M.MKA+.4E7699W"F*'R2OF&2021E$"[G$B%0P92>C M\.>)=+\7Z):ZQHM_!J>F72EH;JV<,C8)5A[$,"I!Y!!! ((KYBUBVU7Q!\6( M?BW;>&O$(\(Z;J^F--87&CW$6H7$<-CJEO+<)9,@G81R:C <;-S?9W**P"%O M9/V?-$U#2/!&HW&H6=QIAU?7=4U>WL+I#'+!;W%W))%O0\HSJPD9#AE,A# , M"* .XG_Y&>R_Z\Y__0X:U*R+G09I]16\75KR%U1XU1$AVJK%21S&3_".II_] MD7G_ $&[[_OW!_\ &Z -2BLO^R+S_H-WW_?N#_XW1_9%Y_T&[[_OW!_\;H U M**R_[(O/^@W??]^X/_C=']D7G_0;OO\ OW!_\;H U**R_P"R+S_H-WW_ '[@ M_P#C=']D7G_0;OO^_<'_ ,;H U**R9-$NI8W1M;OMK J?W<'3_OU5?2_"\VD M:9:6%OK=^+>UA2",,D!.U5"C)\KT% &]167_ &1>?]!N^_[]P?\ QNC^R+S_ M *#=]_W[@_\ C= &I167_9%Y_P!!N^_[]P?_ !NC^R+S_H-WW_?N#_XW0!J4 M5E_V1>?]!N^_[]P?_&Z/[(O/^@W??]^X/_C= &I167_9%Y_T&[[_ +]P?_&Z M/[(O/^@W??\ ?N#_ .-T :E%9?\ 9%Y_T&[[_OW!_P#&Z/[(O/\ H-WW_?N# M_P"-T :E%9?]D7G_ $&[[_OW!_\ &Z/[(O/^@W??]^X/_C= &I167_9%Y_T& M[[_OW!_\;H_LB\_Z#=]_W[@_^-T :E%9?]D7G_0;OO\ OW!_\;IDVAW5Q#)$ M^MWVQU*G"0="/^N5 &O16-:Z!?]!N^_P"_<'_QNC^R+S_H-WW_ '[@_P#C= &I167_ M &1>?]!N^_[]P?\ QNC^R+S_ *#=]_W[@_\ C= &I167_9%Y_P!!N^_[]P?_ M !NC^R+S_H-WW_?N#_XW0!J45E_V1>?]!N^_[]P?_&Z/[(O/^@W??]^X/_C= M &I167_9%Y_T&[[_ +]P?_&Z/[(O/^@W??\ ?N#_ .-T :E%9?\ 9%Y_T&[[ M_OW!_P#&Z/[(O/\ H-WW_?N#_P"-T :E%9?]D7G_ $&[[_OW!_\ &Z/[(O/^ M@W??]^X/_C= &I16-=>'[B[@>&36[XHW7"0#_P!I5(NCW:J -;OL#C_5P?\ MQJ@#5HK+_LB\_P"@W??]^X/_ (W1_9%Y_P!!N^_[]P?_ !N@#4HK+_LB\_Z# M=]_W[@_^-T?V1>?]!N^_[]P?_&Z -2BLO^R+S_H-WW_?N#_XW1_9%Y_T&[[_ M +]P?_&Z -2BLO\ LB\_Z#=]_P!^X/\ XW1_9%Y_T&[[_OW!_P#&Z -2BLO^ MR+S_ *#=]_W[@_\ C=']D7G_ $&[[_OW!_\ &Z -2BLO^R+S_H-WW_?N#_XW M1_9%Y_T&[[_OW!_\;H U**R_[(O/^@W??]^X/_C=']D7G_0;OO\ OW!_\;H MU**R_P"R+S_H-WW_ '[@_P#C=0W7AZXO(?+DUN^V[E;A(!RK!A_RR]0* -JB MLO\ LB\_Z#=]_P!^X/\ XW1_9%Y_T&[[_OW!_P#&Z -2BLO^R+S_ *#=]_W[ M@_\ C=']D7G_ $&[[_OW!_\ &Z -2BLO^R+S_H-WW_?N#_XW1_9%Y_T&[[_O MW!_\;H U**R_[(O/^@W??]^X/_C=']D7G_0;OO\ OW!_\;H U**R_P"R+S_H M-WW_ '[@_P#C=']D7G_0;OO^_<'_ ,;H U**R_[(O/\ H-WW_?N#_P"-T?V1 M>?\ 0;OO^_<'_P ;H U**R_[(O/^@W??]^X/_C=']D7G_0;OO^_<'_QN@#4H MK+_LB\_Z#=]_W[@_^-T?V1>?]!N^_P"_<'_QN@#4HK%N_#MQ>1+')K=]M61) M!A(!RK!A_P LO4"IO[(O/^@W??\ ?N#_ .-T :E%9?\ 9%Y_T&[[_OW!_P#& MZ/[(O/\ H-WW_?N#_P"-T :E%9?]D7G_ $&[[_OW!_\ &Z/[(O/^@W??]^X/ M_C= &I167_9%Y_T&[[_OW!_\;H_LB\_Z#=]_W[@_^-T :E%9?]D7G_0;OO\ MOW!_\;H_LB\_Z#=]_P!^X/\ XW0!J45E_P!D7G_0;OO^_<'_ ,;H_LB\_P"@ MW??]^X/_ (W0!J45E_V1>?\ 0;OO^_<'_P ;H_LB\_Z#=]_W[@_^-T :E%9? M]D7G_0;OO^_<'_QNC^R+S_H-WW_?N#_XW0!J45E_V1>?]!N^_P"_<'_QNFR: M)=2 !M;ON"&_U<'4?]LJ -:BLO\ LB\_Z#=]_P!^X/\ XW1_9%Y_T&[[_OW! M_P#&Z -2BLO^R+S_ *#=]_W[@_\ C=']D7G_ $&[[_OW!_\ &Z -2BLO^R+S M_H-WW_?N#_XW1_9%Y_T&[[_OW!_\;H U**R_[(O/^@W??]^X/_C=']D7G_0; MOO\ OW!_\;H U*\;_:U_Y(MJ/_7S;_\ HP5ZSIFGC3+7R1-)<$L7,DNW<23_ M +( _2O)OVM?^2+:C_U\V_\ Z,% '<_";_DE?@W_ + ME_Z(2NKKE/A-_P D MK\&_]@6R_P#1"5U= !1110 4444 %%%% !1110 4444 %<=\1/%?B/PW%81^ M&?"T?B2]N7:A]AM+6)$+%Y9A%*P)P%550Y+#.T L.QKRKX^?#CQA\4-, MTS2- US2M,T,S,^LV&I6T\@U.+'RP,T,L;+$3RZ@_. %)VE@0#D(_P!K,ZCH MB^(-,\(R7'AS3=)L]9\0W=QJ BEL+>X:4 V\:QNMUL$$KM\\>4\LIOW@#NY_ MC1'#\6[OP1_PCVJ+':Z)'R$**PW#*G MO/&_PHE\9>,TUE=8FTR+_A&]0T _905G1KF6VD$R/G@K]G(QCG<.>* ,#X ? MM#Q_'%]0C&EV=@]O96>I(VG:H-000W(D*13,(T\FX7RSOB^;;GAFYQ['7C_P M<^"5]\._$']JWL^BVWE:-!HJ67AVQ:T@N%B;(N)E9VR_&%'\ >0;FW<>P4 % M%%% !1110 4444 %%%% !1110 4444 <%\3_ !YXB\&QQMH'A2+7TCMY;R\N MK[4OL%K;PQC)'F"*4M(?X4V@'NRUPME^U$=6-MJMAX6=_!Z&RCU+5;B^$=Q: M27*AE"VXC82*FY=[>8IY&T/6W\=?ACXQ^)MSHMMHVMZ+:^'+=FEU'1M8LYYH MM1<8\M9#%+&3&O4H3ACC.1Q6'>_ 'Q%J.HZA;2ZWH\/AW6[JTO\ 5K6VL9%E M66$ .EN3(0J/M7[P)7'\6: -77OVD;+P_P"(?&5A<^&]6BL_#>E_VBU]<1^2 M+UO,";(48;BN6'[PX4]LX)K?^&?Q1O\ Q=K&J:!XBT.W\.>)=/@@O)+*TU'[ M?"T$P)1A+Y<9W#!# I@'HS#FF^)_A3/K_B[7M:2_MHUU+0CI"V]S:"=%;S V M]U8X=>,%??K6-\#_ ($+\+-7UO6;A-)BU#4H8+46^C6\D4,,40(^]([,Q8G/ M/"@!1P* /7Z*** "BBB@ HHHH **** "BBB@ HHHH *\V^+7Q/U[X=Q3W>F> M$X]9TK3[%]2U+4+W4Q8Q10J3F.$^5)YLV 2$;8#D?/S7I->-?&OX4>-/B/XH MT*XTO6]#7PUIH\Z30-;LIYH+JZ#9267RI8]X3 VHV5SR03C !6TW]I.35=:L MIX/"[_\ "&W.I)HW]L/>XNTO&C+[3:^7CRP05+^;G.,(0)_$WAW4 M]3UQDG?78M,N/MJR13)+;Q_-.46!"F/+0+P2'O$>B3QQ7EE;7WVV#;)&)(WCF,<98%6&04!!R.:[JN"^&O@/5_#NK^)=?\ M17]G>Z[KTT+S+IT+QV\*11"-%3>Q8G"Y)/<\ 5WM !1110 4444 %%%% !11 M10 4444 %%%% 'EOQ;^+VM_#)KN^@\(+J?AK2[:*[U/5;G4A:$*\A3R[6,QN M)YA@$HS1YWH%9F; Q]+_ &B[C4?$=IGPI*OA/4-4O-"T_5(KT/>3WULDS2(U MIY8"(WV:<(XE8G:N47=P?%?X3>.?'?Q&T;6K'7/#\OAS2%26T\/ZW8W$T(O MQ/VIQ%,@D=1@('R$QN W'-5;3X$>)[#5K40:_I)TG2MF^+/ UWHVHV^DQ:U;6.BW+:O MU<5\"OA7XR^'5YJMSXKUC0/$-_JA$U]K-I8SQ7]Y.. 9'>5U M$:K\JQHJJ@P% '%=I\)? TGPU^'&@>&);M;^33+5;=KE$*"0CN%)./SH ZZB MBB@ HHHH **** "BBB@ HHHH **** "O*OB3\8];^'FK2SOX.-SX0L[BQM;W M69M1$$[RW4R1(+2W\MA/M:2/=NDC.20@:E+9>87C:V**(C*L,KQ8D?+- M"?3+>R\2:2ECX7.JW/A@O82-+'5,)@R94Y3!#9&F? ;XJ MZ/\ #;6/#UEXU\/66N:O=0W&H^)K>PNQ?WYZ7#2RFX+*[JJ1JT>SRDXC";4V M@'K_ ,*/B(WQ*\.7=]/IRZ5?V&HW6E7MM%0QR>5-M7S$R.&*J>H9 M58$#LZY'X5>%+[P/X(T_0KZ'1+;["#%!!X?M9+:UCB'W0$D=VW=226Y)SUS7 M74 %%%% !1110 4444 %%%% !1110 4444 >3^-OC3J_@7Q$IU#PCY/@X:G: MZ0VLS:CLNI9YV14>"U\HB2$-(H9S*KIZL%FG\$7 M]4TJXU MCPXEA?BYN-4@B90%>,QH(9)%=710TGRYW%2-M/UOX1>-]=^,DOB>]U[0=2\- MQJMOIVEWMC.9=-A9-L[PE9A'Y[AG'FLA*K\HP"^[)TWX">.-(L[2*R\6Z3:S M^'=#N=$\,72Z<[/!YA01SW +X9XXT";5&&)+1KXD7^R;>"9)'666]:!70J(GW)Y#$%DZJVX>B?##QW'\2_ NE>)(K- M[!;U7/D.XD4%'9"R.,"2-BI9' &]"K8&<5YAX&^#GQ \#^#1I%OK7A66;[7] MIO/,TN>4:UO1EF-[)+,[M(QV,'7&-@7:4 4>A?!SX>2?"SX?V/AV6\@O9(9K MB=GM+?[/ AEF>7RXH]S;$7?M49/ _"@#MJ*** "BBB@ HHHH *\;_:U_Y(MJ M/_7S;_\ HP5[)7C?[6O_ "1;4?\ KYM__1@H [GX3?\ )*_!O_8%LO\ T0E= M77*?";_DE?@W_L"V7_HA*ZN@ HHHH **** .?\5>.M)\&/8QZD;UIKYVCMX; M#3KF]D6LOBN7 MPT/#EEJ3KK@4:D]BLJQ$L';"B4IA1MS\PZT >X?\+?T+_GQ\4?\ A):K_P#( MU'_"W]"_Y\?%'_A):K_\C5QFA?%/X@>,XW\2^&_#&DZEX0CU6?35T\WI35+F M."Y>VFN4=L0IAXY&6)B=ZJ#YB%L+TOQ"\>Z]I_B_0O!OA+3[*Y\0ZK:W.H-> M:K(RVEE:0-$DDC*GSRN7GA544K]XDL N" 7O^%OZ%_SX^*/_ DM5_\ D:C_ M (6_H7_/CXH_\)+5?_D:L-/C+/X0L8;/Q[H\UAXFDEG6&Q\/0RZH+VWB"EKR M-(D,D<6'4$2A2K_+ELHSLOOVF_A_97-K'_:5]%H]\H=R%&T$ M@L,XR,@&Y_PM_0O^?'Q1_P"$EJO_ ,C4?\+?T+_GQ\4?^$EJO_R-7G_B;]JO M2-/U2:QL;&\AB3P]?ZU)J6J:?=PQ6CVLL4;131^5O'^L))'HF ?,4UV$'Q_\ M&7&O_P!DK>WF\S36L=\VG7"V4UQ$I:6&.X*>6[J%;@,>5*C+ B@#0_X6_H7_ M #X^*/\ PDM5_P#D:C_A;^A?\^/BC_PDM5_^1JK?#CXY>$_BKF2 2.F1V()7XF?%!?ASK?A""XAC.GZO=W$-W< M/N+6\<5I+.64#J?W6,>AH L?\+?T+_GQ\4?^$EJO_P C4?\ "W]"_P"?'Q1_ MX26J_P#R-7/Z9^T[X!U72+O44OM2@@@@M[E$NM'NXI;J*<[8'@C:,/,';@; M221ZC/<^#_&>G>.-+DOM.6[B6*9K>:"^M);6>&50"4>.158'!!Z8((()% &- M_P +?T+_ )\?%'_A):K_ /(U'_"W]"_Y\?%'_A):K_\ (U=I)(D,;22,J1H" MS,QP !U)->:ZE^TM\*;"SNI4^)7@Z>>&-V%N/$%H&=@#\OWRX^.7B_0O"&D^+_$7A M+PSH_A2]6VEFO1XKE:2VAFVD.RO8HGRAAG,@'O77V/[0?PMU.\AM+/XE>$+N MZF<1Q00:]:N\C'H%429)/H* +/\ PM_0O^?'Q1_X26J__(U'_"W]"_Y\?%'_ M (26J_\ R-7ER_M4SV_B+XH:)?:''97?AJ6<:-.\I,6JK#%$\H_V73S1E>Z\ MCH:V-5_:+ETSQ_X2T8Z5%)H]_:VKZQJ0E(_L^>ZP+6/&,$.V[))& M '<_\ M"W]"_P"?'Q1_X26J_P#R-1_PM_0O^?'Q1_X26J__ "-7F&O_ +1>NV7Q3U/P MQ:0>&+6>QO([:#P]K6I&RU76(F"DW%HTFV)E&X@*-V2I!*\9+GX[^.].TGQ+ MXMDT+0;WP=H6JRV-U;Q7,T6H"%&0-,I*M&Y&_.SY+/#F@Z)<^#=$N9H3!>74J7 M^H)"<32QL%\N+!#!58-NVG)6@#OO^%OZ%_SX^*/_ DM5_\ D:C_ (6_H7_/ MCXH_\)+5?_D:LOQK\7GTSPMX3O/#FGQZEJOBR6WBTJWOI3!$HE0/YDK*K$*B MG) !)Z#UJO#\4-<\"6EX/B1IMM;N+F&VTR]\.)+=+JKR XCCM@&F1U(P0 MNZ@#<_X6_H7_ #X^*/\ PDM5_P#D:C_A;^A?\^/BC_PDM5_^1JYJ]_:E^'UE M# QO=3GFD@FN'M+?1KN2X@2%@LWFQB/=&4)&X, <<\BGI^T_X#DT][M9]8/^ MD6UM%;?V'>"XN&N 3 T4)BWNK@'# 8]<4 =%_P +?T+_ )\?%'_A):K_ /(U M'_"W]"_Y\?%'_A):K_\ (U8ES^TGX&M[&&X2[U*[F=9I);&TTFZFN[5(CB5I MX5C+PA#U+@>V:.;# MX@>';G4?#\DADBDEM6BU"VEMY+>Y3@QRQN%=2"1D8Z=* ,[_ (6_H7_/CXH_ M\)+5?_D:C_A;^A?\^/BC_P )+5?_ )&KS_PE\8/&,'B3QHOC67PKIGAWPF\: M7UY9)';.XT6VL-+UF\O;[6K72;BRN=+ MNK6>T6=&9)FC>+)4AG-6OCC\9KCX8ZIX-L8]3\-:%#KKW*RZIXHN##:P^5&K!0=Z_,V[') M[4 =3_PM_0O^?'Q1_P"$EJO_ ,C4?\+?T+_GQ\4?^$EJO_R-7 ^ OVG]/UC0 M9[G6X4O+D:E-IUA-X2BGU2WU@1@,TUJ(T+%%!^8\JIXW'(JZ/VIO"K>*Q8K' M>-H3:+#K"ZX+2?R_WMS]G6(KY>5.X@')R#D$#!H ['_A;^A?\^/BC_PDM5_^ M1J/^%OZ%_P ^/BC_ ,)+5?\ Y&JAXB^/O@_PQXD7P_VT[1KC4?/NX9)[1[[2KFTBNDC;; M(8GEC57VG&<'N#T.: -'_A;^A?\ /CXH_P#"2U7_ .1J/^%OZ%_SX^*/_"2U M7_Y&KLIYX[6&2::18H8U+O([!550,DDGH *\^?\ :.^$T;LK?%#P8K*<%3X@ MM 0?^_E %_\ X6_H7_/CXH_\)+5?_D:C_A;^A?\ /CXH_P#"2U7_ .1JY"Q_ M:S^'-UXKO=-G\0Z;8:)$@^R>*+K48$TN_F'^MA@G+[7>/(W#/>NGT_\ :!^% MVK7T%E8_$GPC>7EPXCAM[?7;6221R6R?M53V6L?$[2+_ $..QOO#8NI=%E>4 MF'5HH.)!GJKHV-R^C*>];VN_M"RZ-\2/#&@_V5%+HUY!;?VMJ?FD?8;BY5C; MQXQ@@[#G/_/2/UH [3_A;^A?\^/BC_PDM5_^1J/^%OZ%_P ^/BC_ ,)+5?\ MY&KS+7/VBM\92Z#H%WX.T?6;K3KJVAN9HM12"&Y,#3@E6C#@8K-U#XT^-KW0_$ MGC/P_H&C77@OP_/=1R6MW9(Q!BC:UGG#C'4YB P?4UP_P 3?VBM4\#ZSXPL+?2+1H=%N-/M_P"T M[MI?L]I'<1%WN;G8I81)C'RXY9A_\+?T+_GQ\4?\ A):K_P#(U'_" MW]"_Y\?%'_A):K_\C53^"WQ!U'XB>'[V]OI?#^HPP7/DVNL^%]12\L-1CV*W MFIAF:(@DH48D@H2"00:\5^#_ .V1<>/=8\)07NH>!K\:[YWVO2]"U9GU+1%C MB>0RW41W 1C8$8DIAG7KV /=O^%OZ%_SX^*/_"2U7_Y&H_X6_H7_ #X^*/\ MPDM5_P#D:N:O=7^I65A;Q07*/=:/=QM=P33+#'+;H8]TRF1U7 MY 2-RD@!AFQ%^TCX+FMVV-K!U-;Q[#^Q?[%N_P"T?-6)96_T?R]^T1R1OOQM MPZ!TO+6VE@:>3R]L+/+<>6%;!'R[@-PS MJ7?[5/@*VU=M+C;7KZ^,EW%!'8^'KZX%T]J^RZ6%DB(D,3$!L'&2 "3Q0!U' M_"W]"_Y\?%'_ (26J_\ R-1_PM_0O^?'Q1_X26J__(U9#_M&>"-^FO#=:C=Z M??-9HFJVVDW4EC&UWL%LKSB/8ID,L8&3QO7=MR,\M>?M;>$SJVARV4TH\+W3 MWJ7>LWUE<01AH%7Y8"R#SF,C&/:FXEP% )(! /0/^%OZ%_SX^*/_ DM5_\ MD:C_ (6_H7_/CXH_\)+5?_D:N;^.?QHF^&7@OPSK=D^F:='K6K6VGM=^)6>V MM[..6.1_,E!*E2-@&"1UYKG/ W[4-E>W7B6'7;W1-8L-,>RAL]<\&2RZA;:E M<7'F 6<:*K$W*>7N9$9\)(C,5&[ !Z/_ ,+?T+_GQ\4?^$EJO_R-1_PM_0O^ M?'Q1_P"$EJO_ ,C5RP_:9\-S^+/#^DVUIJ,EGJ5GJMU=7LMC/$=.>Q:)9HIH MFCW*V9&SG&-JXW>8IJ<_M#^']1U"UTZQ>[TW4GO;&)[37M)O+.22"Z:589(U M:,$[S#( 3@ H0VTT =%_PM_0O^?'Q1_X26J__(U'_"W]"_Y\?%'_ (26J_\ MR-65X+\;^*OB;\%/"'BS08-'L-;UO3[74)8-1$KVT:R1!V5=A#$@D8)[9KRB M#]I/QK9?"CX=>,]?E\$Z!;>-KVT@@N;V:>*UTZ.6QNKIC.[NH)S!&BX(&7/L M* /;/^%OZ%_SX^*/_"2U7_Y&H_X6_H7_ #X^*/\ PDM5_P#D:L'X%?%ZZ^*@ M\3Q3_P!C:A#HM\EI#KWAN[-SINHAH4D)B596=[+;27#>4C;54(K,3W; SD"@#T#_A;^ MA?\ /CXH_P#"2U7_ .1J/^%OZ%_SX^*/_"2U7_Y&KD?&/[2V@Z1KFD:1H:SZ MS=W>NZ=HL]REE<&RA:Y,;E/M 3R_-$,BR;=W< \G%:"?M,> Y(+ZY%YJ0LK: MSN-1CO#I%UY-[;6[*MQ-;/Y>)UC+ GR\Y4[EW+\U &]_PM_0O^?'Q1_X26J_ M_(U'_"W]"_Y\?%'_ (26J_\ R-6KX,\?:%\0K6_N_#U\NJ6-G=O9->PJ?(DE M0#>(I,;9 I.TLA(#*RYRK 6_$_B[0O!.EG4_$6M:=H.FJXC-YJ=U';0ACT7> MY R>PS0!S_\ PM_0O^?'Q1_X26J__(U'_"W]"_Y\?%'_ (26J_\ R-7-^(?V MJ/A7H]BKVGQ#\(:G>S2"&WMH_$5HJLYSR[[R$0 $LQ!X' 9B%-7P_P#M6?#B M[O;BQUGQWX(TR\C19DDM/%-K!O%VL>$/%/AWQ;J M>A:/=:K]@TW58;DD11EAO$;$JI;:,^]<]X"_:/;QPOP^A.DKINJ:S?76EZ[I MT[DRZ7=064ERR#^\K;$9&Z-'(C#K0!W7_"W]"_Y\?%'_ (26J_\ R-1_PM_0 MO^?'Q1_X26J__(U<-\/?VC+GQH?&I;P\Y.G6LNK:!!:2%I=9L$EF@5T!&-S2 M6Y(QD;+B GEJXC3OVK_$-S\/?%?B:!?!OB-=+\/SZP8M#U1O-TJZ3;BQOK>0 MB8,=S?O JX?\+?T+_GQ\4?^$EJO_R-1_PM_0O^?'Q1_P"$EJO_ M ,C5S>E_$WQ7X7^(.E^%O'MAHL<6LVMS<:;J^B3R^69(%#R02Q2KE28RSJX< M@^6P(4XSRO@_]JT:A\/O'7B?7]"-@VAP+K&FV-M+N?4=)N YL)P6QM>8Q2#: M?ND#/6@#T[_A;^A?\^/BC_PDM5_^1J/^%OZ%_P ^/BC_ ,)+5?\ Y&KF+'XC M^-_"GC+PMI7CS2]!BLO%-Q)9V5QH=S,YL;M8))Q!+YBCS59(I )5V?,%'EX; M(Z;3?']Q??$KQGX9:TB6#0M*T_4(YPQW2M<-=AE8= !]E7&/[QH 7_A;^A?\ M^/BC_P )+5?_ )&H_P"%OZ%_SX^*/_"2U7_Y&KPYOVM-;O=-\)3%?"?A!M9T M2/58[OQ;>2VUGJ$[.Z_8K:; 19%" L78D>8F(W&XKZ;\8/C'J/PU^#&F^,9K M72]#U"ZN-+M[F+7+U39Z<;JXABD,L\9"LL7FL2ZG:=NXWXMH552QF38I95+@+(K$@9QU%[^TUX'LUT]4DUF]O+ MV&ZG73['0[RXNHEMG1+@31)$6B*&1.' R&!7=D9 .@_X6_H7_/CXH_\ "2U7 M_P"1J/\ A;^A?\^/BC_PDM5_^1JQ)/VC_!5P8ETN^N]56>&W>.]M--N9;-'N M(Q);1RSK'LC:160A6((#J6V[ESSO@7]K?P?KWP^T_P 0:\;_ ,/W#^'X=>NH M[K2KN*(Q$1B5H&>,> -,@GGU&YU?3(4MUNXGOM#O(?M4#2I$)(0T6 M9%WR1C@9^=3C!!H Z;_A;^A?\^/BC_PDM5_^1J/^%OZ%_P ^/BC_ ,)+5?\ MY&KF?!'[0FE^*/&6J>'[JWGL+T7L=MIUD]I,MY*A@25Y)HBNZ%4W8+. HR!G M) ,7QA\?>/\ P9XM\*V'A^#PW/IVOWZZ;$VIK<>=#(4=R[;#@KA<8'/- '5_ M\+?T+_GQ\4?^$EJO_P C4?\ "W]"_P"?'Q1_X26J_P#R-7B/B3]JG6O#/B'Q MGI=]K?P[TV_\-210C2=4U&2VN]2V&JVQM+^*PL;!-(NCJ-S( M83*X-MY>\;54L3C&.9-9D5M1A$MC$;*<271,ODF M.--F6E60[6C WJ>H&*O_ !N.?A]-_M:_P#)%M1_Z^;?_P!&"@#N?A-_R2OP;_V!;+_T0E=77*?";_DE M?@W_ + ME_Z(2NKH **** "BBB@#B?%?_)1_ W^_>?\ H@UU6KZ18>(-+N], MU2RM]2TV\B:"YL[N)989XV&&1T8$,I!(((P0:QO&7@#3O'#:?)>7.I65Q82- M)!<:7?2VDJEE*L"T9!((/0U@_P#"E;#_ *&?QE_X4EW_ /%T 9A_9-^"!!'_ M ISP"/<>&+($?CY54K7]F'PS?R+9^+I&\?>&+#Y-$\.>);>*[LM,0]<*ZGS MG'W4>7IQF:=IYH(K]9EV1/(\A_P!49 '(61<+CI_B%\-]1\1^(=%\ M3^&M>C\.>*=)BGM8KJZLC>VL]K,4,L$T DC+*6BB<%71@T:\X+ Q?\*5L/\ MH9_&7_A27?\ \71_PI6P_P"AG\9?^%)=_P#Q= ',R? GQ1#J5GXBMOB))/XR M6.\M[J^U73/M-B]O']/T(S36X>2,VS7+M.<, S2-=,2H"@8XX.!V'_ I6P_Z&?QE_X4EW M_P#%T?\ "E;#_H9_&7_A27?_ ,70!RVJ_LOZ7X@\)Z/X=U359+O3;/5-8U"= M!!L-PFH+>*T6=WR[!>'YN<[.@SQS'AW]CB#P]:I/;:KX>L->L6LWTS4=(\)P M601K>590UR%D+SF0HH<+)$AYVJAP1ZA_PI6P_P"AG\9?^%)=_P#Q='_"E;#_ M *&?QE_X4EW_ /%T <7XR_9QUWQW%*^K^.UN;Z]T/4M#OYCI&$,=V\+J;=!, M/*$;0)A6,A8%LMD[A8@_9ONEO(+&;Q4L_A&RU.ZUBRTO^S0MS'=3F1B)+CS< M/$LDKNJB-6S@%R!BNL_X4K8?]#/XR_\ "DN__BZ/^%*V'_0S^,O_ I+O_XN M@# TWX*:OX+MO#%QXC M^*OPH3XGS: [ZFVG?V5--REHQF/(X)^;O7?\ A#PUXJT:9)=;\61:ZTK2RW,<>FBWCW-M M"+ /,8QQJ%/RLTA)8G=T%9?_ I6P_Z&?QE_X4EW_P#%T?\ "E;#_H9_&7_A M27?_ ,70!Z!-#'<1/%*BR1.I5T<95@>"".XKRB__ &2O@I>VUPB_"/P)!-*C M 7">&;+>C$?>!\KJ#SFM?_A2MA_T,_C+_P *2[_^+H_X4K8?]#/XR_\ "DN_ M_BZ .?O_ (#:GXA\&Z;X/\0^)K+6_"EJEO#+IT^A1G[3##M"QR%I&4@A0#\N M#Z5JZ?\ LO?!K2+Z"]L?A+X%LKRW<20W%OX;LXY(V'(96$601ZBK?_"E;#_H M9_&7_A27?_Q='_"E;#_H9_&7_A27?_Q= '(^.OV6-,\>>$O%VD7.M3VE[K.N M/KMGJ=O !+ITK111[5&[YU(B(8$@,&((K/G_ &-/".LZ'KBZ\T6L>)]09#!X MB>UV3V(CC1(5B&\X"%-PYY+&N^_X4K8?]#/XR_\ "DN__BZ/^%*V'_0S^,O_ M I+O_XN@#C?%'[/7BGQ?8W.B:I\1$U/PO?R17%Y;:CHHN+V.10N[[)<&8"! M&9-P5HY"NX[6%1O^S?K]W:Z[X?NO'<8\#ZQJ3ZAEZOZ@=3B\5+9A9[68,#%Y:[^%1550-WKTS3/%7[-_C M"ZTK4]%\*?$[_A%_#NIW$EW=V!T1;A]\@Q-%%(9E"0N(?!7AG2[/4AH6L>'& MMIM,U&VM_-C@EA0* 8W8EHR!@J6!(_BSS7-W_P "_%.N3QZYJWQ ^V>+[6^B MO;">/3'32;/RP5\M;$W!)#@G>WG;CQAATKIO^%*V'_0S^,O_ I+O_XNC_A2 MMA_T,_C+_P *2[_^+H Y+1/V9AIMYJVH7?B9[[5-7T^^M;Z<62QHTUTP+2H@ M<[%4* $)8\I16!YX)KTK_ (4K8?\ 0S^,O_"DN_\ XNC_ (4K8?\ 0S^,O_"DN_\ XN@# MB+?]FG6-'NKK5]&\;I:^)=6ANH-:O;K2!-;W2W#AW,,(F0PLI VDNX&/F#5F M2_L>6Z:WI]Q9^(;6TMK*W6!+F/1DCU5T$3(89+R.1!+ 2Q8QR1L>P<"O2O\ MA2MA_P!#/XR_\*2[_P#BZ/\ A2MA_P!#/XR_\*2[_P#BZ /.=9_9#BUC3;NP ME\0VES9R#2YH[?4-&6YB^TV2-&C2H90)(75CNB^4YP1)VKL_AS^SKX7\%6VF M3WVDZ%?ZYI]S+=6U[INC1:=#:M([&M/_A2MA_T,_C+_ ,*2 M[_\ BZ/^%*V'_0S^,O\ PI+O_P"+H H:Q\"+37;?XAP7.KSI'XNEMYB88E#6 M;PJNP@DD/\RJ>0/3WKG+[]G37-HV-W'?V^C&*V2*V# 1 M"#[0QW-O8E_,^]@A0/EKLO\ A2MA_P!#/XR_\*2[_P#BZ/\ A2MA_P!#/XR_ M\*2[_P#BZ /'!^P\)]3AO[OQ;:27D<4T#WT.A!;R\629)0US.T[/*Z[-N057 M!X0$<^Z^*/AO;>*O%WA/6[F=2F@K=+]DD@$BW'G1JAR2>,;?0YS6;_PI6P_Z M&?QE_P"%)=__ !='_"E;#_H9_&7_ (4EW_\ %T >=>(_V0;/58[6"VUBPGT[ M2]1N+[1M(\0Z*NIV-BDZ@30&,RH70$93#(4R1\PJQ??LI^9IEO86/B.UTZW7 M0H]'E2#1(HD+Q77VJ*6..)XTC4/P8PIRO\0/-=[_ ,*5L/\ H9_&7_A27?\ M\71_PI6P_P"AG\9?^%)=_P#Q= '->$OV?=2TGXC)XUUSQ9'K.K-><9YK6_X4K8?]#/XR_P#"DN__ (NC_A2MA_T,_C+_ M ,*2[_\ BZ /*8/V-Q-X,\*^#-4NO!&I>$?#]^+^'3W\%DF4Y;>K![QXOF#' M/[K&0#C@5Z9IG[,'P!K&^MI%E@NK;PW9QRQ.#E65EC!4@\@B MK7_"E;#_ *&?QE_X4EW_ /%T?\*5L/\ H9_&7_A27?\ \70!R'Q!_97TOXA> M#?%&BW.M3V5[JNK3:O9ZK;0 3:?))PRK\WSJ5+*02 0>G JE?_L<^%->TKQ! M+K;1:GXMU*436WB1K7;/8-&%%KY:[SQ%L3'/..V:[S_A2MA_T,_C+_PI+O\ M^+H_X4K8?]#/XR_\*2[_ /BZ ./\3?L^>)_%=O<:-J/Q!CU'PK>745YHZ M,+F]BD5U:XN;NPDT5;F4M.&\^)) MO.39"[.Q*[2ZYPLB\8[_ /X4K8?]#/XR_P#"DN__ (NC_A2MA_T,_C+_ ,*2 M[_\ BZ &^+_A/-XE\'>&-/L=5BT#7/#=Q!?:;?V]IYL$4\<3Q8:%F!>-DD=2 MN\'G(8$9KG+3X$^)H5U?6V^(,D'CS4K^"^DU:PTWR;#;%#Y*6S69F8O!MR2K M2EBWS!P0,=+_ ,*5L/\ H9_&7_A27?\ \71_PI6P_P"AG\9?^%)=_P#Q= "? M"?X5W7P_N_$FJZKJMIJVO>(;M+N]ETS3O[/M R1+$HC@\R0CY4!+,[,3GG& M/,M"_9&U%O#?AGPIXI\:6NM^$?#S2/:V6GZ(;&ZEW02P8EN?M$A(V3/D(J9. M,G'%>G?\*5L/^AG\9?\ A27?_P 71_PI6P_Z&?QE_P"%)=__ != 'EGAO]BW M3]!L!:C4M"MS;FP2UN=)\+6]G<-';7L-T3<2AV>623[.B$H8T_B\LD5V>K? M2_3XAZIXZ\.^)H=*\2W5Z\\+WVF&[MHX)+2UMY8'C$T;/DV4,@<.I4C&",YZ M#_A2MA_T,_C+_P *2[_^+H_X4K8?]#/XR_\ "DN__BZ .=@_9WE.@>(+"^\5 MW6IW>LZSHVLSZA80FV">9_:=Y#7Y.WI\V[/RXQ6G_PI6P_Z&?QE_X4EW_\71_P MI6P_Z&?QE_X4EW_\70!X_;?L1^3;^'[6?Q79:E!HTFBRVMSJ&A^?>6W]GFW/ MEVTK7&VWBE-N6953<&FD.\@E:ZK5_P!DC0?$OA?P9H.LZD]Y:^&A>-#-';B. M;SIQ\EQ$VX^5+$V'1QDA@#QBNV_X4K8?]#/XR_\ "DN__BZ/^%*V'_0S^,O_ M I+O_XN@!OB7X477C+P]X'L=;UT7M_X=U*UU.XO?L047\D44B',>_$>XR%N MK8QWKB?'/[)NE^*[O6!::E;6>CWFI6VO6VA7VEQWFGVVJ1K)'-,82RAXYXY" M'BX^?=(K*[$UW'_"E;#_ *&?QE_X4EW_ /%T?\*5L/\ H9_&7_A27?\ \70! MP=C^RO)I.FZX\[2II8-%T'[%%,UE+<.'?=/([O)]I(9W9 MC\@QQP/3O^%*V'_0S^,O_"DN_P#XNC_A2MA_T,_C+_PI+O\ ^+H VOA7X&7X M8_#;POX12\.HKH>FP:>+MH_+,PBC";]N3MSC.,GZUQ^B? *WTCP3\)?#DFK? M:XO -S#<+*]J,7WEV%Q:8*[CLS]HW]6^YCOD:W_"E;#_ *&?QE_X4EW_ /%T M?\*5L/\ H9_&7_A27?\ \70!:^'GPP3X:ZSXF_LO4&'AO5KL:A;:&8L)IUPX M_P!(\E]W$&T+]F&'1-/O[4>(GF^UZ'J^B[S9A=HO[R2Y M,GW^=GF;=O\ %C.1TKK_ /A2MA_T,_C+_P *2[_^+H_X4K8?]#/XR_\ "DN_ M_BZ .*L_V:-1TFZL[/3O&*6_A>/7+#Q%<::^E!YY;NW$(95G\X!(9#"'*["P M'PYKVCZ&8-/N--TS5+#PM;IJL$[+DS2I&&5 M&58AEMTBRXQ7J'_"E;#_ *&?QE_X4EW_ /%T?\*5L/\ H9_&7_A27?\ \70! M8^#WPJM_@SX:G\,:3?RW'AF"Y:32+&=2TFG0, S6_FEB9$$AD920"JN%Y"@U MO^,/ WAOXAZ,=(\5>']+\3:49%E-CK%E'=P%U^ZVR12N1DX..*YC_A2MA_T, M_C+_ ,*2[_\ BZ/^%*V'_0S^,O\ PI+O_P"+H YS7?V./@IK%AY,/PK\$Z9< M*ZR1W-IX9L0RL#GD&$JRGH58$$'L<$0:+^QK\';*\NKS4/AAX$U&YN J")/" MEC%;0JN>(X_+.".0 .J_X4K8?]#/XR_\*2[_ /BZ/^%*V'_0S^,O M_"DN_P#XN@"A<_LT_#O3_"OBG2O"7@SPUX(O=?TFXTB;4]#T2WMI1%*A4@F- M4+J#AMI."5%*;GPMKMEH\^E3S06PECNG:TEMH+ED M+@"6$32%3DY#;3D!<=M_PI6P_P"AG\9?^%)=_P#Q='_"E;#_ *&?QE_X4EW_ M /%T <;'^R%X.\.7>B7'@8R^ IK+3[C2+JYT7=':#8:CIWAU;.5$N @>6Z_?M]H8; M%(5#%'G)V9VE?1?^%*V'_0S^,O\ PI+O_P"+H_X4K8?]#/XR_P#"DN__ (N@ M#C/%/[.WB/XBQW=QXN\?I>ZJ=,N=*L)=)T?[#;V,=SM6XF6,SR.T[1J8U" MXQ\V1VG_ I6P_Z&?QE_X4EW_P#%T?\ "E;#_H9_&7_A27?_ ,70!R5A\$/' MEW\2?#/B7Q5\2+3Q1IV@3F:UT@Z MHHD,$T!N"ZSMF&O .A:Z=,?P])I4ECJ6H6GVS+6,T,L?F1!X]P8P@$*R@9XQ@"M3_ M (4K8?\ 0S^,O_"DN_\ XNC_ (4K8?\ 0S^,O_"DN_\ XN@#S3Q-^R$?'M[? MZ]XL\0Z7KOBR6XL)[>63P^!I40M?/"+)9-.QE#K=3*Q,H;!&TH0#73_#S]FV MS\ :G;:A!?6$4PTO4K">#2=%AT^V=[N:VD,B1QGY0BVJ( Q=V!^9SBND_P"% M*V'_ $,_C+_PI+O_ .+H_P"%*V'_ $,_C+_PI+O_ .+H XSP1^S=K/P\T:UT M#0O';6GAZ2*Q.I0?V6&N;J>VM8;8M',9<112QV\0>,HYP&VNI.:-9_9;AUCP MIX;T0^(WB71O")\*";[&#YHWVC>?C?P?]$ VY/W^O'/9_P#"E;#_ *&?QE_X M4EW_ /%T?\*5L/\ H9_&7_A27?\ \70!E:S\!4U<:YC79;9M3\56GB??';_- M"T"6ZB('=SG[,#OXQNZ''/F^A?L3)INL6.IW7B:PEO;>TBM)KFTT(0SW_EW4 M%QYUU*T[O-,Q@PS$XR[$*O(/KO\ PI6P_P"AG\9?^%)=_P#Q='_"E;#_ *&? MQE_X4EW_ /%T <_'^SC96/Q:U#XC:;JQT_Q->ZA%/+<1VH/FV:Q".2SE^8%T M8#<#QM<*V#MY[3QU\/5\;:SX1OVOC:'P_J8U(1B+?YY$;)L)R-OWLYYZ=*R_ M^%*V'_0S^,O_ I+O_XNC_A2MA_T,_C+_P *2[_^+H R=4_9VT?7D\>KJ-V\ MK^*+V._BN(81'/ILT<2)&\4F2=ZL@8-Q@UJ>,/A3>>.O!OAO2-6\0&;4-*NK M6[GU)+,+]KDAP23'OPFXC)P3C/ IW_"E;#_H9_&7_A27?_Q='_"E;#_H9_&7 M_A27?_Q= ''ZK^RY:ZMHGARP?Q#-%+H>@_V/;7,=J,^:)898[C!;'RM"/D.0 M<]:PO$?[(UUXSU*77O$?B/1->\2F_6]C-_X9$VF*/(:$QFT:X+,-K;@?-W!N M&/(\4 MG3Y_"Z>=HHTW2H;.VMKQI"\LS01%4=64F/R^,*6RS,=U=[\; P^'EQN(+>?! MD@8!/F+VJ/\ X4K8?]#/XR_\*2[_ /BZ9+\"]%NFB%YK?BG4(8Y%E^SWFOW4 ML3E3D;E+X(R.AH ]&KQO]K7_ )(MJ/\ U\V__HP5[)7C?[6O_)%M1_Z^;?\ M]&"@#\_/"O\ R*^C_P#7G#_Z *U*** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** >** "BBB@ HHHH *XWXM?\B7 EX-101.SCH 10 cnxn-20231231.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40104 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Basic and Diluted Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - FAIR VALUE MEASUREMENTS - Available-for-Sale Investments (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Carrying Amount of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortizable Intangible Assets and Related Accumulated Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - LEASES - Future Lease Payments (Details) CALC 2 link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Estimated Amortization Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - ACCOUNTS RECEIVABLE (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - PROPERTY AND EQUIPMENT - Summary (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - LEASES - Lease Cost and Other Information (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - LEASES - Future Lease Payments (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES (Detail) link:presentationLink link:calculationLink link:definitionLink 41003 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Components of Share-Based Compensation Recorded as Expense (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - INCOME TAXES - Provision for Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - INCOME TAXES - Components of Deferred Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41104 - Disclosure - INCOME TAXES - Reconciliation of Income Tax Provision To Total Income Taxes At Statutory Federal Tax Rate (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONSOLIDATED BALANCE SHEETS (PARENTHETICAL) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - ACCOUNTS RECEIVABLE link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - PROPERTY AND EQUIPMENT link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - BANK BORROWINGS link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - EMPLOYEE BENEFIT PLAN link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - SEGMENT AND RELATED DISCLOSURES link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 30103 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - ACCOUNTS RECEIVABLE (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - PROPERTY AND EQUIPMENT (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - SEGMENT AND RELATED DISCLOSURES (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) link:presentationLink link:calculationLink link:definitionLink 40102 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 40103 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Restructuring and Other Charges (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - REVENUE - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - REVENUE - Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - PROPERTY AND EQUIPMENT - Depreciation and Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - BANK BORROWINGS (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Dividend Payments (Details) link:presentationLink link:calculationLink link:definitionLink 41004 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Nonvested Stock Award and Unit Activity (Details) link:presentationLink link:calculationLink link:definitionLink 41005 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Stock Equivalent Units (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - INCOME TAXES - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - EMPLOYEE BENEFIT PLAN (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - SEGMENT AND RELATED DISCLOSURES - Segment Information Applicable to Reportable Operating Segments (Details) link:presentationLink link:calculationLink link:definitionLink 41402 - Disclosure - SEGMENT INFORMATION - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details) link:presentationLink link:calculationLink link:definitionLink 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - REVENUE link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - LEASES link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - REVENUE (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 11 cnxn-20231231_cal.xml EX-101.CAL EX-101.DEF 12 cnxn-20231231_def.xml EX-101.DEF EX-101.LAB 13 cnxn-20231231_lab.xml EX-101.LAB Document And Entity Information Document Information [Table] Document Information [Line Items] Document Type Document Type Document Annual Report Document Transition Report Document Period End Date Document Period End Date Entity File Number Entity Registrant Name Entity Registrant Name Entity Incorporation, State or Country Code Entity Tax Identification Number Entity Address, Address Line One Entity Address, City or Town Entity Address, State or Province Entity Address, Postal Zip Code City Area Code Local Phone Number Title of 12(b) Security Trading Symbol Security Exchange Name Entity Well-known Seasoned Issuer Entity Well-known Seasoned Issuer Entity Voluntary Filers Entity Voluntary Filers Entity Current Reporting Status Entity Current Reporting Status Entity Interactive Data Current Entity Filer Category Entity Filer Category Entity Small Business Entity Emerging Growth Company ICFR Auditor Attestation Flag Document Financial Statement Error Correction Entity Shell Company Entity Public Float Entity Public Float Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Current Fiscal Year End Date Current Fiscal Year End Date Document Fiscal Year Focus Document Fiscal Year Focus Document Fiscal Period Focus Document Fiscal Period Focus Entity Central Index Key Entity Central Index Key Amendment Flag Amendment Flag Auditor Name Auditor Firm ID Auditor Location Consolidated Balance Sheets Statement [Table] Statement [Table] Statement [Line Items] Basis of presentation Estimated future amortization expense Assets [Abstract] ASSETS Total assets: Assets, Current [Abstract] Current Assets: Cash and Cash Equivalents, at Carrying Value Cash and cash equivalents Short-Term Investments Short-term investments Accounts Receivable, Net, Current Accounts receivable, net Accounts receivable, net Inventory, Net Inventories, net Income Taxes Receivable, Current Income taxes receivable Prepaid Expense and Other Assets, Current Prepaid expenses and other current assets Assets, Current Total current assets Property, Plant and Equipment, Net Property and equipment, net Property and equipment, net Operating Lease, Right-of-Use Asset Right-of-use assets Goodwill Goodwill Net balance Intangible Assets, Net (Excluding Goodwill) Intangible, net Other Assets, Noncurrent Other assets Assets Total assets Total Assets Liabilities and Equity [Abstract] LIABILITIES AND STOCKHOLDERS' EQUITY Liabilities, Current [Abstract] Current Liabilities: Accounts Payable, Current Accounts payable Employee-related Liabilities, Current Accrued payroll Accrued Liabilities and Other Liabilities Accrued expenses and other liabilities Accrued expenses and other liabilities Liabilities, Current Total current liabilities Deferred Income Tax Liabilities, Net Deferred income taxes Operating Lease, Liability, Noncurrent Noncurrent operating lease liabilities Long-term lease liability Other Liabilities, Noncurrent Other liabilities Liabilities Total Liabilities Stockholders' Equity Attributable to Parent [Abstract] Stockholders' Equity: Common Stock, Value, Issued Common Stock, $.01 par value, 100,000 shares authorized, 29,262 and 29,123 issued, 26,360 and 26,350 outstanding at December 31, 2023 and 2022, respectively Additional Paid in Capital, Common Stock Additional paid-in capital Retained Earnings (Accumulated Deficit) Retained earnings Accumulated Other Comprehensive Income (Loss), Net of Tax Accumulated other comprehensive income Treasury Stock, Common, Value Treasury stock at cost, 2,902 and 2,773 shares at December 31, 2023 and 2022, respectively Stockholders' Equity Attributable to Parent Balance Balance Total Stockholders' Equity Liabilities and Equity Total Liabilities and Stockholders' Equity Common Stock, Par or Stated Value Per Share Common Stock, par value Common Stock, Shares Authorized Common Stock, shares authorized Common Stock, Shares, Issued Balance (in shares) Balance (in shares) Common Stock, shares issued Common Stock, Shares, Outstanding Common Stock, shares outstanding Treasury Stock, Shares Balance - Treasury Shares (in shares) Balance - Treasury Shares (in shares) Treasury stock, shares Aggregate shares repurchased Consolidated Statements of Income Revenue from Contract with Customer, Excluding Assessed Tax Net sales Cost of Goods and Services Sold Cost of sales Gross Profit Gross profit Selling, General and Administrative Expense Selling, general and administrative expenses Amount of expenses associated with exit or disposal activities pursuant to an authorized plan and other charges incurred outside of the normal course of business. Restructuring and Other Charges Restructuring and other charges Operating Income (Loss) Operating income (loss) Income from operations Other Nonoperating Income (Expense) Other expenses, net Other income, net Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Income before taxes Income Tax Expense (Benefit) Income tax provision Income tax provision Net income Earnings Per Share Earnings per common share: Earnings per share: Earnings Per Share, Basic Basic Earnings Per Share, Diluted Diluted Weighted Average Number of Shares Outstanding, Diluted [Abstract] Shares used in computation of earnings per common share: Denominator: Weighted Average Number of Shares Outstanding, Basic Basic Denominator for basic earnings per share Weighted Average Number of Shares Outstanding, Diluted Diluted Denominator for diluted earnings per share Consolidated Statements Of Other Comprehensive Income Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract] Other comprehensive income Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent Unrealized gains on available-for-sale investments, net of tax of $(22) Comprehensive Income (Loss), Net of Tax, Attributable to Parent Comprehensive income Other Comprehensive Income (Loss), Available-for-Sale Securities, Tax, Portion Attributable to Parent Unrealized gains on available-for-sale investments, tax Consolidated Statement of Changes in Stockholders' Equity Equity Components [Axis] Equity Component [Domain] Common Stock Additional Paid-In Capital Retained Earnings AOCI Attributable to Parent [Member] Accumulated Other Comprehensive Income Treasury Shares Stock Issued During Period, Value, Employee Stock Purchase Plan Issuance of common stock under Employee Stock Purchase Plan Stock Issued During Period, Shares, Employee Stock Purchase Plans Issuance of common stock under Employee Stock Purchase Plan (in shares) Share purchased under employee stock purchase plan Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition Stock-based compensation expense Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Restricted stock units vested Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Restricted stock units vested (in shares) Adjustments Related to Tax Withholding for Share-based Compensation Shares withheld for taxes paid on stock awards Treasury Stock, Value, Acquired, Cost Method Repurchase of common stock for treasury Shares repurchased, value Treasury Stock, Shares, Acquired Repurchase of common stock for treasury (in shares) Number of share repurchased Dividends, Common Stock, Cash Dividend declaration Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Other comprehensive income, net of tax Consolidated Statements of Cash Flows Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract] Cash Flows provided by (used in) Operating Activities: Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net income Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Adjustments to reconcile net income to net cash provided by operating activities: Depreciation, Depletion and Amortization, Nonproduction Depreciation and amortization Provision for Doubtful Accounts Adjustments to credit losses reserve Share-based Compensation Stock-based compensation expense Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations, including cumulative effect adjustment on adoption of new accounting standard. Deferred Income Tax Expense (Benefit), Adjusted Deferred income taxes Investment Income, Amortization of Discount Amortization of discount on short-term investments Gain (Loss) on Disposition of Property Plant Equipment Loss (gain) on disposal of fixed assets Increase (Decrease) in Operating Capital [Abstract] Changes in assets and liabilities: Increase (Decrease) in Accounts Receivable Accounts receivable Increase (Decrease) in Inventories Inventories Amount of increase (decrease) in prepaid expenses, income tax receivables and assets classified as other. Increase (Decrease) in Prepaid Expense Income Tax Receivables and Other Current Assets Prepaid expenses and other current assets Increase (Decrease) in Other Noncurrent Assets Other non-current assets Increase (Decrease) in Accounts Payable Accounts payable Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Accrued expenses and other liabilities Net Cash Provided by (Used in) Operating Activities Net cash provided by operating activities Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract] Cash Flows used in Investing Activities: Payments to Acquire Short-Term Investments Purchases of short-term investments The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale and the development, modification or acquisition of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization. Payments to Acquire Property, Plant, Equipment, and Software Purchases of equipment and capitalized software Proceeds from Sale of Property, Plant, and Equipment Proceeds from sale of equipment Proceeds from Life Insurance Policy Proceeds from life insurance Net Cash Provided by (Used in) Investing Activities Net cash used in investing activities Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract] Cash Flows used in Financing Activities: Proceeds from Lines of Credit Proceeds from short-term borrowings Repayments of Lines of Credit Repayment of short-term borrowings Payments for Repurchase of Common Stock Purchase of treasury shares Payments of Dividends Dividend payments Proceeds from Stock Plans Issuance of stock under Employee Stock Purchase Plan Payments Related to Tax Withholding for Share-based Compensation Payments of payroll taxes on stock-based compensation through shares withheld Net Cash Provided by (Used in) Financing Activities Net cash used in financing activities Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Increase in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Cash and cash equivalents, end of period Cash and cash equivalents, beginning of year Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract] Non-cash Investing and Financing Activities: Capital Expenditures Incurred but Not yet Paid Accrued capital expenditures Future cash outflow to pay for excise tax incurred on purchases of treasury shares that have occurred. Accrued Excise Tax on Treasury Purchases Accrued excise tax on treasury purchases Supplemental Cash Flow Information [Abstract] Supplemental Cash Flow Information: Income Taxes Paid, Net Income taxes paid Interest Paid, Net Interest paid Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Summary of Significant Accounting Policies Revenue Revenue from Contract with Customer [Text Block] Revenue Fair Value Measurements Fair Value Disclosures [Text Block] Fair Value Measurements Goodwill and Intangible Assets Disclosure Goodwill and Intangible Assets Disclosure [Text Block] Goodwill and Other Intangible Assets Accounts Receivable Loans, Notes, Trade and Other Receivables Disclosure [Text Block] Accounts Receivable Property and Equipment Property, Plant and Equipment Disclosure [Text Block] Property and Equipment Leases Lessee, Operating Leases [Text Block] Leases Accrued Expenses and Other Liabilities The entire disclosure for accrued expenses, and other liabilities that are classified as current at the end of the reporting period. Accrued Expenses and Other Liabilities Disclosure, Current [Text Block] Accrued Expenses and Other Liabilities Bank Borrowings Debt Disclosure [Text Block] Bank Borrowings Stockholders' Equity and Share-Based Compensation Shareholders' Equity and Share-based Payments [Text Block] Stockholders' Equity and Share-Based Compensation Income Taxes Income Tax Disclosure [Text Block] Income Taxes Employee Benefit Plan Compensation and Employee Benefit Plans [Text Block] Employee Benefit Plan Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Commitments and Contingencies Segment Information Segment Reporting Disclosure [Text Block] Segment and Related Disclosures Schedule II - Valuation and Qualifying Accounts Schedule of Valuation and Qualifying Accounts Disclosure [Text Block] Schedule II-Valuation And Qualifying Accounts Consolidation, Policy [Policy Text Block] Principles of Consolidation Use of Estimates, Policy [Policy Text Block] Use of Estimates in the Preparation of Financial Statements Revenue from Contract with Customer [Policy Text Block] Revenue Recognition Cost of Sales, Policy [Policy Text Block] Cost of Sales and Certain Other Costs Cash and Cash Equivalents, Policy [Policy Text Block] Cash and Cash Equivalents and Investments Trade and Other Accounts Receivable, Policy [Policy Text Block] Accounts Receivable Inventory, Policy [Policy Text Block] Inventories Advertising Costs, Policy [Policy Text Block] Advertising Costs and Vendor Consideration Property, Plant and Equipment, Policy [Policy Text Block] Property and Equipment Lessee, Leases [Policy Text Block] Leases Goodwill and Intangible Assets, Policy [Policy Text Block] Goodwill and Other Intangible Assets Concentration Risk, Credit Risk, Policy [Policy Text Block] Concentrations Costs Associated with Exit or Disposal Activities or Restructurings, Policy [Policy Text Block] Restructuring and other charges Earnings Per Share, Policy [Policy Text Block] Earnings Per Share New Accounting Pronouncements, Policy [Policy Text Block] Recently Issued Financial Accounting Standards Restructuring and Related Costs [Table Text Block] Schedule of restructuring and other charges Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Computation of basic and diluted earnings per share Disaggregation of Revenue [Table Text Block] Schedule of disaggregation of revenue from contracts with customers Contract with Customer, Asset and Liability [Table Text Block] Schedule of changes in contract liability balances Cash, Cash Equivalents and Investments [Table Text Block] Schedule of cash equivalents and short-term investments Schedule of Goodwill [Table Text Block] Carrying Amount of Goodwill Schedule of Finite-Lived Intangible Assets [Table Text Block] Intangible Assets and Related Accumulated Amortization Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Estimated Amortization Expense Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Accounts Receivable Property, Plant and Equipment [Table Text Block] Property and Equipment Lease, Cost [Table Text Block] Schedule of lease cost Lessee, Operating Lease, Liability, Maturity [Table Text Block] Schedule of future lease payments on capitalized operating leases Tabular disclosure of the components of accrued expenses and other liabilities . Schedule of Accrued Expenses and Other Liabilities [Table Text Block] Schedule of Accrued Expenses and Other Liabilities PhantomShareUnitsPSUsMember Stock Equivalent Units (SEUs) Dividends Declared [Table Text Block] Dividend declared Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block] Components of Share-Based Compensation Recorded as Expense Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block] Nonvested Stock Unit Activity Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block] Stock Equivalent Units Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] Provision for Income Taxes Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Components of Deferred Taxes Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Reconciliation of Income Tax Provision to Total Income Taxes at Statutory Federal Tax Rate Schedule of Segment Reporting Information, by Segment [Table Text Block] Segment information applicable to reportable operating segments Income Statement Location [Axis] Income Statement Location [Domain] Selling, General and Administrative Expenses Other Income [Member] Other income Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Computer Software, Intangible Asset [Member] Computer software Range [Axis] Range [Domain] Minimum Maximum Number of Operating Segments Number of operating segments Credit and Debit Card Receivables, at Carrying Value Amounts due from banks for credit card transactions, classified as cash equivalents Interest Income, Short-Term Investment, Other Interest income on cash equivalents and short-term investments Advertising Expense Advertising expense Property, Plant and Equipment, Useful Life Property and equipment, estimated useful lives Finite-Lived Intangible Asset, Useful Life Estimated useful lives Impairment of Long-Lived Assets Held-for-use Impairment of property and equipment Goodwill and Intangible Asset Impairment Impairment of intangible assets Concentration Risk [Table] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Revenue Benchmark [Member] Net Sales Concentration Risk Type [Axis] Concentration Risk Type [Domain] Customer Supplier Customer [Axis] Customer [Domain] Single Customer [Member] Single Customer Information by name or description of a single external supplier or group of external suppliers of products or services. Major Supplier [Axis] Single external supplier or group of external suppliers of products or services. Name of Major Supplier [Domain] Ingram Micro Inc Class [Member] Ingram Micro Inc Class Ingram Micro Inc. Synnex Corporation [Member] Synnex Corporation TD Synnex Corporation Information pertaining to Microsoft Corporation. Microsoft Corporation [Member] Microsoft Corporation Dell, Inc. [Member] Dell, Inc. [Member] Dell, Inc. Information pertaining to Hewlett Packard Enterprise and HP, Inc. collectively. Hewlett Packard Enterprise and HP, Inc. Information pertaining to HP, Inc. HP, Inc. HP, Inc. Information pertaining to Lenovo. Lenovo [Member] Lenovo Concentration Risk [Line Items] Concentration risk Concentration Risk, Percentage Percentage of sales by segment Percentage of total net sales The number of customers that exceeded the risk benchmark of 10%. Number of Customers Exceeding Risk Benchmark Number of customers that exceeded the risk benchmark of 10%. Percentage of Purchases from Major Suppliers Percentage of Purchases from Major Suppliers Percentage of product purchases from vendor Percentage of product purchases manufactured by supplier. Percentage of Product Purchases Manufactured by Supplier Percentage of product purchases manufactured by supplier Schedule of Restructuring and Related Costs [Table] Restructuring Type [Axis] Type of Restructuring [Domain] Employee separations Other Restructuring [Member] Other charges Balance Sheet Location [Axis] Financial Statement Line Items with Differences in Reported Amount and Reporting Currency Denominated Amounts [Domain] Primary financial statement caption encompassing accrued expenses and other liabilities. Accrued expenses and other liabilities Restructuring Cost and Reserve [Line Items] Restructuring and other charges Carrying value at the balance sheet date of obligations related to unpaid employee termination benefits. Accrued Employee Termination Benefits Accrued employee termination benefits Net Income (Loss) Attributable to Parent [Abstract] Numerator: Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements Dilutive effect of employee stock awards Earnings Per Share, Diluted, Other Disclosures [Abstract] Additional Disclosure Value of 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. Antidilutive Securities Value Excluded From Computation Of Earnings Per Share Amount Employee stock awards excluded from computation of diluted earnings per share Disaggregation of Revenue [Table] Segments [Axis] Segments [Domain] Information pertaining to the Large Account Segment (Enterprise Solutions). Large Account Segment Enterprise Solutions Information pertaining to the Small and Medium Sized Businesses segment (Business Solutions). Small and Medium Sized Businesses segment Business Solutions Information pertaining to the Public Sector segment (Public Sector Solutions). Public Sector Public Sector Solutions Product and Service [Axis] Product and Service [Domain] Information pertaining to notebooks and mobility products. Notebooks/Mobility Information pertaining to desktop computer products. Desktops Information pertaining to software products. Software Information pertaining to server and storage products. Servers/Storage Information pertaining to net and com products. Net/Com Products Information pertaining to display and sound products. Displays and Sound Information pertaining to accessory products. Accessories Information pertaining to other hardware products and services classified as other. Other Hardware/Services Disaggregation of Revenue [Line Items] Disaggregation of revenue Contract with Customer, Liability [Abstract] Contract liabilities Contract with Customer, Liability, Current Contract liabilities Change in Contract with Customer, Liability [Abstract] Change in contract liability Contract with Customer, Liability Ending balance - Contract liability Beginning balance - Contract liability Advance payments received from customers not recognized as revenue. Contract with Customer Liability, Advance Payments Received Cash received in advance and not recognized as revenue 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, and from current period increase in contract liability. TotalRevenueRecognizedFromBothTheBeginningBalanceAndCurrentPeriodIncreaseInContractLiability Amounts recognized as revenue as performance obligations satisfied Debt Securities, Available-for-Sale [Table] Financial Instrument [Axis] Financial Instruments [Domain] Money Market Funds [Member] Money market funds US Treasury Securities [Member] U.S. Government treasury securities Cash and Cash Equivalents [Member] Cash and cash equivalents Short-Term Investments [Member] Short-term investments Debt Securities, Available-for-Sale [Line Items] Debt Securities, Available-for-Sale, Amortized Cost Amortized Cost Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax Unrealized Gains Debt Securities, Available-for-Sale Fair Value Debt Securities, Fair Value by Fair Value Hierarchy Level [Extensible Enumeration] Fair value hierarchy - Level 1 Schedule of Goodwill [Table] Schedule of Goodwill [Table] Consolidation Items [Axis] Consolidation Items [Domain] Operating Segments Public Sector Segment [Member] Public Sector Segment Public Sector Segment Goodwill [Line Items] Goodwill Goodwill, Gross Goodwill, gross Goodwill, Impaired, Accumulated Impairment Loss Accumulated impairment losses Schedule of Finite-Lived Intangible Assets [Table] Customer List Tradename Customer relationships Finite-Lived Intangible Assets [Line Items] Intangible Assets Indefinite-lived Intangible Assets (Excluding Goodwill) Indefinite-lived intangible assets Acquired Finite-lived Intangible Assets, Weighted Average Useful Life Acquired estimated useful lives Finite-Lived Intangible Assets, Gross Gross Amount Finite-Lived Intangible Assets, Accumulated Amortization Accumulated Amortization Finite-Lived Intangible Assets, Net Net Amount Amortization of Intangible Assets Amortization expense Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months 2024 Finite-Lived Intangible Assets, Amortization Expense, Year Two 2025 Finite-Lived Intangible Assets, Amortization Expense, Year Three 2026 Schedule of Accounts, Notes, Loans and Financing Receivable [Table] Schedule of Accounts, Notes, Loans and Financing Receivable [Table] Accounts, Notes, Loans and Financing Receivable [Line Items] Accounts receivable Trade Receivables Current Trade Receivables Current Trade Nontrade Receivables, Current Vendor consideration, returns and other Due from Employees, Current Due from employees Other Receivable, after Allowance for Credit Loss, Current, Related Party, Type [Extensible Enumeration] Other Receivable, after Allowance for Credit Loss, Current, Related Party, Type Other Receivable, after Allowance for Credit Loss, Current, Related Party, Name [Extensible Enumeration] Other Receivable, after Allowance for Credit Loss, Current, Related Party, Name Accounts Receivable, Gross, Current Total gross accounts receivable Valuation Allowances and Reserves, Balance Sales returns Ending Balance Beginning Balance Allowance for Doubtful Accounts Receivable, Current Credit losses Capitalized Computer Software, Gross Computer software, including licenses and internally-developed software Fixtures and Equipment, Gross Furniture and equipment Leasehold Improvements, Gross Leasehold improvements Property, Plant and Equipment, Gross Total Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Accumulated depreciation and amortization Depreciation, Depletion and Amortization Depreciation and amortization Lessee, Lease, Description [Table] Counterparty Name [Axis] Counterparty Name [Domain] Related Parties [Member] Related Parties Others [Member] Others Lessee, Lease, Description [Line Items] Leases Operating Lease, Liability Lease liability balance Lease liability The number of leases classified as financing leases. Number of Financing Leases Number of financing leases Then number of additional operating or financing leases not yet commenced. Number of Additional Leases Not Yet Commenced Number of additional operating or financing leases not yet commenced Lease, Cost [Abstract] Lease Cost Operating Lease, Cost Capitalized operating lease cost Short-term Lease, Cost Short-term lease cost Lease, Cost Total lease cost N/A Other Lease Information [Abstract] Other information: Cash Flow, Operating Activities, Lessee [Abstract] Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases: Operating Lease, Payments Operating cash flows Operating Lease, Weighted Average Remaining Lease Term Weighted-average remaining lease term - Capitalized operating leases (in years) Operating Lease, Weighted Average Discount Rate, Percent Weighted-average discount rate - Capitalized operating leases Operating Lease Liabilities, Payments Due [Abstract] Future lease payments over the remaining term of capitalized operating leases Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months 2024 Lessee, Operating Lease, Liability, Payments, Due Year Two 2025 Lessee, Operating Lease, Liability, Payments, Due Year Three 2026 Lessee, Operating Lease, Liability, Payments, Due Year Four 2027 Lessee, Operating Lease, Liability, Payments, Due Year Five 2028 Lessee, Operating Lease, Liability, Payments, Due Total Lessee, Operating Lease, Liability, Undiscounted Excess Amount Imputed interest Operating Lease, Liability, Current Short-term lease liability Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Short-term lease liability, Statement of Financial Position The current portion, due within one year or one operating cycle, if longer, of deposits held including customer deposits. Deposits, Current, Including Customer Contract Liabilities Customer and vendor deposits Sales and Excise Tax Payable, Current Sales taxes Other Liabilities, Current Other Subordinated Borrowing [Table] Variable Rate [Axis] Variable Rate [Domain] Alternate base rate for borrowings. Alternate Base Rate Prime Rate Subordinated Borrowing [Line Items] Subordinated Borrowing Line of Credit Facility, Current Borrowing Capacity Line of credit, borrowing capacity Line of Credit Facility, Expiration Date Credit facility, expiration date Line of Credit Facility, Maximum Borrowing Capacity Line of credit, maximum borrowing capacity Debt Instrument, Interest Rate, Stated Percentage Debt instrument, interest rate Ratio of Indebtedness to Net Capital Debt ratio Long-term Line of Credit Line of credit, outstanding borrowing Line of Credit Facility, Remaining Borrowing Capacity Line of credit, available for borrowing Disclosure Of Stockholders Equity And Share Based Compensation Arrangement By Share Based Payment [Abstract] Disclosure Of Stockholders Equity And Share Based Compensation Arrangement By Share Based Payment [Abstract] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Share Repurchase Program [Axis] Share Repurchase Program [Domain] Information pertaining to the aggregate of all share repurchase programs authorized. Share repurchase program, aggregate Nonvested Stock Units Plan Name [Axis] Plan Name [Domain] Stock Incentive Plan 2007 [Member] Stock Incentive Plan 2007 2007 Stock Incentive Plan Information pertaining to the 2020 Stock Incentive Plan. Stock Incentive Plan 2020 [Member] 2020 Stock Incentive Plan Employee Stock Purchase Plan [Member] 1997 Employee Stock Purchase Plan Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Stockholders' equity and share-based compensation Preferred Stock, Shares Authorized Preferred Stock, shares authorized Preferred Stock, Par or Stated Value Per Share Preferred Stock, par value Preferred Stock, Shares Outstanding Preferred Stock, shares outstanding Stock Repurchase Program, Authorized Amount Repurchase of common stock, authorized amount Percentage of the federal excise tax rate imposed on certain stock repurchases. Excise Tax Rate, Stock Repurchase, Percent Excise tax rate on certain stock repurchases Treasury Stock, Carrying Basis Aggregate number of shares repurchased Stock Repurchase Program, Remaining Authorized Repurchase Amount Approximate dollar value of shares that may yet be purchased Term of the approved share-based compensation plan during which stock-based awards may be issued. Share-based Compensation Arrangement by Share-based Payment Award, Plan Term Term of approved stock-based compensation plan Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized Shares authorized for issuance under stock incentive plan Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Shares available for future grant Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent Purchase price under employee stock purchase plan as a percentage of price as of the last day of each six month offering period Common Stock, Capital Shares Reserved for Future Issuance Common stock reserved for issuance Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Granted Units issued Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Vesting period Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Granted Weighted-average grant-date fair values of nonvested stock awards granted Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value Total fair values of nonvested stock awards that vested Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options Unearned compensation cost Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition Unrecognized compensation costs, weighted average period of recognition Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Nonvested Aggregate intrinsic value Dividends Payable [Table] Dividends [Axis] Dividends [Domain] Information pertaining to the first dividend during the period. Dividend One [Member] Dividend 1 Information pertaining to the second dividend during the period. Dividend Two [Member] Dividend 2 Information pertaining to the third dividend during the period. Dividend Three [Member] Dividend 3 Information pertaining to the fourth dividend during the period. Dividend Four [Member] Dividend 4 Dividends Payable [Line Items] Common Stock, Dividends, Per Share, Cash Paid Dividend per share Dividends Payable, Date Declared Declaration date Dividends Payable, Date of Record Record date Dividends Payable, Date to be Paid Payment date Payments of Ordinary Dividends, Common Stock Total dividend Allocated Share-based Compensation Expense Pre-tax expense for nonvested units Employee Service Share-based Compensation, Tax Benefit from Compensation Expense Tax benefit Allocated Share-based Compensation Expense, Net of Tax Net effect on net income Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Shares Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number Nonvested shares ending balance Nonvested shares beginning balance Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period Vested Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period Canceled Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Weighted-Average 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 Nonvested shares ending balance Nonvested shares beginning balance Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Vested Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Canceled Share based compensation expense 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). Employee Share Based Compensation Expense for Phantom Stock Units Compensation expense Current Income Tax Expense (Benefit), Continuing Operations [Abstract] Current: Current Federal Tax Expense (Benefit) Federal Current State and Local Tax Expense (Benefit) State Current Income Tax Expense (Benefit) Total current Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract] Deferred: Deferred Federal Income Tax Expense (Benefit) Federal Deferred State and Local Income Tax Expense (Benefit) State Deferred Income Tax Expense (Benefit) Total deferred Deferred Tax Assets, Net [Abstract] Deferred tax assets: Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts Allowance for credit losses Deferred Tax Assets, Inventory Inventory costs capitalized for tax purposes Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Loss Reserves Inventory valuation reserves Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Returns and Allowances Sales return reserves Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Benefits Deductible expenses, primarily employee-benefit related Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Bonuses Accrued compensation Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Deferred Rent Operating lease liability Deferred Tax Assets, Other Other Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from qualified research and development costs expensed. Deferred Tax Assets, Qualified Research Expense Capitalized research and development Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost Stock-based compensation Deferred Tax Assets, Operating Loss Carryforwards, State and Local Operating loss carryforwards, state tax benefits net of federal taxes State tax loss carryforwards Deferred Tax Assets, Tax Credit Carryforwards State tax credit carryforwards New Hampshire Business Enterprise tax credits Deferred Tax Assets, Gross Total gross deferred tax assets Deferred Tax Assets, Valuation Allowance Less: Valuation allowance State tax credit and state tax loss carryforwards, valuation allowance Deferred Tax Assets, Net of Valuation Allowance Net deferred tax assets Deferred Tax Liabilities, Net [Abstract] Deferred tax liabilities: Deferred Tax Liabilities, Goodwill and Intangible Assets Goodwill and other intangibles Deferred Tax Liabilities, Property, Plant and Equipment Property and equipment Deferred Tax Liabilities, Leasing Arrangements Right-of-use assets Deferred Tax Liabilities, Prepaid Expenses Prepaid expenses Amount before allocation of valuation allowances of deferred tax liability to taxable temporary differences. Deferred Tax Liabilities, Gross Total gross deferred tax liabilities. Deferred Tax Assets, Net Net deferred tax liability Amount, after noncurrent deferred tax asset (and valuation allowances), of noncurrent deferred tax liability attributable to taxable differences, before jurisdictional netting. Aggregate Deferred Tax Liabilities Net Of Assets And Net Of Valuation Allowance Noncurrent Noncurrent deferred tax liability Income Tax Examination [Table] Income Tax Examination [Table] Period [Axis] Period [Axis] Period [Domain] Period [Domain] Period 1 [Member] Carryforward Period 1 Period 2 [Member] Carryforward Period 2 Period 3 [Member] Carryforward Period 3 Period 4 [Member] Period Four [Member] Carryforward Period 4 Tax Credit Carryforward [Axis] Tax Credit Carryforward, Name [Domain] Information pertaining to items set to expire after the next fiscal year following latest fiscal year. Expire After Next Twelve Months [Member] Expire in 2024 Information pertaining to items set to expire after the second fiscal year following latest fiscal year. Expire After Two Years [Member] Expire in 2025 Information pertaining to items set to expire after the third fiscal year following latest fiscal year. Expire After Three Years [Member] Expire in 2026 Information pertaining to items set to expire after the fourth fiscal year following latest fiscal year. Expire After Four Years [Member] Expire in 2027 Information pertaining to items set to expire after the fifth fiscal year following latest fiscal year. Expire After Five Years [Member] Expire in 2028 Information pertaining to items set to expire beyond the fifth fiscal year following latest fiscal year. Expire Beyond Year Five [Member] Expire beyond 2028 Information pertaining to items with not expiration. No Expiration Income Tax Authority, Name [Axis] Income Tax Authority, Name [Domain] State Jurisdiction [Member] State Jurisdiction Internal Revenue Service (IRS) Income Tax Examination [Line Items] Income Tax Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration State net operating loss carryforwards Operating Loss Carryforwards, Expiration Period Operating Loss Carryforwards, Expiration Period State net operating loss carryforward period Operating Loss Carryforwards, Valuation Allowance State net operating loss carryforward valuation allowance The period over which tax credits carryforwards are eligible for use in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Tax Credit Carryforward Period State tax credit carryforward period Tax Credit Carryforward, Valuation Allowance State tax credit valuation allowance Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount Net change in the valuation allowance related to utilization and expiration of tax carryforwards Open Tax Year Tax years remain open to examination Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense Unrecognized income tax benefits, interest and penalties recognized Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount Federal income taxes, at statutory tax rate Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount State income taxes, net of federal benefit Effective Income Tax Rate Reconciliation, Nondeductible Expense, Amount Nondeductible expenses Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount Other, net Compensation and Retirement Defined Contribution Plan, Employer Discretionary Contribution Amount Employer matching contributions to employee savings Deferred Compensation Arrangement with Individual, Contributions by Employer Employer matching contributions to employee profit sharing plan Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Headquarters/Other Intersegment Elimination Segment Reporting Information [Line Items] Segment Reporting Information Number of Reportable Segments Number of reportable segments Revenue from Contract with Customer, Excluding Assessed Tax [Abstract] Net sales: Operating Income (Loss) [Abstract] Operating income (loss): Segment Reporting Information, Operating Income (Loss) [Abstract] Selected operating expense: Depreciation, Depletion and Amortization [Abstract] Depreciation and amortization: Sum of the carrying amounts as of the balance sheet date of all assets that are recognized net of intercompany balance eliminations. Assets, Net of Intercompany Balance Eliminations Assets net of intercompany balance eliminations Geographic Concentration Risk Geographic Distribution [Axis] Geographic Distribution [Domain] Foreign Valuation and Qualifying Accounts Disclosure [Table] Valuation and Qualifying Accounts Disclosure [Table] Valuation Allowances and Reserves Type [Axis] Valuation Allowances and Reserves [Domain] Liability for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to customer. Allowance for Sales Returns SEC Schedule, 12-09, Allowance, Credit Loss [Member] Allowance for Credit Losses Valuation and Qualifying Accounts Disclosure [Line Items] Valuation and Qualifying Accounts Valuation Allowances and Reserves, Charged to Cost and Expense Charged to Costs and Expenses Valuation Allowances and Reserves, Deductions Deductions/Write-Offs EX-101.PRE 14 cnxn-20231231_pre.xml EX-101.PRE XML 15 R1.htm IDEA: XBRL DOCUMENT v3.24.0.1
Document and Entity Information - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2023
Feb. 15, 2024
Jun. 30, 2023
Document And Entity Information      
Document Type 10-K    
Document Annual Report true    
Document Transition Report false    
Document Period End Date Dec. 31, 2023    
Entity File Number 000-23827    
Entity Registrant Name PC CONNECTION, INC.    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 02-0513618    
Entity Address, Address Line One 730 Milford Road    
Entity Address, City or Town Merrimack    
Entity Address, State or Province NH    
Entity Address, Postal Zip Code 03054    
City Area Code 603    
Local Phone Number 683-2000    
Title of 12(b) Security Common Stock, $0.01 par value    
Trading Symbol CNXN    
Security Exchange Name NASDAQ    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Accelerated Filer    
Entity Small Business false    
Entity Emerging Growth Company false    
ICFR Auditor Attestation Flag true    
Document Financial Statement Error Correction false    
Entity Shell Company false    
Entity Public Float     $ 510
Entity Common Stock, Shares Outstanding   26,361,133  
Current Fiscal Year End Date --12-31    
Document Fiscal Year Focus 2023    
Document Fiscal Period Focus FY    
Entity Central Index Key 0001050377    
Amendment Flag false    
Auditor Name Deloitte & Touche LLP    
Auditor Firm ID 34    
Auditor Location Boston, Massachusetts    

XML 16 R2.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Current Assets:    
Cash and cash equivalents $ 144,954 $ 122,930
Short-term investments 152,232  
Accounts receivable, net 606,834 610,280
Inventories, net 124,179 208,682
Income taxes receivable 4,348  
Prepaid expenses and other current assets 16,092 11,900
Total current assets 1,048,639 953,792
Property and equipment, net 56,658 59,171
Right-of-use assets 4,340 7,558
Goodwill 73,602 73,602
Intangible, net 3,428 4,648
Other assets 1,714 1,055
Total Assets 1,188,381 1,099,826
Current Liabilities:    
Accounts payable 263,682 232,638
Accrued payroll 20,440 24,071
Accrued expenses and other liabilities 43,843 53,808
Total current liabilities 327,965 310,517
Deferred income taxes 15,844 17,970
Noncurrent operating lease liabilities 3,181 4,994
Other liabilities 624 170
Total Liabilities 347,614 333,651
Stockholders' Equity:    
Common Stock, $.01 par value, 100,000 shares authorized, 29,262 and 29,123 issued, 26,360 and 26,350 outstanding at December 31, 2023 and 2022, respectively 293 291
Additional paid-in capital 130,878 125,784
Retained earnings 760,898 686,037
Accumulated other comprehensive income 81  
Treasury stock at cost, 2,902 and 2,773 shares at December 31, 2023 and 2022, respectively (51,383) (45,937)
Total Stockholders' Equity 840,767 766,175
Total Liabilities and Stockholders' Equity $ 1,188,381 $ 1,099,826
XML 17 R3.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED BALANCE SHEETS (PARENTHETICAL) - $ / shares
shares in Thousands
Dec. 31, 2023
Dec. 31, 2022
Consolidated Balance Sheets    
Common Stock, par value $ 0.01 $ 0.01
Common Stock, shares authorized 100,000 100,000
Common Stock, shares issued 29,262 29,123
Common Stock, shares outstanding 26,360 26,350
Treasury stock, shares 2,902 2,773
XML 18 R4.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Consolidated Statements of Income      
Net sales $ 2,850,644 $ 3,124,996 $ 2,892,595
Cost of sales 2,338,908 2,598,819 2,428,016
Gross profit 511,736 526,177 464,579
Selling, general and administrative expenses 405,896 405,625 368,062
Restructuring and other charges 2,687    
Income from operations 103,153 120,552 96,517
Other income, net 9,961 1,083 5
Income before taxes 113,114 121,635 96,522
Income tax provision (29,843) (32,416) (26,616)
Net income $ 83,271 $ 89,219 $ 69,906
Earnings per common share:      
Basic $ 3.17 $ 3.40 $ 2.67
Diluted $ 3.15 $ 3.37 $ 2.65
Shares used in computation of earnings per common share:      
Basic 26,287 26,279 26,196
Diluted 26,429 26,443 26,364
XML 19 R5.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Consolidated Statements Of Other Comprehensive Income      
Net Income (Loss) $ 83,271 $ 89,219 $ 69,906
Other comprehensive income      
Unrealized gains on available-for-sale investments, net of tax of $(22) 81    
Comprehensive income $ 83,352 $ 89,219 $ 69,906
XML 20 R6.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONDENSED CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME (Parenthetical)
$ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
Consolidated Statements Of Other Comprehensive Income  
Unrealized gains on available-for-sale investments, tax $ (22)
XML 21 R7.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Common Stock
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Income
Treasury Shares
Total
Balance at Dec. 31, 2020 $ 289 $ 119,891 $ 562,084   $ (45,937) $ 636,327
Balance (in shares) at Dec. 31, 2020 28,943          
Balance - Treasury Shares (in shares) at Dec. 31, 2020         (2,773)  
Stock-based compensation expense   4,231       4,231
Restricted stock units vested $ 1 (1)        
Restricted stock units vested (in shares) 82          
Shares withheld for taxes paid on stock awards   (1,767)       (1,767)
Dividend declaration     (26,224)     (26,224)
Net Income (Loss)     69,906     69,906
Balance at Dec. 31, 2021 $ 290 122,354 605,766   $ (45,937) 682,473
Balance (in shares) at Dec. 31, 2021 29,025          
Balance - Treasury Shares (in shares) at Dec. 31, 2021         (2,773)  
Stock-based compensation expense   5,675       5,675
Restricted stock units vested $ 1 (1)        
Restricted stock units vested (in shares) 98          
Shares withheld for taxes paid on stock awards   (2,244)       (2,244)
Dividend declaration     (8,948)     (8,948)
Net Income (Loss)     89,219     89,219
Balance at Dec. 31, 2022 $ 291 125,784 686,037   $ (45,937) $ 766,175
Balance (in shares) at Dec. 31, 2022 29,123         29,123
Balance - Treasury Shares (in shares) at Dec. 31, 2022         (2,773) (2,773)
Issuance of common stock under Employee Stock Purchase Plan   1,089       $ 1,089
Issuance of common stock under Employee Stock Purchase Plan (in shares) 21          
Stock-based compensation expense   7,022       7,022
Restricted stock units vested $ 2 (2)        
Restricted stock units vested (in shares) 118          
Shares withheld for taxes paid on stock awards   (3,015)       (3,015)
Repurchase of common stock for treasury         $ (5,446) (5,446)
Repurchase of common stock for treasury (in shares)         (129)  
Dividend declaration     (8,410)     (8,410)
Net Income (Loss)     83,271     83,271
Other comprehensive income, net of tax       $ 81   81
Balance at Dec. 31, 2023 $ 293 $ 130,878 $ 760,898 $ 81 $ (51,383) $ 840,767
Balance (in shares) at Dec. 31, 2023 29,262         29,262
Balance - Treasury Shares (in shares) at Dec. 31, 2023         (2,902) (2,902)
XML 22 R8.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Cash Flows provided by (used in) Operating Activities:      
Net income $ 83,271 $ 89,219 $ 69,906
Adjustments to reconcile net income to net cash provided by operating activities:      
Depreciation and amortization 12,654 11,978 12,202
Adjustments to credit losses reserve 1,847 3,252 3,307
Stock-based compensation expense 7,022 5,675 4,231
Deferred income taxes (2,148) (1,308) 753
Amortization of discount on short-term investments (1,522)    
Loss (gain) on disposal of fixed assets 572 17 (36)
Changes in assets and liabilities:      
Accounts receivable 1,599 (6,000) (1,318)
Inventories 84,503 (2,127) (65,688)
Prepaid expenses and other current assets (8,540) (1,884) 1,421
Other non-current assets (659) (145) 435
Accounts payable 31,146 (49,056) 14,814
Accrued expenses and other liabilities (11,791) (14,732) 17,727
Net cash provided by operating activities 197,954 34,889 57,754
Cash Flows used in Investing Activities:      
Purchases of short-term investments (150,607)    
Purchases of equipment and capitalized software (9,595) (9,077) (10,302)
Proceeds from sale of equipment     69
Proceeds from life insurance     1,500
Net cash used in investing activities (160,202) (9,077) (8,733)
Cash Flows used in Financing Activities:      
Proceeds from short-term borrowings 88,198 36,463  
Repayment of short-term borrowings (88,198) (36,463)  
Purchase of treasury shares (5,392)    
Dividend payments (8,410) (8,948) (34,599)
Issuance of stock under Employee Stock Purchase Plan 1,089    
Payments of payroll taxes on stock-based compensation through shares withheld (3,015) (2,244) (1,767)
Net cash used in financing activities (15,728) (11,192) (36,366)
Increase in cash and cash equivalents 22,024 14,620 12,655
Cash and cash equivalents, beginning of year 122,930 108,310 95,655
Cash and cash equivalents, end of period 144,954 122,930 108,310
Non-cash Investing and Financing Activities:      
Accrued capital expenditures 90 192 334
Accrued excise tax on treasury purchases 54    
Supplemental Cash Flow Information:      
Income taxes paid 41,668 33,687 $ 21,465
Interest paid $ 24 $ 4  
XML 23 R9.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

1.   SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

PC Connection, Inc. is a Fortune 1000 Global Solutions Provider that simplifies the information technology, or IT, customer experience, guiding the connection between people and technology. The Company’s dedicated account managers partner with customers to design, deploy, and support cutting-edge IT environments using the latest hardware, software, and services. The Company provides a wide range of IT solutions, from the desktop to the cloud—including computer systems, data center solutions, software and peripheral equipment, networking communications, and other products and accessories that the Company purchases from manufacturers, distributors, and other suppliers. In 2023, the Company restructured and combined its Technology Solutions Group and Technical Sales Organization into one organization to be referred to as the Technology Solutions Organization, or TSO. The Company’s TSO and state-of-the-art Technology Integration and Distribution Center with ISO 9001:2015 certified technical configuration lab offer end-to-end services related to the design, configuration, and implementation of IT solutions. The Company also provides a comprehensive portfolio of managed services and professional services. These services are performed by the Company’s personnel and by third-party providers. The Company’s GlobalServe offering ensures worldwide coverage for the Company’s multinational customers, delivering global procurement solutions through the Company’s network of in-country suppliers in over 150 countries.

The Company operates through three operating segments:

Connection Enterprise Solutions – serving large enterprise customers

Connection Business Solutions – serving small to medium-sized businesses, or SMBs

Connection Public Sector Solutions – serving federal, state, and local government and educational institutions

The following is a summary of the Company’s significant accounting policies:

Principles of Consolidation

The consolidated financial statements include the accounts of PC Connection, Inc. and its subsidiaries, all of which are wholly-owned. Intercompany transactions and balances are eliminated in consolidation.

Use of Estimates in the Preparation of Financial Statements

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts and disclosures of assets and liabilities and the reported amounts and disclosures of revenue and expenses during the period. Management bases its estimates and judgments on the information available at the time and various other assumptions believed to be reasonable under the circumstances. By nature, estimates are subject to an inherent degree of uncertainty. Actual results could differ from those estimates and assumptions.

Revenue Recognition

Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The Company enters into contracts that can include various combinations of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In most instances, when several performance obligations are aggregated into one single transaction, these performance obligations are fulfilled at the same point in time. The Company accounts for an arrangement when it has approval and commitment from both parties, the rights are

identified, the contract has commercial substance, and collectability of consideration is probable. The Company generally obtains oral or written purchase authorizations from its customers for a specified amount of product at a specified price, which constitutes an arrangement. Revenue is recognized at the amount expected to be collected, net of any taxes collected from customers, which are subsequently remitted to governmental authorities. The Company generally invoices for its products at the time of shipping, and accordingly there is not a significant financing component included in its arrangements.

Cost of Sales and Certain Other Costs

Cost of sales includes the invoice cost of the product, direct employee and third-party cost of services, direct costs of packaging, inbound and outbound freight, and provisions for inventory obsolescence, adjusted for discounts, rebates, and other vendor allowances.

Cash and Cash Equivalents and Investments

The Company considers all highly liquid short-term investments with original maturities of 90 days or less to be cash equivalents. The carrying value of the Company’s cash equivalents approximates fair value. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.

The majority of payments due from credit card processors and banks for third-party credit card and debit card transactions process within one to five business days. All credit card and debit card transactions that process in less than seven days are classified as cash and cash equivalents. Amounts due from banks for credit card transactions classified as cash equivalents totaled $3,839 and $6,862 at December 31, 2023 and 2022, respectively.

At the time of purchase, the Company determines the appropriate classification of investments based upon its intent with regard to such investments. All of the Company’s investments are classified as available-for-sale. The Company classifies investments as short-term when their remaining contractual maturities are one year or less from the balance sheet date, and as long-term when the investment has a remaining contractual maturity of more than one year from the balance sheet date. The Company records investments at fair value with unrealized gains and losses recorded as a component of accumulated other comprehensive income on the consolidated balance sheets.

Included in other income, net on the consolidated statements of income is interest income on cash equivalents and short-term investments of $9,983 and $1,056 for the years ended December 31, 2023 and 2022, respectively. Interest income on cash equivalents and short-term investments was less than $1 for the year ended December 31, 2021.

Accounts Receivable

Accounts receivable are recorded at the invoice amount, net of allowances. Customers are evaluated for their credit worthiness at the time of contract inception and the Company performs ongoing credit evaluations of its customers and adjusts credit limits based on payment history and customer creditworthiness. Based on the results of the credit assessments, the Company will extend credit under its standard payment terms or may request alternative early payment actions. The Company determines the required allowance for expected credit losses using information such as its customer credit history and financial condition, industry and market segment information, credit reports, and economic trends and conditions. Allowances can be affected by changes in the industry, customer credit issues or customer bankruptcies or expectations of any such events in a future period when reasonable and supportable. Historical information is utilized beyond reasonable and supportable forecast periods. Amounts are charged against the allowance when it is determined that expected credit losses may occur. The Company assesses collectability by reviewing account receivable on an aggregated basis where similar characteristics exist and on an individual basis when the Company identifies specific customers with collectability issues, and if necessary, records a reserve against those receivables it determines may not be collectable. Trade receivables are written off in the period in which they are deemed uncollectible. Recoveries of trade receivables previously charged are recorded when received.

Inventories

Inventories (all finished goods) are stated at cost (which approximates the first-in, first-out method) or net realizable value, whichever is lower. Inventory quantities on hand are reviewed regularly, and allowances are maintained for obsolete, slow moving, and nonsalable inventory.

Advertising Costs and Vendor Consideration

Vendors have the ability to fund advertising activities for which the Company receives advertising consideration. This vendor consideration, to the extent that it represents specific reimbursements of incremental and identifiable costs, is offset against selling, general and administrative, or SG&A, expenses. Advertising consideration that cannot be associated with a specific program or that exceeds the fair value of advertising expense associated with that program is classified as an offset to cost of sales. The Company’s vendor partners generally consolidate their funding of advertising and other marketing programs, and accordingly, the Company classifies substantially all vendor consideration as a reduction of cost of sales rather than a reduction of advertising expense. Other advertising costs are expensed as incurred. Advertising expense, which is classified as a component of SG&A expenses on the consolidated statements of income, totaled $22,400, $20,155, and $15,827 for the years ended December 31, 2023, 2022, and 2021, respectively.

Property and Equipment

Property and equipment are stated at cost, net of accumulated depreciation and amortization. The estimated useful lives of the assets range from three to seven years. Computer software, including licenses and internally developed software, is capitalized and amortized over lives generally ranging from three to ten years. Depreciation is recorded using the straight-line method. Leasehold improvements and facilities under capital leases are amortized over the terms of the related leases or their useful lives, whichever is shorter, whereas for income tax reporting purposes, they are amortized over the applicable tax lives.

Costs incurred to develop internal-use software during the application development stage are recorded in property and equipment at cost. External direct costs of materials and services consumed in developing or obtaining internal-use computer software and payroll-related costs for employees developing internal-use computer software projects, to the extent of their time spent directly on the project and specific to application development, are capitalized.

When events or circumstances indicate a potential impairment, the Company evaluates the carrying value of property and equipment based upon current and anticipated undiscounted cash flows. The Company recognizes impairment when it is probable that such estimated future cash flows will be less than the asset carrying value. No property and equipment impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.

Leases

The Company enters into operating lease contracts, as assessed at contract inception, primarily for real estate and equipment. On the lease commencement date, the Company records operating lease liabilities based on the present value of the future lease payments. In determining the present value of future lease payments, the Company utilized estimated rates that it would have incurred to borrow, over a similar term, the funds necessary to purchase the respective leased asset with cash.

The Company elects to apply the short-team lease exception to any leases with contractual obligations of one year or less. These leases will not have right-of-use, or ROU, assets and associated lease liabilities on the balance sheet. Instead, rent will be recognized on a straight-line basis.

Goodwill and Other Intangible Assets

The Company’s intangible assets consist of (1) goodwill, which is not subject to amortization; (2) an internet domain name, which is an indefinite-lived intangible asset not subject to amortization; and (3) amortizing intangibles,

which consist of customer lists, trade names, and customer relationships, which are being amortized over their useful lives.

Note 4 describes the annual impairment methodology that the Company uses each year in calculating the recoverability of goodwill and non-amortizing intangibles. This same impairment test is performed at other times during the course of a year should an event occur or circumstance change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.

Recoverability of amortizing intangible assets is assessed only when events have occurred that may give rise to impairment. When a potential impairment has been identified, forecasted undiscounted net cash flows of the operations to which the asset relates are compared to the current carrying value of the long-lived assets present in that operation. If such cash flows are less than such carrying amounts, long-lived assets including such intangibles, are written down to their respective fair values. No intangible assets impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.

Concentrations

Concentrations of credit risk with respect to trade account receivables are limited due to the large number of customers comprising the Company’s customer base. No single customer accounted for 10% or more of total net sales in 2023, 2022, and 2021.

Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Microsoft Corporation accounted for approximately 21%, 19%, and 11%, respectively, of the Company’s total product purchases in 2023. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 22%, and 15%, respectively, of the Company’s total product purchases in 2022. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 23%, and 12%, respectively, of the Company’s total product purchases in 2021. No other singular vendor supplied more than 10% of the Company’s total product purchases in 2023, 2022, and 2021. The Company believes that, while it may experience some short-term disruption if products from Ingram Micro, Inc., TD Synnex Corporation, Microsoft Corporation, Dell Inc., or any of these vendors become unavailable to it, alternative sources are available.

Products manufactured by Microsoft Corporation, HP Inc., and Dell Inc. represented approximately 15%, 13%, and 11%, respectively, of our total product purchases in 2023. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 14%, 13%, 12%, and 11% of our total product purchases in 2022. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 15%, 14%, 11%, and 10% of our total product purchases in 2021. No other singular product manufacturer produced more than 10% of our total product purchases in 2023, 2022, and 2021. In the event the Company experiences either a short-term or permanent disruption of supply of Microsoft Corporation, HP Inc., or Dell Inc. products, such disruption would likely have a material adverse effect on the Company’s results of operations and cash flows.

Restructuring and Other charges

The restructuring and other charges recorded for the year ended December 31, 2023 were primarily related to an involuntary reduction in our headquarter workforce and included cash severance and other related termination benefits. These costs will be paid within a year of termination and any unpaid balances are included in accrued expenses and other liabilities in the consolidated balance sheets as of December 31, 2023. The Company is currently evaluating additional restructuring activities for 2024 and beyond.

Costs incurred for restructuring and other chargers were as follows (in thousands):

Year Ended December 31, 

2023

    

2022

    

2021

Employee separations

$

2,416

$

$

Other charges

 

271

 

 

Total restructuring and other charges

$

2,687

$

$

Included in accrued expenses and other liabilities on the consolidated balance sheets as of December 31, 2023 was $324 related to unpaid employee separation benefits.

Earnings Per Share

Basic earnings per common share is computed using the weighted average number of shares outstanding. Diluted earnings per share is computed using the weighted average number of shares outstanding adjusted for the incremental shares attributable to nonvested stock units and stock options outstanding, if dilutive.

The following table sets forth the computation of basic and diluted earnings per share (in thousands, except per share data):

 

2023

    

2022

    

2021

 

Numerator:

Net income

$

83,271

$

89,219

$

69,906

Denominator:

Denominator for basic earnings per share

 

26,287

 

26,279

 

26,196

Dilutive effect of employee stock awards

 

142

 

164

 

168

Denominator for diluted earnings per share

 

26,429

 

26,443

 

26,364

Earnings per share:

Basic

$

3.17

$

3.40

$

2.67

Diluted

$

3.15

$

3.37

$

2.65

For the years ended December 31, 2023, 2022, and 2021, the Company did not exclude any outstanding nonvested stock units or stock options from the computation of diluted earnings per share because including them would have had an anti-dilutive effect.

Recently Issued Financial Accounting Standards

In March 2020, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. This guidance provides temporary optional expedients and exceptions to the U.S. GAAP guidance on contract modifications and hedge accounting to ease the financial reporting burdens of the expected market transition from the London Interbank Offered Rate, or LIBOR, and other interbank offered rates to alternative reference rates, such as the Secured Overnight Financing Rate. This ASU is applied prospectively and becomes effective immediately upon the transition from LIBOR. The Company’s secured credit facility agreement references LIBOR, which is expected to be discontinued as a result of reference rate reform. The amendments are effective as of March 12, 2020 through December

31, 2022; however, ASU 2022-06, Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848 has extended the effective date through December 31, 2024. The Company adopted this standard for the fiscal year ended December 31, 2023. The adoption of this ASU along with the related expedients did not have an impact to the Company’s consolidated financial statements.

In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. This guidance is intended to improve segment reporting disclosures on both an interim and annual basis, primarily through enhanced disclosures about significant segment expenses. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2024, and for interim reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This guidance is intended to improve the transparency of income tax disclosures through, among other things, enhancement of the disclosure requirements within the rate reconciliation, as well as increased income tax disaggregation disclosures. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.

XML 24 R10.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE
12 Months Ended
Dec. 31, 2023
Revenue  
Revenue

2. REVENUE

Nature of Products and Services

IT products typically represent a distinct performance obligation, and revenue is recognized at the point in time when control is transferred to the customer which is generally upon delivery to the customer. The Company recognizes revenue as the principal in the transaction with the customer (i.e., on a gross basis), as it controls the product prior to delivery to the customer and derives the economic benefits from the sales transaction given the Company’s control over customer pricing.

The Company does not recognize revenue for goods that remain in its physical possession before the customer has the ability to direct the use of, and obtain substantially all of the remaining benefits from the products, the goods are ready for physical transfer to and identified as belonging to the customer, and when the Company has no ability to use the product or to direct it to another customer.

Licenses for on-premise software provide the customer with a right to take possession of the software. Customers may purchase perpetual licenses or enter into subscriptions to the licensed software. The Company is the principal in these transactions and recognizes revenue for the on-premise license at the point in time when the software is made available to the customer and the commencement of the term of the software license or when the renewal term begins, as applicable.

For certain on-premise licenses for security software, the customer derives substantially all of the benefit from these arrangements through the third-party delivered software maintenance, which provides software updates and other support services. The Company does not have control over the delivery of these performance obligations, and accordingly the Company is the agent in these transactions. The Company recognizes revenue for security software net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangement. Cloud products allow customers to use hosted software over the contractual period without taking possession of the software and are provided on a subscription basis. The Company does not exercise control over these products or services and therefore is an agent in these transactions. The Company recognizes revenue for cloud products net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangements.

Certain software sales include on-premise licenses that are combined with software maintenance. Software maintenance conveys rights to updates, bug fixes and help desk support, and other support services transferred over the underlying contract period. On-premise licenses are considered distinct performance obligations when sold with the

software maintenance, as the Company sells these items separately. The Company recognizes revenue related to the software maintenance as the agent in these transactions because it does not have control over the on-going software maintenance service. Revenue allocated to software maintenance is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangements.

Certain of the Company’s larger customers are offered the opportunity by vendors to purchase software licenses and maintenance under enterprise agreements, or EAs. Under EAs, customers are considered to be compliant with applicable license requirements for the ensuing year, regardless of changes to their employee base. Customers are charged an annual true-up fee for changes in the number of users over the year. With most EAs, the Company’s vendors will transfer the license and bill the customer directly, paying resellers, such as the Company, an agency fee or commission on these sales. The Company records these agency fees as a component of net sales as earned and there is no corresponding cost of sales amount. In certain instances, the Company invoices the customer directly under an EA and accounts for the individual items sold based on the nature of each item. The Company’s vendors typically dictate how the EA will be sold to the customer.

The Company also offers extended service plans, or ESPs, on IT products, both as part of the initial arrangement and separately from the IT products. The Company recognizes revenue related to ESPs as the agent in the transaction because it does not have control over the on-going ESPs service and does not provide any service after the sale. Revenue allocated to ESPs is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangement.

The Company uses its own engineering personnel to assist in projects involving the design and installation of systems and networks, and also engages third-party service providers to perform warranty maintenance, implementations, asset disposal, and other services. Service revenue is recognized in general over time as the Company performs the underlying services and satisfies its performance obligations. The Company evaluates such engagements to determine whether it is the principal or the agent in each transaction. For those transactions in which the Company does not control the service, the Company acts as an agent and recognizes the transaction revenue on a net basis at a point in time when the vendor and customer accept the terms and conditions in the sales arrangement.

All amounts billed to a customer in a sales transaction related to shipping and handling, if any, represent revenues earned for the goods provided, and these amounts have been included in net sales. Costs related to shipping and handling billing are classified as cost of sales. Sales are reported net of sales, use, or other transaction taxes that are collected from customers and remitted to taxing authorities.

Significant Judgments

The Company’s contracts with customers often include promises to transfer multiple products or services to a customer. Determining whether the Company is the agent or the principal and whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.

The Company estimates the standalone selling price, or SSP, for each distinct performance obligation when a single arrangement contains multiple performance obligations and the fulfillment occurs at different points in time. The Company maximizes the use of observable inputs in the determination of the estimate for SSP for the items that it does not sell separately, including on-premise licenses sold with software maintenance, and IT products sold with ESPs. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company provides its customers with a limited thirty-day right of return, which is generally limited to defective merchandise, and gives rise to variable consideration. Revenue is recognized based on the most likely amount to which it is expected to be entitled. The estimated variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur once the uncertainty is resolved. The Company makes estimates of product returns based on significant historical experience. The Company records its sales

return reserve as a reduction of revenues and either as reduction of accounts receivable or, for customers who have already paid, as accrued expenses and as a reduction of cost of sales and an associated right of return asset.

Description of Revenue

The Company disaggregates revenue from its arrangements with customers by type of products and services, as it believes this method best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.

The following tables represent a disaggregation of revenue from arrangements with customers for the years ended December 31, 2023, 2022 and 2021, along with the segment for each category (in thousands).

For the Year Ended December 31, 2023

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

391,667

$

352,116

$

207,887

$

951,670

Desktops

137,679

73,302

55,946

266,927

Software

124,478

157,715

47,321

329,514

Servers/Storage

65,034

90,697

45,564

201,295

Net/Com Products

 

112,069

 

121,717

62,488

 

296,274

Displays and Sound

106,419

92,219

60,244

258,882

Accessories

 

155,498

 

111,542

49,992

 

317,032

Other Hardware/Services

 

108,287

 

76,291

44,472

 

229,050

Total net sales

$

1,201,131

$

1,075,599

$

573,914

$

2,850,644

For the Year Ended December 31, 2022

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

462,152

$

473,375

$

221,363

$

1,156,890

Desktops

165,509

88,127

56,804

310,440

Software

108,243

147,792

36,071

292,106

Servers/Storage

64,622

 

103,711

44,588

212,921

Net/Com Products

 

85,611

 

98,672

32,548

 

216,831

Displays and Sound

132,269

118,753

67,860

318,882

Accessories

 

202,452

133,017

58,413

 

393,882

Other Hardware/Services

 

103,504

 

81,863

37,677

 

223,044

Total net sales

$

1,324,362

$

1,245,310

$

555,324

$

3,124,996

For the Year Ended December 31, 2021

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

428,868

$

426,022

$

241,146

$

1,096,036

Desktops

140,468

87,822

45,989

274,279

Software

119,423

120,104

39,611

279,138

Servers/Storage

66,027

 

92,922

37,081

196,030

Net/Com Products

 

86,454

 

81,681

34,336

 

202,471

Displays and Sound

125,610

99,474

59,153

284,237

Accessories

 

179,249

115,048

44,104

 

338,401

Other Hardware/Services

 

103,360

 

75,423

43,220

 

222,003

Total net sales

$

1,249,459

$

1,098,496

$

544,640

$

2,892,595

Contract Balances

The following table provides information about contract liabilities from arrangements with customers as of December 31, 2023 and December 31, 2022 (in thousands):

    

December 31, 2023

    

December 31, 2022

Contract liabilities, which are included in "Accrued expenses and other liabilities"

$

4,206

$

4,266

Changes in the contract liability balances during the years ended December 31, 2023 and 2022 are as follows (in thousands):

    

2023

Balance at December 31, 2022

$

4,266

Cash received in advance and not recognized as revenue

 

21,173

Amounts recognized as revenue as performance obligations satisfied

 

(21,233)

Balance at December 31, 2023

$

4,206

2022

Balance at December 31, 2021

$

8,628

Cash received in advance and not recognized as revenue

 

20,626

Amounts recognized as revenue as performance obligations satisfied

 

(24,988)

Balance at December 31, 2022

$

4,266

XML 25 R11.htm IDEA: XBRL DOCUMENT v3.24.0.1
FAIR VALUE MEASUREMENTS
12 Months Ended
Dec. 31, 2023
Fair Value Measurements  
Fair Value Measurements

3.   FAIR VALUE MEASUREMENTS

Cash equivalents and short-term investments consist of the following (in thousands):

December 31, 2023

    

Amortized Cost

    

Unrealized Gains

    

Unrealized Losses

    

Fair Value

Cash equivalents:

Money market funds

$

129,123

$

$

$

129,123

Short-term investments:

U.S. Government treasury securities

152,129

103

152,232

Total

$

281,252

$

103

$

$

281,355

December 31, 2022

    

Amortized Cost

    

Unrealized Gains

    

Unrealized Losses

    

Fair Value

Cash equivalents:

Money market funds

$

96,386

$

$

$

96,386

Total

$

96,386

$

$

$

96,386

Investments with maturities of 90 days or less from the date of purchase are classified as cash equivalents; investments with maturities of greater than 90 days from the date of purchase but less than one year are generally classified as short-term investments; and investments with maturities of one year or greater from the date of purchase are generally classified as long-term investments. All short-term investments had stated maturity dates of less than one year. The Company has recorded the securities at fair value in its consolidated balance sheets and unrealized gains and losses are reported as a component of accumulated other comprehensive income. The amount of realized gains and losses reclassified into earnings and the related adjustments to deferred taxes are based on the specific identification of the securities sold or securities that reached maturity date.

Fair Value

The Company measures certain financial assets at fair value. Fair value is determined based upon the exit price that would be received to sell an asset in an orderly transaction between market participants, as determined by either the principal market or the most advantageous market. Inputs used in the valuation techniques are classified based on a three-level hierarchy, as follows:

Level 1 inputs: Quoted prices for identical assets or liabilities in active markets;

Level 2 inputs: Observable inputs other than those described as Level 1; and

Level 3 inputs: Unobservable inputs that are supportable by little or no market activities and are based on significant assumptions and estimates.

As of December 31, 2023 and 2022, the fair value of the Company’s cash equivalents and short-term investments were all measured using level 1 inputs.

XML 26 R12.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure  
Goodwill and Other Intangible Assets

4.   GOODWILL AND OTHER INTANGIBLE ASSETS

Goodwill

Goodwill is held by the Company’s Enterprise Solutions and Business Solutions segments. Goodwill and intangible assets with indefinite lives are subject to an annual impairment test as of November 30 and tested more frequently if events or circumstances occur that would indicate a potential decline in fair value.

In 2023 and 2022, the Company performed a qualitative “step 0” analysis. Accounting Standards Codification 350—IntangibleGoodwill and Other states that an entity may assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount, including goodwill. This analysis allows the Company to consider qualitative factors that might impact the carrying amount of its goodwill to determine whether a more detailed quantitative analysis would be necessary. Factors considered when performing the impairment assessment included the Company’s performance relative to historical and projected future operating results, macroeconomic conditions, industry and market trends, cost factors that may have a negative impact on earnings and cash flows, changes in the Company’s stock price and market capitalization, and other relevant entity-specific events.

Based on the above qualitative analysis, the Company determined goodwill was not impaired as of December 31, 2023 and 2022.

The carrying amount of goodwill for the periods presented is detailed below (in thousands):

Balance at December 31, 2023

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

 

Goodwill, gross

$

66,236

$

8,539

$

7,634

$

82,409

Accumulated impairment losses

 

 

(1,173)

 

(7,634)

 

(8,807)

Net balance

$

66,236

$

7,366

$

$

73,602

Balance at December 31, 2022

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

 

Goodwill, gross

$

66,236

$

8,539

$

7,634

$

82,409

Accumulated impairment losses

 

 

(1,173)

 

(7,634)

 

(8,807)

Net balance

$

66,236

$

7,366

$

$

73,602

Intangible Assets

At December 31, 2023, the Company’s intangible assets included a domain name for $450, which has an indefinite life and is not subject to amortization. In addition, in 2016 the Company acquired customer relationships from its Softmart and GlobalServe acquisitions, which are amortized on a straight-line basis over their estimated useful lives of 10 years. The Company’s remaining intangible assets are amortized in proportion to the estimates of the future cash flows underlying the valuation of the assets. Intangible assets and related accumulated amortization are detailed below (in thousands):

December 31, 2023

December 31, 2022

 

    

Estimated

    

Gross

    

Accumulated

    

Net

    

Gross

    

Accumulated

    

Net

 

Useful Lives

Amount

Amortization

Amount

Amount

Amortization

Amount

 

Customer list

8

$

3,400

$

3,400

$

$

3,400

$

3,400

$

Tradename

5

 

1,190

 

1,190

 

 

1,190

 

1,190

 

Customer relationships

10

 

12,200

 

9,222

 

2,978

 

12,200

 

8,002

 

4,198

Total intangible assets

$

16,790

$

13,812

$

2,978

$

16,790

$

12,592

$

4,198

In 2023, 2022, and 2021, the Company recorded amortization expense of $1,220, $1,220, and $1,220, respectively. The estimated amortization expense relating to intangible assets in each of the five succeeding years and thereafter is as follows (in thousands):

For the Years Ended December 31, 

    

 

2024

$

1,220

2025

 

1,220

2026

 

538

2027

2028 and thereafter

 

$

2,978

.

XML 27 R13.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCOUNTS RECEIVABLE
12 Months Ended
Dec. 31, 2023
Accounts Receivable  
Accounts Receivable

5.   ACCOUNTS RECEIVABLE

Accounts receivable consisted of the following (in thousands):

December 31, 

 

    

2023

    

2022

 

Trade

$

556,542

$

561,857

Vendor consideration, returns and other

 

57,110

 

57,388

Due from employees

 

91

 

108

Total gross accounts receivable

 

613,743

 

619,353

Allowances for:

Sales returns

 

(3,121)

 

(3,806)

Credit losses

 

(3,788)

 

(5,267)

Accounts receivable, net

$

606,834

$

610,280

XML 28 R14.htm IDEA: XBRL DOCUMENT v3.24.0.1
PROPERTY AND EQUIPMENT
12 Months Ended
Dec. 31, 2023
Property and Equipment  
Property and Equipment

6.   PROPERTY AND EQUIPMENT

Property and equipment consisted of the following (in thousands):

December 31, 

 

    

2023

    

2022

 

Computer software, including licenses and internally-developed software

$

93,373

$

87,645

Furniture and equipment

 

36,916

 

39,316

Leasehold improvements

 

8,463

 

8,964

Total

 

138,752

 

135,925

Accumulated depreciation and amortization

 

(82,094)

 

(76,754)

Property and equipment, net

$

56,658

$

59,171

The Company recorded depreciation and amortization expense for property and equipment of $11,434, $10,758, and $10,982 in 2023, 2022, and 2021, respectively.

XML 29 R15.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES
12 Months Ended
Dec. 31, 2023
Leases  
Leases

7. LEASES

The Company leases certain facilities from a related party, which is affiliated with the Company through common ownership.

As of December 31, 2023, the Company had no leases that were classified as financing leases and there were no additional operating or financing leases that have not yet commenced. Refer to the following table for quantitative information related to the Company’s leases for the year ended December 31, 2023 and 2022 (dollars in thousands):

 

Year Ended December 31, 2023

 

 

Related Parties

Others

Total

 

Lease Cost

 

  

 

  

 

  

Capitalized operating lease cost

$

1,149

$

2,235

$

3,384

Short-term lease cost

 

532

 

459

 

991

Total lease cost

$

1,681

$

2,694

$

4,375

Other Information

 

  

 

  

 

  

Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:

 

 

 

Operating cash flows

$

1,149

$

2,266

$

3,415

Weighted-average remaining lease term (in years):

 

  

 

  

 

  

Capitalized operating leases

2.92

2.92

Weighted-average discount rate:

Capitalized operating leases

3.92%

4.08%

4.04%

 

Year Ended December 31, 2022

 

Related Parties

Others

Total

Lease Cost

 

  

 

  

 

  

Capitalized operating lease cost

$

1,253

$

2,821

$

4,074

Short-term lease cost

 

428

 

121

 

549

Total lease cost

$

1,681

$

2,942

$

4,623

Other Information

 

  

 

  

 

  

Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:

 

 

 

Operating cash flows

$

1,253

$

2,846

$

4,099

Weighted-average remaining lease term (in years):

 

  

 

  

 

  

Capitalized operating leases

0.92

4.03

3.60

Weighted-average discount rate:

Capitalized operating leases

3.92%

4.05%

4.03%

As of December 31, 2023, future lease payments over the remaining term of capitalized operating leases were as follows (in thousands):

For the Years Ended December 31, 

    

Related Parties

    

Others

    

Total

2024

$

1,312

$

574

$

1,886

2025

 

163

 

1,650

 

1,813

2026

 

163

 

957

 

1,120

2027

 

1

 

236

 

237

2028

161

161

Thereafter

$

1,639

$

3,578

$

5,217

Imputed interest

(303)

Lease liability balance at December 31, 2023

$

4,914

As of December 31, 2023, the ROU asset had a balance of $4,340. The long-term lease liability was $3,181 and the short-term lease liability, which is included in accrued expenses and other liabilities in the consolidated balance sheets, was $1,733.

As of December 31, 2022, the ROU asset had a balance of $7,558. The long-term lease liability was $4,994 and the short-term lease liability, which is included in accrued expenses and other liabilities in the consolidated balance sheets, was $3,170.

XML 30 R16.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCRUED EXPENSES AND OTHER LIABILITIES
12 Months Ended
Dec. 31, 2023
Accrued Expenses and Other Liabilities  
Accrued Expenses and Other Liabilities

8. ACCRUED EXPENSES AND OTHER LIABILITIES

Accrued expenses and other liabilities consisted of the following (in thousands):

December 31, 

    

2023

    

2022

Customer and vendor deposits

$

24,414

$

32,594

Sales tax

6,144

2,816

Short term lease liability

1,733

3,170

Other

 

11,552

 

15,228

Accrued expenses and other liabilities

$

43,843

$

53,808

XML 31 R17.htm IDEA: XBRL DOCUMENT v3.24.0.1
BANK BORROWINGS
12 Months Ended
Dec. 31, 2023
Bank Borrowings  
Bank Borrowings

9.   BANK BORROWINGS

The Company has a $50,000 credit facility collateralized by its account receivables that expires March 31, 2025. This facility can be increased, at the Company’s option, to $80,000 for permitted acquisitions or other uses authorized by the lender on substantially the same terms. Amounts outstanding under this facility bear interest at the daily Bloomberg Short-Term Bank Yield Index, or BSBY Rate, plus a spread based on the Company’s funded debt ratio, or in the absence of BSBY Rate, the prime rate (8.50% at December 31, 2023). The credit facility includes various customary financial ratios and operating covenants, including minimum net worth and maximum funded debt ratio requirements, and default acceleration provisions. The credit facility does not include restrictions on future dividend payments. Funded debt ratio is the ratio of average outstanding advances under the credit facility to Adjusted Earnings Before Interest Expense, Taxes, Depreciation, Amortization, and Special Charges, or Adjusted EBITDA. The maximum allowable funded debt ratio under the agreement is 2.0 to 1.0. Decreases in the Company’s consolidated twelve months Adjusted EBITDA could limit its potential borrowing capacity under the credit facility. As of December 31, 2023, the Company was in compliance with the covenants of the credit facility.

Cash receipts are automatically applied against any outstanding borrowings. During the years ended December 31, 2023 and 2022, the Company borrowed incremental amounts that were each repaid in full. These borrowings for the years ended December 31, 2023 and 2022 totaled $88,198 and $36,463, respectively; however, at no time were the outstanding borrowings greater than the $50,000 limit under the credit facility. The Company had no outstanding borrowings under the credit facility as of December 31, 2023 or 2022, and accordingly, the entire $50,000 credit facility was available for borrowings on such date.

XML 32 R18.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION
12 Months Ended
Dec. 31, 2023
Stockholders' Equity and Share-Based Compensation  
Stockholders' Equity and Share-Based Compensation

10.   STOCKHOLDERS’ EQUITY AND SHARE-BASED COMPENSATION

Preferred Stock

The Company’s Amended and Restated Certificate of Incorporation (the “Restated Certificate”) authorizes the issuance of up to 10,000 shares of preferred stock, $0.01 par value per share (the “Preferred Stock”). Under the terms of the Restated Certificate, the Board is authorized, subject to any limitations prescribed by law, without stockholder approval, to issue by a unanimous vote such shares of Preferred Stock in one or more series. Each such series of Preferred Stock shall have such rights, preferences, privileges, and restrictions, including voting rights, dividend rights, redemption privileges, and liquidation preferences, as shall be determined by the Board. There were no preferred shares outstanding as of December 31, 2023 or 2022.

Share Repurchase Authorization

As of December 31, 2017, there was $30,000 authorized for share repurchase. In 2018, the Company’s Board approved a share repurchase program authorizing up to $25,000 in additional share repurchases. In November 2022, the Company’s Board approved a $25,000 increase to the Company’s existing share repurchase authorization, bringing the aggregate size of the share repurchase program to $80,000 as of December 31, 2023. There is no fixed termination date for this repurchase program. Purchases may be made in open-market transactions, block transactions on or off an

exchange, or in privately negotiated transactions. The timing and amount of any share repurchases will be based on market conditions and other factors.

The Company repurchased 129 shares for $5,446 during the year ended December 31, 2023 under the Board-authorized repurchase program. Such cost reflects the applicable one percent excise tax imposed by the Inflation Reduction Act of 2022 on the net value of certain stock repurchases made after December 31, 2022. There were no share repurchases during the years ended December 31, 2022 and 2021. As of December 31, 2023, the Company has repurchased an aggregate of 2,728 shares for $47,700 under the Board-authorized repurchase program, and the maximum approximate dollar value of shares that may yet be purchased under the Company’s existing Board-authorized program is $32,300.

Dividend Payments

The following table summarizes the Company’s quarterly cash dividends declared during the year ended December 31, 2023 (in thousands, except per share data):

Dividend per Share

    

Declaration Date

    

Record Date

    

Payment Date

    

Total Dividend

$

0.08

February 9, 2023

February 21, 2023

March 10, 2023

$

2,107

$

0.08

May 4, 2023

May 16, 2023

June 2, 2023

$

2,099

$

0.08

August 2, 2023

August 15, 2023

September 1, 2023

$

2,101

$

0.08

October 31, 2023

November 14, 2023

December 1, 2023

$

2,103

For the year ended December 31, 2022, the Company declared a special cash dividend of $0.34 per share. The total cash payment of $8,948 was made on December 23, 2022 to stockholders of record at the close of business on December 5, 2022. For the year ended December 31, 2021, the Company declared a special cash dividend of $1.00 per share. The total cash payment of $26,224 was made on December 3, 2021 to stockholders of record at the close of business on November 18, 2021.

Declaration of any future cash dividends will depend upon the Company’s financial position, strategic plans, and general business conditions.

Equity Compensation Plan Descriptions

In 2007, the Board adopted and the Company’s stockholders approved the 2007 Stock Incentive Plan. In 2010, the Board adopted and the stockholders approved the Amended and Restated 2007 Stock Incentive Plan (the “2007 Plan”), which, among other things, extended the term of the 2007 Plan to 2020. In May 2019, the Company’s stockholders approved an amendment to the 2007 Plan, which authorized the issuance of up to 1,900 shares of common stock. Under the terms of the 2007 Plan, the Company is authorized, for a ten-year period, to grant options, stock appreciation rights, nonvested stock, nonvested stock units, and other stock-based awards to employees, officers, directors, and consultants.

In 2020, the Board adopted and the Company’s stockholders approved the 2020 Stock Incentive Plan (the “2020 Plan”), which replaces the Amended and Restated 2007 Stock Incentive Plan. In May 2023, the Company’s stockholders approved an amendment to the 2020 Plan, which authorized the issuance of 1,253 shares of common stock. As of December 31, 2023, there were 283 shares eligible for future grants under the 2020 Plan.

1997 Employee Stock Purchase Plan

In November 1997, the Board adopted and the Company’s stockholders approved the 1997 Employee Stock Purchase Plan (the “Employee Stock Purchase Plan”). The Employee Stock Purchase Plan authorizes the issuance of common stock to participating employees. Under the Employee Stock Purchase Plan, as amended, employees are eligible to purchase Company stock at 95% of the purchase price as of the last business day of each six-month offering period. In May 2022, the Board adopted and the Company’s stockholders approved an amendment to the Employee Stock Purchase Plan, which reserved an aggregate of 1,303 shares of common stock for issuance under the Employee Stock Purchase Plan, of which 1,221 shares have been purchased as of December 31, 2023.

Accounting for Share-Based Compensation

The Company measures the grant date fair value of equity awards given to employees and recognizes that cost, adjusted for forfeitures, over the period that services are performed. The Company values grants with multiple vesting periods as a single award, estimates expected forfeitures based upon historical patterns of employee turnover, and records share-based compensation as a component of SG&A expenses.

The following table summarizes the share-based compensation expenses included in the consolidated statements of income (in thousands):

    

2023

    

2022

    

2021

 

Pre-tax expense for nonvested units

$

7,022

$

5,675

$

4,231

Tax benefit

 

(1,853)

 

(1,512)

 

(1,167)

Net effect on net income

$

5,169

$

4,163

$

3,064

In 2023, 2022, and 2021, the Company issued nonvested stock units that settle in stock and vest over periods of up to four years. Recipients of nonvested stock units do not possess stockholder rights. The fair value of nonvested stock units is based on the end of day market value of the Company’s common stock on the grant date. The following table summarizes the Company’s nonvested stock unit activity in 2023 (shares in thousands):

Nonvested Stock Units

 

    

    

Weighted-Average

 

Grant Date

 

Shares

Fair Value

 

Nonvested at January 1, 2023

 

535

$

42.44

Granted

107

62.50

Vested

 

(172)

 

41.93

Canceled

(20)

49.36

Nonvested at December 31, 2023

 

450

 

47.09

The weighted-average grant-date fair value of nonvested stock units granted in 2023, 2022 and 2021 was $62.50, $53.50, and $46.02, respectively. The total fair value of nonvested stock units that vested in 2023, 2022, and 2021 was $9,700, $7,202, and $5,529, respectively. Unearned compensation cost related to the nonvested portion of outstanding nonvested stock units was $19,592 as of December 31, 2023, and is expected to be recognized over a weighted-average period of approximately 3.0 years. The aggregate intrinsic value of the nonvested stock units at December 31, 2023, which is calculated based on the positive difference between the fair value of the Company’s stock on December 31, 2023 and the grant price of the underlying awards, was $30,238.

Stock Equivalent Units

The Company has also previously issued stock equivalent units, or SEUs, which settle in cash and vest ratably over four years, to non-executive employees. The fair value of these liability awards is based on the closing market price of the Company’s common stock and is remeasured at the end of each reporting period until the SEUs vest. The Company reports the compensation as a component of SG&A expense on the consolidated statements of income and the related liability as accrued payroll on the consolidated balance sheets.

    

2023

    

2022

    

2021

 

Units issued

 

 

 

Compensation expense

$

$

$

425

XML 33 R19.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES
12 Months Ended
Dec. 31, 2023
Income Taxes  
Income Taxes

11.   INCOME TAXES

The provision for income taxes consisted of the following (in thousands):

Years Ended December 31, 

 

    

2023

    

2022

    

2021

 

Current:

Federal

$

24,648

$

25,483

$

18,450

State

 

7,343

 

8,200

 

7,413

Total current

 

31,991

 

33,683

 

25,863

Deferred:

Federal

 

(1,845)

 

(743)

 

655

State

 

(303)

 

(524)

 

98

Total deferred

 

(2,148)

 

(1,267)

 

753

Provision for income taxes

$

29,843

$

32,416

$

26,616

The components of the deferred taxes as of December 31, 2023 and 2022 are as follows (in thousands):

    

2023

    

2022

 

Deferred tax assets:

Allowance for credit losses

$

965

$

1,349

Inventory costs capitalized for tax purposes

 

127

 

227

Inventory valuation reserves

 

342

 

57

Sales return reserves

 

116

 

140

Deductible expenses, primarily employee-benefit related

 

6

 

79

Accrued compensation

 

1,304

 

2,249

Operating lease liability

1,251

2,084

Other

 

956

 

632

Capitalized research and development

1,542

598

Stock-based compensation

 

1,937

 

1,281

State tax loss carryforwards

 

941

 

1,151

State tax credit carryforwards

 

921

 

Total gross deferred tax assets

 

10,408

 

9,847

Less: Valuation allowance

 

(1,789)

 

(1,064)

Net deferred tax assets

 

8,619

 

8,783

Deferred tax liabilities:

Goodwill and other intangibles

 

(14,227)

 

(13,990)

Property and equipment

(8,877)

(10,572)

Right-of-use assets

(1,106)

(1,930)

Prepaid expenses

 

(253)

 

(261)

Total gross deferred tax liabilities

 

(24,463)

 

(26,753)

Net deferred tax liability

$

(15,844)

$

(17,970)

Current deferred tax assets

$

$

Noncurrent deferred tax liability

 

(15,844)

 

(17,970)

Net deferred tax liability

$

(15,844)

$

(17,970)

The Company has deferred tax assets from state net operating loss carryforwards aggregating $1,192 as of December 31, 2023 representing state tax benefits, net of federal taxes, of approximately $941. These loss carryforwards are subject to three, five, fifteen, twenty-year, or indefinite carryforward periods, with $2 expiring in 2024, $30 expiring in 2025, $63 expiring in 2026, $9 expiring in 2027, $5 expiring in 2028, $909 expiring beyond 2028, and $174 with no

expiration. The Company has provided valuation allowances of $868 and $1,064 as of December 31, 2023 and 2022, respectively, against the state tax loss carryforwards, representing the portion of carryforward losses that the Company believes are not likely to be realized. The Company also has New Hampshire Business Enterprise credits of $921. These credits are subject to a ten-year carryforward period, with $921 expiring beyond 2028. The Company has provided a valuation allowance of $921 as of December 31, 2023 against the New Hampshire Business Enterprise credit carryforwards. The net change in the total valuation allowance reflects a $725 increase and a $110 decrease in 2023 and 2022, respectively.

A reconciliation of the Company’s 2023, 2022, and 2021 income tax provision to total income taxes at the statutory federal tax rate is as follows (in thousands):

    

2023

    

2022

    

2021

 

Federal income taxes, at statutory tax rate

$

23,754

$

25,543

$

20,270

State income taxes, net of federal benefit

 

5,498

 

5,954

 

5,954

Nondeductible expenses

 

589

 

928

 

645

Other, net

 

2

 

(9)

 

(253)

Income tax provision

$

29,843

$

32,416

$

26,616

The Company files one consolidated U.S. Federal income tax return that includes all of its subsidiaries as well as several consolidated, combined, and separate Company returns in many U.S. state tax jurisdictions. The tax years 2019-2022 remain open to examination by the major state taxing jurisdictions in which the Company files. The tax years 2020-2022 remain open to examination by the Internal Revenue Service.

Previously, the Company recognized interest and penalties related to unrecognized income tax benefits as a component of income tax expense, and the corresponding accrual was included as a component of the Company’s liability for unrecognized income tax benefits. The Company did not recognize any interest and penalties for the years ended December 31, 2023, 2022 or 2021.

XML 34 R20.htm IDEA: XBRL DOCUMENT v3.24.0.1
EMPLOYEE BENEFIT PLAN
12 Months Ended
Dec. 31, 2023
Employee Benefit Plan  
Employee Benefit Plan

12.   EMPLOYEE BENEFIT PLAN

The Company has a contributory profit-sharing and employee savings plan covering all qualified employees. No contributions to the profit-sharing element of the plan were made by the Company in 2023, 2022, and 2021. The Company made matching contributions to the employee savings element of such plan of $6,873, $6,517, and $5,951 in 2023, 2022, and 2021, respectively.

XML 35 R21.htm IDEA: XBRL DOCUMENT v3.24.0.1
COMMITMENTS AND CONTINGENCIES
12 Months Ended
Dec. 31, 2023
Commitments and Contingencies  
Commitments and Contingencies

13.   COMMITMENTS AND CONTINGENCIES

Contingencies

The Company is subject to various legal proceedings and claims, which have arisen during the ordinary course of business. In the opinion of the Company’s management, the outcome of such matters is not expected to have a material effect on the Company’s business, financial position, results of operations, or cash flows.

The Company records a liability when it believes that a loss is both probable and reasonably estimable. On a quarterly basis, the Company reviews each of these legal proceedings to determine whether it is probable, reasonably possible, or remote that a liability has been incurred and, if it is at least reasonably possible, whether a range of loss can be reasonably estimated. Significant judgment is required to determine both the likelihood of there being a loss and the estimated amount of such loss. Until the final resolution of such matters, there may be an exposure to loss in excess of the amount recorded, and such amounts could be material. The Company expenses legal fees in the period in which they are incurred.

The Company is subject to audits by states on sales and income taxes, employment matters, and other assessments. Additional liabilities for these and other audits could be assessed, and such outcomes could have a material negative impact on the Company’s financial position, results of operations, and cash flows.

XML 36 R22.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT AND RELATED DISCLOSURES
12 Months Ended
Dec. 31, 2023
Segment Information  
Segment and Related Disclosures

14.   SEGMENT AND RELATED DISCLOSURES

The internal reporting structure used by the Company’s chief operating decision maker, or CODM, to assess performance and allocate resources determines the basis for the Company’s operating segments. The Company’s CODM is its Chief Executive Officer, and he evaluates operations and allocates resources based on a measure of operating income.

The Company’s operations are organized under three reporting segments—the Enterprise Solutions segment, which serves primarily medium-to-large corporations; the Business Solutions segment, which serves primarily SMBs; and the Public Sector Solutions segment, which serves primarily federal, state, and local government and educational institutions. In addition, the Headquarters/Other group provides services in areas such as finance, human resources, IT, marketing, and product management. Most of the operating costs associated with the Headquarters/Other group functions are charged to the operating segments based on their estimated usage of the underlying functions. The Company reports these charges to the operating segments as “Allocations.” Certain headquarters costs relating to executive oversight and other fiduciary functions that are not allocated to the operating segments are included under the heading of Headquarters/Other in the tables below.

Net sales presented below exclude inter-segment product revenues. Segment information applicable to the Company’s operating segments for the years ended December 31, 2023, 2022, and 2021 is shown below (in thousands):

Years Ended December 31, 

 

 

2023

    

2022

    

2021

 

Net sales:

Enterprise Solutions

$

1,201,131

$

1,324,361

$

1,249,459

Business Solutions

 

1,075,599

 

1,245,311

 

1,098,496

Public Sector Solutions

 

573,914

 

555,324

 

544,640

Total net sales

$

2,850,644

$

3,124,996

$

2,892,595

Operating income (loss):

Enterprise Solutions

$

39,216

$

53,477

$

74,653

Business Solutions

 

76,150

 

79,475

 

43,783

Public Sector Solutions

 

2,177

 

1,105

 

(4,928)

Headquarters/Other

 

(14,390)

 

(13,505)

 

(16,991)

Total operating income

 

103,153

 

120,552

 

96,517

Other income, net

 

9,961

 

1,083

 

5

Income before taxes

$

113,114

$

121,635

$

96,522

Selected operating expense:

Depreciation and amortization:

Enterprise Solutions

$

1,452

$

1,992

$

2,408

Business Solutions

 

628

 

661

 

655

Public Sector Solutions

 

84

 

78

 

62

Headquarters/Other

 

10,490

 

9,247

 

9,077

Total depreciation and amortization

$

12,654

$

11,978

$

12,202

Total assets:

Enterprise Solutions

$

704,577

$

660,374

Business Solutions

 

502,739

 

445,698

Public Sector Solutions

 

79,384

 

84,939

Headquarters/Other

 

(98,319)

 

(91,185)

Total assets

$

1,188,381

$

1,099,826

The assets of the Company’s operating segments presented above consist primarily of accounts receivable, net intercompany receivable, goodwill, and other intangibles. Goodwill of $66,236 and $7,366 is held by the Enterprise Solutions and Business Solutions segments, respectively, as of December 31, 2023. Assets reported under the Headquarters/Other group are managed by corporate headquarters, including cash, inventory, property and equipment

and intercompany balance, net. Total assets for the Headquarters/Other group are presented net of intercompany balances eliminations of $35,522 and $43,679 for the years ended December 31, 2023 and 2022, respectively. The Company’s capital expenditures consist largely of IT hardware and software purchased to maintain or upgrade its management information systems. These systems serve all of the Company’s subsidiaries, to varying degrees, and as a result, the CODM does not evaluate capital expenditures on a segment basis.

Substantially all of the Company’s sales in 2023, 2022, and 2021 were made to customers located in the United States. Shipments to customers located in foreign countries were not more than 2% of total net sales in 2023, 2022, and 2021. All of the Company’s assets as of December 31, 2023 and 2022 were located in the United States. The Company’s primary target customers are SMBs, medium-to-large businesses, and federal, state, and local government agencies and educational institutions.

XML 37 R23.htm IDEA: XBRL DOCUMENT v3.24.0.1
SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS
12 Months Ended
Dec. 31, 2023
Schedule II - Valuation and Qualifying Accounts  
Schedule II-Valuation And Qualifying Accounts

SCHEDULE II—VALUATION AND QUALIFYING ACCOUNTS

(amounts in thousands)

    

Balance at

    

Charged to

    

    

Balance at

 

Beginning

Costs and

Deductions/

End of

 

of Period

Expenses

Write-Offs

Period

 

Description

Allowance for Sales Returns

Year Ended December 31, 2021

$

4,014

 

32,635

 

(32,431)

$

4,218

Year Ended December 31, 2022

$

4,218

 

35,161

 

(35,573)

$

3,806

Year Ended December 31, 2023

$

3,806

 

34,477

 

(35,162)

$

3,121

Allowance for Credit Losses

Year Ended December 31, 2021

$

5,408

 

3,307

 

(3,890)

$

4,825

Year Ended December 31, 2022

$

4,825

 

3,252

 

(2,810)

$

5,267

Year Ended December 31, 2023

$

5,267

 

1,847

 

(3,326)

$

3,788

XML 38 R24.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Principles of Consolidation

Principles of Consolidation

The consolidated financial statements include the accounts of PC Connection, Inc. and its subsidiaries, all of which are wholly-owned. Intercompany transactions and balances are eliminated in consolidation.

Use of Estimates in the Preparation of Financial Statements

Use of Estimates in the Preparation of Financial Statements

The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts and disclosures of assets and liabilities and the reported amounts and disclosures of revenue and expenses during the period. Management bases its estimates and judgments on the information available at the time and various other assumptions believed to be reasonable under the circumstances. By nature, estimates are subject to an inherent degree of uncertainty. Actual results could differ from those estimates and assumptions.

Revenue Recognition

Revenue Recognition

Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The Company enters into contracts that can include various combinations of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In most instances, when several performance obligations are aggregated into one single transaction, these performance obligations are fulfilled at the same point in time. The Company accounts for an arrangement when it has approval and commitment from both parties, the rights are

identified, the contract has commercial substance, and collectability of consideration is probable. The Company generally obtains oral or written purchase authorizations from its customers for a specified amount of product at a specified price, which constitutes an arrangement. Revenue is recognized at the amount expected to be collected, net of any taxes collected from customers, which are subsequently remitted to governmental authorities. The Company generally invoices for its products at the time of shipping, and accordingly there is not a significant financing component included in its arrangements.

Cost of Sales and Certain Other Costs

Cost of Sales and Certain Other Costs

Cost of sales includes the invoice cost of the product, direct employee and third-party cost of services, direct costs of packaging, inbound and outbound freight, and provisions for inventory obsolescence, adjusted for discounts, rebates, and other vendor allowances.

Cash and Cash Equivalents and Investments

Cash and Cash Equivalents and Investments

The Company considers all highly liquid short-term investments with original maturities of 90 days or less to be cash equivalents. The carrying value of the Company’s cash equivalents approximates fair value. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.

The majority of payments due from credit card processors and banks for third-party credit card and debit card transactions process within one to five business days. All credit card and debit card transactions that process in less than seven days are classified as cash and cash equivalents. Amounts due from banks for credit card transactions classified as cash equivalents totaled $3,839 and $6,862 at December 31, 2023 and 2022, respectively.

At the time of purchase, the Company determines the appropriate classification of investments based upon its intent with regard to such investments. All of the Company’s investments are classified as available-for-sale. The Company classifies investments as short-term when their remaining contractual maturities are one year or less from the balance sheet date, and as long-term when the investment has a remaining contractual maturity of more than one year from the balance sheet date. The Company records investments at fair value with unrealized gains and losses recorded as a component of accumulated other comprehensive income on the consolidated balance sheets.

Included in other income, net on the consolidated statements of income is interest income on cash equivalents and short-term investments of $9,983 and $1,056 for the years ended December 31, 2023 and 2022, respectively. Interest income on cash equivalents and short-term investments was less than $1 for the year ended December 31, 2021.

Accounts Receivable

Accounts Receivable

Accounts receivable are recorded at the invoice amount, net of allowances. Customers are evaluated for their credit worthiness at the time of contract inception and the Company performs ongoing credit evaluations of its customers and adjusts credit limits based on payment history and customer creditworthiness. Based on the results of the credit assessments, the Company will extend credit under its standard payment terms or may request alternative early payment actions. The Company determines the required allowance for expected credit losses using information such as its customer credit history and financial condition, industry and market segment information, credit reports, and economic trends and conditions. Allowances can be affected by changes in the industry, customer credit issues or customer bankruptcies or expectations of any such events in a future period when reasonable and supportable. Historical information is utilized beyond reasonable and supportable forecast periods. Amounts are charged against the allowance when it is determined that expected credit losses may occur. The Company assesses collectability by reviewing account receivable on an aggregated basis where similar characteristics exist and on an individual basis when the Company identifies specific customers with collectability issues, and if necessary, records a reserve against those receivables it determines may not be collectable. Trade receivables are written off in the period in which they are deemed uncollectible. Recoveries of trade receivables previously charged are recorded when received.

Inventories

Inventories

Inventories (all finished goods) are stated at cost (which approximates the first-in, first-out method) or net realizable value, whichever is lower. Inventory quantities on hand are reviewed regularly, and allowances are maintained for obsolete, slow moving, and nonsalable inventory.

Advertising Costs and Vendor Consideration

Advertising Costs and Vendor Consideration

Vendors have the ability to fund advertising activities for which the Company receives advertising consideration. This vendor consideration, to the extent that it represents specific reimbursements of incremental and identifiable costs, is offset against selling, general and administrative, or SG&A, expenses. Advertising consideration that cannot be associated with a specific program or that exceeds the fair value of advertising expense associated with that program is classified as an offset to cost of sales. The Company’s vendor partners generally consolidate their funding of advertising and other marketing programs, and accordingly, the Company classifies substantially all vendor consideration as a reduction of cost of sales rather than a reduction of advertising expense. Other advertising costs are expensed as incurred. Advertising expense, which is classified as a component of SG&A expenses on the consolidated statements of income, totaled $22,400, $20,155, and $15,827 for the years ended December 31, 2023, 2022, and 2021, respectively.

Property and Equipment

Property and Equipment

Property and equipment are stated at cost, net of accumulated depreciation and amortization. The estimated useful lives of the assets range from three to seven years. Computer software, including licenses and internally developed software, is capitalized and amortized over lives generally ranging from three to ten years. Depreciation is recorded using the straight-line method. Leasehold improvements and facilities under capital leases are amortized over the terms of the related leases or their useful lives, whichever is shorter, whereas for income tax reporting purposes, they are amortized over the applicable tax lives.

Costs incurred to develop internal-use software during the application development stage are recorded in property and equipment at cost. External direct costs of materials and services consumed in developing or obtaining internal-use computer software and payroll-related costs for employees developing internal-use computer software projects, to the extent of their time spent directly on the project and specific to application development, are capitalized.

When events or circumstances indicate a potential impairment, the Company evaluates the carrying value of property and equipment based upon current and anticipated undiscounted cash flows. The Company recognizes impairment when it is probable that such estimated future cash flows will be less than the asset carrying value. No property and equipment impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.

Leases

Leases

The Company enters into operating lease contracts, as assessed at contract inception, primarily for real estate and equipment. On the lease commencement date, the Company records operating lease liabilities based on the present value of the future lease payments. In determining the present value of future lease payments, the Company utilized estimated rates that it would have incurred to borrow, over a similar term, the funds necessary to purchase the respective leased asset with cash.

The Company elects to apply the short-team lease exception to any leases with contractual obligations of one year or less. These leases will not have right-of-use, or ROU, assets and associated lease liabilities on the balance sheet. Instead, rent will be recognized on a straight-line basis.

Goodwill and Other Intangible Assets

Goodwill and Other Intangible Assets

The Company’s intangible assets consist of (1) goodwill, which is not subject to amortization; (2) an internet domain name, which is an indefinite-lived intangible asset not subject to amortization; and (3) amortizing intangibles,

which consist of customer lists, trade names, and customer relationships, which are being amortized over their useful lives.

Note 4 describes the annual impairment methodology that the Company uses each year in calculating the recoverability of goodwill and non-amortizing intangibles. This same impairment test is performed at other times during the course of a year should an event occur or circumstance change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.

Recoverability of amortizing intangible assets is assessed only when events have occurred that may give rise to impairment. When a potential impairment has been identified, forecasted undiscounted net cash flows of the operations to which the asset relates are compared to the current carrying value of the long-lived assets present in that operation. If such cash flows are less than such carrying amounts, long-lived assets including such intangibles, are written down to their respective fair values. No intangible assets impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.

Concentrations

Concentrations

Concentrations of credit risk with respect to trade account receivables are limited due to the large number of customers comprising the Company’s customer base. No single customer accounted for 10% or more of total net sales in 2023, 2022, and 2021.

Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Microsoft Corporation accounted for approximately 21%, 19%, and 11%, respectively, of the Company’s total product purchases in 2023. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 22%, and 15%, respectively, of the Company’s total product purchases in 2022. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 23%, and 12%, respectively, of the Company’s total product purchases in 2021. No other singular vendor supplied more than 10% of the Company’s total product purchases in 2023, 2022, and 2021. The Company believes that, while it may experience some short-term disruption if products from Ingram Micro, Inc., TD Synnex Corporation, Microsoft Corporation, Dell Inc., or any of these vendors become unavailable to it, alternative sources are available.

Products manufactured by Microsoft Corporation, HP Inc., and Dell Inc. represented approximately 15%, 13%, and 11%, respectively, of our total product purchases in 2023. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 14%, 13%, 12%, and 11% of our total product purchases in 2022. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 15%, 14%, 11%, and 10% of our total product purchases in 2021. No other singular product manufacturer produced more than 10% of our total product purchases in 2023, 2022, and 2021. In the event the Company experiences either a short-term or permanent disruption of supply of Microsoft Corporation, HP Inc., or Dell Inc. products, such disruption would likely have a material adverse effect on the Company’s results of operations and cash flows.

Restructuring and other charges

Restructuring and Other charges

The restructuring and other charges recorded for the year ended December 31, 2023 were primarily related to an involuntary reduction in our headquarter workforce and included cash severance and other related termination benefits. These costs will be paid within a year of termination and any unpaid balances are included in accrued expenses and other liabilities in the consolidated balance sheets as of December 31, 2023. The Company is currently evaluating additional restructuring activities for 2024 and beyond.

Costs incurred for restructuring and other chargers were as follows (in thousands):

Year Ended December 31, 

2023

    

2022

    

2021

Employee separations

$

2,416

$

$

Other charges

 

271

 

 

Total restructuring and other charges

$

2,687

$

$

Included in accrued expenses and other liabilities on the consolidated balance sheets as of December 31, 2023 was $324 related to unpaid employee separation benefits.

Earnings Per Share

Earnings Per Share

Basic earnings per common share is computed using the weighted average number of shares outstanding. Diluted earnings per share is computed using the weighted average number of shares outstanding adjusted for the incremental shares attributable to nonvested stock units and stock options outstanding, if dilutive.

The following table sets forth the computation of basic and diluted earnings per share (in thousands, except per share data):

 

2023

    

2022

    

2021

 

Numerator:

Net income

$

83,271

$

89,219

$

69,906

Denominator:

Denominator for basic earnings per share

 

26,287

 

26,279

 

26,196

Dilutive effect of employee stock awards

 

142

 

164

 

168

Denominator for diluted earnings per share

 

26,429

 

26,443

 

26,364

Earnings per share:

Basic

$

3.17

$

3.40

$

2.67

Diluted

$

3.15

$

3.37

$

2.65

For the years ended December 31, 2023, 2022, and 2021, the Company did not exclude any outstanding nonvested stock units or stock options from the computation of diluted earnings per share because including them would have had an anti-dilutive effect.

Recently Issued Financial Accounting Standards

Recently Issued Financial Accounting Standards

In March 2020, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. This guidance provides temporary optional expedients and exceptions to the U.S. GAAP guidance on contract modifications and hedge accounting to ease the financial reporting burdens of the expected market transition from the London Interbank Offered Rate, or LIBOR, and other interbank offered rates to alternative reference rates, such as the Secured Overnight Financing Rate. This ASU is applied prospectively and becomes effective immediately upon the transition from LIBOR. The Company’s secured credit facility agreement references LIBOR, which is expected to be discontinued as a result of reference rate reform. The amendments are effective as of March 12, 2020 through December

31, 2022; however, ASU 2022-06, Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848 has extended the effective date through December 31, 2024. The Company adopted this standard for the fiscal year ended December 31, 2023. The adoption of this ASU along with the related expedients did not have an impact to the Company’s consolidated financial statements.

In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures. This guidance is intended to improve segment reporting disclosures on both an interim and annual basis, primarily through enhanced disclosures about significant segment expenses. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2024, and for interim reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.

In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures. This guidance is intended to improve the transparency of income tax disclosures through, among other things, enhancement of the disclosure requirements within the rate reconciliation, as well as increased income tax disaggregation disclosures. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.

XML 39 R25.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Schedule of restructuring and other charges

Costs incurred for restructuring and other chargers were as follows (in thousands):

Year Ended December 31, 

2023

    

2022

    

2021

Employee separations

$

2,416

$

$

Other charges

 

271

 

 

Total restructuring and other charges

$

2,687

$

$

Computation of basic and diluted earnings per share

The following table sets forth the computation of basic and diluted earnings per share (in thousands, except per share data):

 

2023

    

2022

    

2021

 

Numerator:

Net income

$

83,271

$

89,219

$

69,906

Denominator:

Denominator for basic earnings per share

 

26,287

 

26,279

 

26,196

Dilutive effect of employee stock awards

 

142

 

164

 

168

Denominator for diluted earnings per share

 

26,429

 

26,443

 

26,364

Earnings per share:

Basic

$

3.17

$

3.40

$

2.67

Diluted

$

3.15

$

3.37

$

2.65

XML 40 R26.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE (Tables)
12 Months Ended
Dec. 31, 2023
Revenue  
Schedule of disaggregation of revenue from contracts with customers

The following tables represent a disaggregation of revenue from arrangements with customers for the years ended December 31, 2023, 2022 and 2021, along with the segment for each category (in thousands).

For the Year Ended December 31, 2023

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

391,667

$

352,116

$

207,887

$

951,670

Desktops

137,679

73,302

55,946

266,927

Software

124,478

157,715

47,321

329,514

Servers/Storage

65,034

90,697

45,564

201,295

Net/Com Products

 

112,069

 

121,717

62,488

 

296,274

Displays and Sound

106,419

92,219

60,244

258,882

Accessories

 

155,498

 

111,542

49,992

 

317,032

Other Hardware/Services

 

108,287

 

76,291

44,472

 

229,050

Total net sales

$

1,201,131

$

1,075,599

$

573,914

$

2,850,644

For the Year Ended December 31, 2022

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

462,152

$

473,375

$

221,363

$

1,156,890

Desktops

165,509

88,127

56,804

310,440

Software

108,243

147,792

36,071

292,106

Servers/Storage

64,622

 

103,711

44,588

212,921

Net/Com Products

 

85,611

 

98,672

32,548

 

216,831

Displays and Sound

132,269

118,753

67,860

318,882

Accessories

 

202,452

133,017

58,413

 

393,882

Other Hardware/Services

 

103,504

 

81,863

37,677

 

223,044

Total net sales

$

1,324,362

$

1,245,310

$

555,324

$

3,124,996

For the Year Ended December 31, 2021

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

Notebooks/Mobility

$

428,868

$

426,022

$

241,146

$

1,096,036

Desktops

140,468

87,822

45,989

274,279

Software

119,423

120,104

39,611

279,138

Servers/Storage

66,027

 

92,922

37,081

196,030

Net/Com Products

 

86,454

 

81,681

34,336

 

202,471

Displays and Sound

125,610

99,474

59,153

284,237

Accessories

 

179,249

115,048

44,104

 

338,401

Other Hardware/Services

 

103,360

 

75,423

43,220

 

222,003

Total net sales

$

1,249,459

$

1,098,496

$

544,640

$

2,892,595

Schedule of changes in contract liability balances

The following table provides information about contract liabilities from arrangements with customers as of December 31, 2023 and December 31, 2022 (in thousands):

    

December 31, 2023

    

December 31, 2022

Contract liabilities, which are included in "Accrued expenses and other liabilities"

$

4,206

$

4,266

Changes in the contract liability balances during the years ended December 31, 2023 and 2022 are as follows (in thousands):

    

2023

Balance at December 31, 2022

$

4,266

Cash received in advance and not recognized as revenue

 

21,173

Amounts recognized as revenue as performance obligations satisfied

 

(21,233)

Balance at December 31, 2023

$

4,206

2022

Balance at December 31, 2021

$

8,628

Cash received in advance and not recognized as revenue

 

20,626

Amounts recognized as revenue as performance obligations satisfied

 

(24,988)

Balance at December 31, 2022

$

4,266

XML 41 R27.htm IDEA: XBRL DOCUMENT v3.24.0.1
FAIR VALUE MEASUREMENTS (Tables)
12 Months Ended
Dec. 31, 2023
Fair Value Measurements  
Schedule of cash equivalents and short-term investments

Cash equivalents and short-term investments consist of the following (in thousands):

December 31, 2023

    

Amortized Cost

    

Unrealized Gains

    

Unrealized Losses

    

Fair Value

Cash equivalents:

Money market funds

$

129,123

$

$

$

129,123

Short-term investments:

U.S. Government treasury securities

152,129

103

152,232

Total

$

281,252

$

103

$

$

281,355

December 31, 2022

    

Amortized Cost

    

Unrealized Gains

    

Unrealized Losses

    

Fair Value

Cash equivalents:

Money market funds

$

96,386

$

$

$

96,386

Total

$

96,386

$

$

$

96,386

XML 42 R28.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure  
Carrying Amount of Goodwill

The carrying amount of goodwill for the periods presented is detailed below (in thousands):

Balance at December 31, 2023

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

 

Goodwill, gross

$

66,236

$

8,539

$

7,634

$

82,409

Accumulated impairment losses

 

 

(1,173)

 

(7,634)

 

(8,807)

Net balance

$

66,236

$

7,366

$

$

73,602

Balance at December 31, 2022

    

Enterprise
Solutions

    

Business
Solutions

    

Public Sector
Solutions

    

Total

 

Goodwill, gross

$

66,236

$

8,539

$

7,634

$

82,409

Accumulated impairment losses

 

 

(1,173)

 

(7,634)

 

(8,807)

Net balance

$

66,236

$

7,366

$

$

73,602

Intangible Assets and Related Accumulated Amortization

December 31, 2023

December 31, 2022

 

    

Estimated

    

Gross

    

Accumulated

    

Net

    

Gross

    

Accumulated

    

Net

 

Useful Lives

Amount

Amortization

Amount

Amount

Amortization

Amount

 

Customer list

8

$

3,400

$

3,400

$

$

3,400

$

3,400

$

Tradename

5

 

1,190

 

1,190

 

 

1,190

 

1,190

 

Customer relationships

10

 

12,200

 

9,222

 

2,978

 

12,200

 

8,002

 

4,198

Total intangible assets

$

16,790

$

13,812

$

2,978

$

16,790

$

12,592

$

4,198

Estimated Amortization Expense

For the Years Ended December 31, 

    

 

2024

$

1,220

2025

 

1,220

2026

 

538

2027

2028 and thereafter

 

$

2,978

XML 43 R29.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCOUNTS RECEIVABLE (Tables)
12 Months Ended
Dec. 31, 2023
Accounts Receivable  
Accounts Receivable

Accounts receivable consisted of the following (in thousands):

December 31, 

 

    

2023

    

2022

 

Trade

$

556,542

$

561,857

Vendor consideration, returns and other

 

57,110

 

57,388

Due from employees

 

91

 

108

Total gross accounts receivable

 

613,743

 

619,353

Allowances for:

Sales returns

 

(3,121)

 

(3,806)

Credit losses

 

(3,788)

 

(5,267)

Accounts receivable, net

$

606,834

$

610,280

XML 44 R30.htm IDEA: XBRL DOCUMENT v3.24.0.1
PROPERTY AND EQUIPMENT (Tables)
12 Months Ended
Dec. 31, 2023
Property and Equipment  
Property and Equipment

Property and equipment consisted of the following (in thousands):

December 31, 

 

    

2023

    

2022

 

Computer software, including licenses and internally-developed software

$

93,373

$

87,645

Furniture and equipment

 

36,916

 

39,316

Leasehold improvements

 

8,463

 

8,964

Total

 

138,752

 

135,925

Accumulated depreciation and amortization

 

(82,094)

 

(76,754)

Property and equipment, net

$

56,658

$

59,171

XML 45 R31.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES (Tables)
12 Months Ended
Dec. 31, 2023
Leases  
Schedule of lease cost

 

Year Ended December 31, 2023

 

 

Related Parties

Others

Total

 

Lease Cost

 

  

 

  

 

  

Capitalized operating lease cost

$

1,149

$

2,235

$

3,384

Short-term lease cost

 

532

 

459

 

991

Total lease cost

$

1,681

$

2,694

$

4,375

Other Information

 

  

 

  

 

  

Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:

 

 

 

Operating cash flows

$

1,149

$

2,266

$

3,415

Weighted-average remaining lease term (in years):

 

  

 

  

 

  

Capitalized operating leases

2.92

2.92

Weighted-average discount rate:

Capitalized operating leases

3.92%

4.08%

4.04%

 

Year Ended December 31, 2022

 

Related Parties

Others

Total

Lease Cost

 

  

 

  

 

  

Capitalized operating lease cost

$

1,253

$

2,821

$

4,074

Short-term lease cost

 

428

 

121

 

549

Total lease cost

$

1,681

$

2,942

$

4,623

Other Information

 

  

 

  

 

  

Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:

 

 

 

Operating cash flows

$

1,253

$

2,846

$

4,099

Weighted-average remaining lease term (in years):

 

  

 

  

 

  

Capitalized operating leases

0.92

4.03

3.60

Weighted-average discount rate:

Capitalized operating leases

3.92%

4.05%

4.03%

Schedule of future lease payments on capitalized operating leases

As of December 31, 2023, future lease payments over the remaining term of capitalized operating leases were as follows (in thousands):

For the Years Ended December 31, 

    

Related Parties

    

Others

    

Total

2024

$

1,312

$

574

$

1,886

2025

 

163

 

1,650

 

1,813

2026

 

163

 

957

 

1,120

2027

 

1

 

236

 

237

2028

161

161

Thereafter

$

1,639

$

3,578

$

5,217

Imputed interest

(303)

Lease liability balance at December 31, 2023

$

4,914

XML 46 R32.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCRUED EXPENSES AND OTHER LIABILITIES (Tables)
12 Months Ended
Dec. 31, 2023
Accrued Expenses and Other Liabilities  
Schedule of Accrued Expenses and Other Liabilities

Accrued expenses and other liabilities consisted of the following (in thousands):

December 31, 

    

2023

    

2022

Customer and vendor deposits

$

24,414

$

32,594

Sales tax

6,144

2,816

Short term lease liability

1,733

3,170

Other

 

11,552

 

15,228

Accrued expenses and other liabilities

$

43,843

$

53,808

XML 47 R33.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION (Tables)
12 Months Ended
Dec. 31, 2023
Dividend declared

The following table summarizes the Company’s quarterly cash dividends declared during the year ended December 31, 2023 (in thousands, except per share data):

Dividend per Share

    

Declaration Date

    

Record Date

    

Payment Date

    

Total Dividend

$

0.08

February 9, 2023

February 21, 2023

March 10, 2023

$

2,107

$

0.08

May 4, 2023

May 16, 2023

June 2, 2023

$

2,099

$

0.08

August 2, 2023

August 15, 2023

September 1, 2023

$

2,101

$

0.08

October 31, 2023

November 14, 2023

December 1, 2023

$

2,103

Components of Share-Based Compensation Recorded as Expense

The following table summarizes the share-based compensation expenses included in the consolidated statements of income (in thousands):

    

2023

    

2022

    

2021

 

Pre-tax expense for nonvested units

$

7,022

$

5,675

$

4,231

Tax benefit

 

(1,853)

 

(1,512)

 

(1,167)

Net effect on net income

$

5,169

$

4,163

$

3,064

Nonvested Stock Unit Activity

Nonvested Stock Units

 

    

    

Weighted-Average

 

Grant Date

 

Shares

Fair Value

 

Nonvested at January 1, 2023

 

535

$

42.44

Granted

107

62.50

Vested

 

(172)

 

41.93

Canceled

(20)

49.36

Nonvested at December 31, 2023

 

450

 

47.09

Stock Equivalent Units (SEUs)  
Stock Equivalent Units

    

2023

    

2022

    

2021

 

Units issued

 

 

 

Compensation expense

$

$

$

425

XML 48 R34.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES (Tables)
12 Months Ended
Dec. 31, 2023
Income Taxes  
Provision for Income Taxes

The provision for income taxes consisted of the following (in thousands):

Years Ended December 31, 

 

    

2023

    

2022

    

2021

 

Current:

Federal

$

24,648

$

25,483

$

18,450

State

 

7,343

 

8,200

 

7,413

Total current

 

31,991

 

33,683

 

25,863

Deferred:

Federal

 

(1,845)

 

(743)

 

655

State

 

(303)

 

(524)

 

98

Total deferred

 

(2,148)

 

(1,267)

 

753

Provision for income taxes

$

29,843

$

32,416

$

26,616

Components of Deferred Taxes

The components of the deferred taxes as of December 31, 2023 and 2022 are as follows (in thousands):

    

2023

    

2022

 

Deferred tax assets:

Allowance for credit losses

$

965

$

1,349

Inventory costs capitalized for tax purposes

 

127

 

227

Inventory valuation reserves

 

342

 

57

Sales return reserves

 

116

 

140

Deductible expenses, primarily employee-benefit related

 

6

 

79

Accrued compensation

 

1,304

 

2,249

Operating lease liability

1,251

2,084

Other

 

956

 

632

Capitalized research and development

1,542

598

Stock-based compensation

 

1,937

 

1,281

State tax loss carryforwards

 

941

 

1,151

State tax credit carryforwards

 

921

 

Total gross deferred tax assets

 

10,408

 

9,847

Less: Valuation allowance

 

(1,789)

 

(1,064)

Net deferred tax assets

 

8,619

 

8,783

Deferred tax liabilities:

Goodwill and other intangibles

 

(14,227)

 

(13,990)

Property and equipment

(8,877)

(10,572)

Right-of-use assets

(1,106)

(1,930)

Prepaid expenses

 

(253)

 

(261)

Total gross deferred tax liabilities

 

(24,463)

 

(26,753)

Net deferred tax liability

$

(15,844)

$

(17,970)

Current deferred tax assets

$

$

Noncurrent deferred tax liability

 

(15,844)

 

(17,970)

Net deferred tax liability

$

(15,844)

$

(17,970)

Reconciliation of Income Tax Provision to Total Income Taxes at Statutory Federal Tax Rate

A reconciliation of the Company’s 2023, 2022, and 2021 income tax provision to total income taxes at the statutory federal tax rate is as follows (in thousands):

    

2023

    

2022

    

2021

 

Federal income taxes, at statutory tax rate

$

23,754

$

25,543

$

20,270

State income taxes, net of federal benefit

 

5,498

 

5,954

 

5,954

Nondeductible expenses

 

589

 

928

 

645

Other, net

 

2

 

(9)

 

(253)

Income tax provision

$

29,843

$

32,416

$

26,616

XML 49 R35.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT AND RELATED DISCLOSURES (Tables)
12 Months Ended
Dec. 31, 2023
Segment Information  
Segment information applicable to reportable operating segments

Net sales presented below exclude inter-segment product revenues. Segment information applicable to the Company’s operating segments for the years ended December 31, 2023, 2022, and 2021 is shown below (in thousands):

Years Ended December 31, 

 

 

2023

    

2022

    

2021

 

Net sales:

Enterprise Solutions

$

1,201,131

$

1,324,361

$

1,249,459

Business Solutions

 

1,075,599

 

1,245,311

 

1,098,496

Public Sector Solutions

 

573,914

 

555,324

 

544,640

Total net sales

$

2,850,644

$

3,124,996

$

2,892,595

Operating income (loss):

Enterprise Solutions

$

39,216

$

53,477

$

74,653

Business Solutions

 

76,150

 

79,475

 

43,783

Public Sector Solutions

 

2,177

 

1,105

 

(4,928)

Headquarters/Other

 

(14,390)

 

(13,505)

 

(16,991)

Total operating income

 

103,153

 

120,552

 

96,517

Other income, net

 

9,961

 

1,083

 

5

Income before taxes

$

113,114

$

121,635

$

96,522

Selected operating expense:

Depreciation and amortization:

Enterprise Solutions

$

1,452

$

1,992

$

2,408

Business Solutions

 

628

 

661

 

655

Public Sector Solutions

 

84

 

78

 

62

Headquarters/Other

 

10,490

 

9,247

 

9,077

Total depreciation and amortization

$

12,654

$

11,978

$

12,202

Total assets:

Enterprise Solutions

$

704,577

$

660,374

Business Solutions

 

502,739

 

445,698

Public Sector Solutions

 

79,384

 

84,939

Headquarters/Other

 

(98,319)

 

(91,185)

Total assets

$

1,188,381

$

1,099,826

XML 50 R36.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
segment
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Number of operating segments | segment 3    
Amounts due from banks for credit card transactions, classified as cash equivalents $ 3,839 $ 6,862  
Impairment of property and equipment 0 0 $ 0
Impairment of intangible assets $ 0 0 0
Minimum      
Property and equipment, estimated useful lives 3 years    
Maximum      
Property and equipment, estimated useful lives 7 years    
Computer software | Minimum      
Estimated useful lives 3 years    
Computer software | Maximum      
Estimated useful lives 10 years    
Selling, General and Administrative Expenses      
Advertising expense $ 22,400 20,155 15,827
Other income      
Interest income on cash equivalents and short-term investments $ 9,983 $ 1,056  
Other income | Maximum      
Interest income on cash equivalents and short-term investments     $ 1
XML 51 R37.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Concentration Risk (Details) - Net Sales - customer
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Customer | Single Customer      
Concentration risk      
Number of customers that exceeded the risk benchmark of 10%. 0 0 0
Supplier | Ingram Micro Inc.      
Concentration risk      
Percentage of product purchases from vendor 21.00% 23.00% 23.00%
Supplier | TD Synnex Corporation      
Concentration risk      
Percentage of product purchases from vendor 19.00% 22.00% 23.00%
Supplier | Microsoft Corporation      
Concentration risk      
Percentage of product purchases from vendor 11.00%    
Percentage of product purchases manufactured by supplier 15.00% 12.00% 11.00%
Supplier | Dell, Inc.      
Concentration risk      
Percentage of product purchases from vendor   15.00% 12.00%
Percentage of product purchases manufactured by supplier 11.00% 13.00% 14.00%
Supplier | HP, Inc.      
Concentration risk      
Percentage of product purchases manufactured by supplier 13.00% 14.00% 15.00%
Supplier | Lenovo      
Concentration risk      
Percentage of product purchases manufactured by supplier   11.00% 10.00%
XML 52 R38.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Restructuring and Other Charges (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
Restructuring and other charges  
Restructuring and other charges $ 2,687
Employee separations  
Restructuring and other charges  
Restructuring and other charges 2,416
Employee separations | Accrued expenses and other liabilities  
Restructuring and other charges  
Accrued employee termination benefits 324
Other charges  
Restructuring and other charges  
Restructuring and other charges $ 271
XML 53 R39.htm IDEA: XBRL DOCUMENT v3.24.0.1
SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Basic and Diluted Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Numerator:      
Net Income (Loss) $ 83,271 $ 89,219 $ 69,906
Denominator:      
Denominator for basic earnings per share 26,287 26,279 26,196
Dilutive effect of employee stock awards 142 164 168
Denominator for diluted earnings per share 26,429 26,443 26,364
Earnings per share:      
Basic $ 3.17 $ 3.40 $ 2.67
Diluted $ 3.15 $ 3.37 $ 2.65
Additional Disclosure      
Employee stock awards excluded from computation of diluted earnings per share $ 0 $ 0 $ 0
XML 54 R40.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of revenue      
Net sales $ 2,850,644 $ 3,124,996 $ 2,892,595
Notebooks/Mobility      
Disaggregation of revenue      
Net sales 951,670 1,156,890 1,096,036
Desktops      
Disaggregation of revenue      
Net sales 266,927 310,440 274,279
Software      
Disaggregation of revenue      
Net sales 329,514 292,106 279,138
Servers/Storage      
Disaggregation of revenue      
Net sales 201,295 212,921 196,030
Net/Com Products      
Disaggregation of revenue      
Net sales 296,274 216,831 202,471
Displays and Sound      
Disaggregation of revenue      
Net sales 258,882 318,882 284,237
Accessories      
Disaggregation of revenue      
Net sales 317,032 393,882 338,401
Other Hardware/Services      
Disaggregation of revenue      
Net sales 229,050 223,044 222,003
Enterprise Solutions      
Disaggregation of revenue      
Net sales 1,201,131 1,324,362 1,249,459
Enterprise Solutions | Notebooks/Mobility      
Disaggregation of revenue      
Net sales 391,667 462,152 428,868
Enterprise Solutions | Desktops      
Disaggregation of revenue      
Net sales 137,679 165,509 140,468
Enterprise Solutions | Software      
Disaggregation of revenue      
Net sales 124,478 108,243 119,423
Enterprise Solutions | Servers/Storage      
Disaggregation of revenue      
Net sales 65,034 64,622 66,027
Enterprise Solutions | Net/Com Products      
Disaggregation of revenue      
Net sales 112,069 85,611 86,454
Enterprise Solutions | Displays and Sound      
Disaggregation of revenue      
Net sales 106,419 132,269 125,610
Enterprise Solutions | Accessories      
Disaggregation of revenue      
Net sales 155,498 202,452 179,249
Enterprise Solutions | Other Hardware/Services      
Disaggregation of revenue      
Net sales 108,287 103,504 103,360
Business Solutions      
Disaggregation of revenue      
Net sales 1,075,599 1,245,310 1,098,496
Business Solutions | Notebooks/Mobility      
Disaggregation of revenue      
Net sales 352,116 473,375 426,022
Business Solutions | Desktops      
Disaggregation of revenue      
Net sales 73,302 88,127 87,822
Business Solutions | Software      
Disaggregation of revenue      
Net sales 157,715 147,792 120,104
Business Solutions | Servers/Storage      
Disaggregation of revenue      
Net sales 90,697 103,711 92,922
Business Solutions | Net/Com Products      
Disaggregation of revenue      
Net sales 121,717 98,672 81,681
Business Solutions | Displays and Sound      
Disaggregation of revenue      
Net sales 92,219 118,753 99,474
Business Solutions | Accessories      
Disaggregation of revenue      
Net sales 111,542 133,017 115,048
Business Solutions | Other Hardware/Services      
Disaggregation of revenue      
Net sales 76,291 81,863 75,423
Public Sector Solutions      
Disaggregation of revenue      
Net sales 573,914 555,324 544,640
Public Sector Solutions | Notebooks/Mobility      
Disaggregation of revenue      
Net sales 207,887 221,363 241,146
Public Sector Solutions | Desktops      
Disaggregation of revenue      
Net sales 55,946 56,804 45,989
Public Sector Solutions | Software      
Disaggregation of revenue      
Net sales 47,321 36,071 39,611
Public Sector Solutions | Servers/Storage      
Disaggregation of revenue      
Net sales 45,564 44,588 37,081
Public Sector Solutions | Net/Com Products      
Disaggregation of revenue      
Net sales 62,488 32,548 34,336
Public Sector Solutions | Displays and Sound      
Disaggregation of revenue      
Net sales 60,244 67,860 59,153
Public Sector Solutions | Accessories      
Disaggregation of revenue      
Net sales 49,992 58,413 44,104
Public Sector Solutions | Other Hardware/Services      
Disaggregation of revenue      
Net sales $ 44,472 $ 37,677 $ 43,220
XML 55 R41.htm IDEA: XBRL DOCUMENT v3.24.0.1
REVENUE - Contract Balances (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Change in contract liability    
Beginning balance - Contract liability $ 4,266 $ 8,628
Cash received in advance and not recognized as revenue 21,173 20,626
Amounts recognized as revenue as performance obligations satisfied (21,233) (24,988)
Ending balance - Contract liability 4,206 4,266
Accrued expenses and other liabilities    
Contract liabilities    
Contract liabilities $ 4,206 $ 4,266
XML 56 R42.htm IDEA: XBRL DOCUMENT v3.24.0.1
FAIR VALUE MEASUREMENTS - Available-for-Sale Investments (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost $ 281,252 $ 96,386
Unrealized Gains 103  
Fair Value $ 281,355 $ 96,386
Fair value hierarchy - Level 1 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueInputsLevel1Member
Money market funds | Cash and cash equivalents    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost $ 129,123 $ 96,386
Fair Value 129,123 $ 96,386
U.S. Government treasury securities | Short-term investments    
Debt Securities, Available-for-Sale [Line Items]    
Amortized Cost 152,129  
Unrealized Gains 103  
Fair Value $ 152,232  
XML 57 R43.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Carrying Amount of Goodwill (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Goodwill    
Goodwill, gross $ 82,409 $ 82,409
Accumulated impairment losses (8,807) (8,807)
Net balance 73,602 73,602
Operating Segments | Enterprise Solutions    
Goodwill    
Goodwill, gross 66,236 66,236
Net balance 66,236 66,236
Operating Segments | Business Solutions    
Goodwill    
Goodwill, gross 8,539 8,539
Accumulated impairment losses (1,173) (1,173)
Net balance 7,366 7,366
Operating Segments | Public Sector Segment    
Goodwill    
Goodwill, gross 7,634 7,634
Accumulated impairment losses $ (7,634) $ (7,634)
XML 58 R44.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Amortizable Intangible Assets and Related Accumulated Amortization (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2016
Intangible Assets        
Indefinite-lived intangible assets $ 450      
Gross Amount 16,790 $ 16,790    
Accumulated Amortization 13,812 12,592    
Net Amount 2,978 4,198    
Amortization expense $ 1,220 1,220 $ 1,220  
Customer List        
Intangible Assets        
Estimated useful lives 8 years      
Gross Amount $ 3,400 3,400    
Accumulated Amortization $ 3,400 3,400    
Tradename        
Intangible Assets        
Estimated useful lives 5 years      
Gross Amount $ 1,190 1,190    
Accumulated Amortization $ 1,190 1,190    
Customer relationships        
Intangible Assets        
Acquired estimated useful lives       10 years
Estimated useful lives 10 years      
Gross Amount $ 12,200 12,200    
Accumulated Amortization 9,222 8,002    
Net Amount $ 2,978 $ 4,198    
XML 59 R45.htm IDEA: XBRL DOCUMENT v3.24.0.1
GOODWILL AND OTHER INTANGIBLE ASSETS - Estimated Amortization Expenses (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Goodwill and Intangible Assets Disclosure    
2024 $ 1,220  
2025 1,220  
2026 538  
Net Amount $ 2,978 $ 4,198
XML 60 R46.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCOUNTS RECEIVABLE (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Summary of Significant Accounting Policies    
Trade $ 556,542 $ 561,857
Vendor consideration, returns and other 57,110 57,388
Due from employees $ 91 $ 108
Other Receivable, after Allowance for Credit Loss, Current, Related Party, Type us-gaap:RelatedPartyMember us-gaap:RelatedPartyMember
Other Receivable, after Allowance for Credit Loss, Current, Related Party, Name cnxn:EmployeeMember cnxn:EmployeeMember
Total gross accounts receivable $ 613,743 $ 619,353
Sales returns (3,121) (3,806)
Credit losses (3,788) (5,267)
Accounts receivable, net $ 606,834 $ 610,280
XML 61 R47.htm IDEA: XBRL DOCUMENT v3.24.0.1
PROPERTY AND EQUIPMENT - Summary (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Property and Equipment    
Computer software, including licenses and internally-developed software $ 93,373 $ 87,645
Furniture and equipment 36,916 39,316
Leasehold improvements 8,463 8,964
Total 138,752 135,925
Accumulated depreciation and amortization (82,094) (76,754)
Property and equipment, net $ 56,658 $ 59,171
XML 62 R48.htm IDEA: XBRL DOCUMENT v3.24.0.1
PROPERTY AND EQUIPMENT - Depreciation and Amortization Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Property and Equipment      
Depreciation and amortization $ 11,434 $ 10,758 $ 10,982
XML 63 R49.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES - Lease Cost and Other Information (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
lease
Dec. 31, 2022
USD ($)
Leases    
Right-of-use assets $ 4,340 $ 7,558
Lease liability $ 4,914  
Number of financing leases | lease 0  
Number of additional operating or financing leases not yet commenced | lease 0  
Lease Cost    
Capitalized operating lease cost $ 3,384 4,074
Short-term lease cost 991 549
Total lease cost 4,375 4,623
Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:    
Operating cash flows $ 3,415 $ 4,099
Weighted-average remaining lease term - Capitalized operating leases (in years) 2 years 11 months 1 day 3 years 7 months 6 days
Weighted-average discount rate - Capitalized operating leases 4.04% 4.03%
Related Parties    
Lease Cost    
Capitalized operating lease cost $ 1,149 $ 1,253
Short-term lease cost 532 428
Total lease cost 1,681 1,681
Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:    
Operating cash flows $ 1,149 $ 1,253
Weighted-average remaining lease term - Capitalized operating leases (in years)   11 months 1 day
Weighted-average discount rate - Capitalized operating leases 3.92% 3.92%
Others    
Lease Cost    
Capitalized operating lease cost $ 2,235 $ 2,821
Short-term lease cost 459 121
Total lease cost 2,694 2,942
Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:    
Operating cash flows $ 2,266 $ 2,846
Weighted-average remaining lease term - Capitalized operating leases (in years) 2 years 11 months 1 day 4 years 10 days
Weighted-average discount rate - Capitalized operating leases 4.08% 4.05%
XML 64 R50.htm IDEA: XBRL DOCUMENT v3.24.0.1
LEASES - Future Lease Payments (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Future lease payments over the remaining term of capitalized operating leases    
2024 $ 1,886  
2025 1,813  
2026 1,120  
2027 237  
2028 161  
Total 5,217  
Imputed interest (303)  
Lease liability balance 4,914  
Right-of-use assets 4,340 $ 7,558
Long-term lease liability 3,181 4,994
Short-term lease liability $ 1,733 $ 3,170
Short-term lease liability, Statement of Financial Position Accrued expenses and other liabilities Accrued expenses and other liabilities
Related Parties    
Future lease payments over the remaining term of capitalized operating leases    
2024 $ 1,312  
2025 163  
2026 163  
2027 1  
Total 1,639  
Others    
Future lease payments over the remaining term of capitalized operating leases    
2024 574  
2025 1,650  
2026 957  
2027 236  
2028 161  
Total $ 3,578  
XML 65 R51.htm IDEA: XBRL DOCUMENT v3.24.0.1
ACCRUED EXPENSES AND OTHER LIABILITIES (Detail) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Accrued Expenses and Other Liabilities    
Customer and vendor deposits $ 24,414 $ 32,594
Sales taxes 6,144 2,816
Short-term lease liability 1,733 3,170
Other 11,552 15,228
Accrued expenses and other liabilities $ 43,843 $ 53,808
XML 66 R52.htm IDEA: XBRL DOCUMENT v3.24.0.1
BANK BORROWINGS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Subordinated Borrowing    
Line of credit, borrowing capacity $ 50,000 $ 50,000
Credit facility, expiration date Mar. 31, 2025  
Line of credit, maximum borrowing capacity $ 80,000  
Proceeds from short-term borrowings 88,198 36,463
Line of credit, outstanding borrowing 0 0
Line of credit, available for borrowing $ 50,000 $ 50,000
Maximum    
Subordinated Borrowing    
Debt ratio 2.0  
Prime Rate    
Subordinated Borrowing    
Debt instrument, interest rate 8.50%  
XML 67 R53.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Narrative (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
May 31, 2023
Nov. 30, 2022
May 31, 2022
May 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Stockholders' equity and share-based compensation                  
Preferred Stock, shares authorized 10,000 10,000              
Preferred Stock, par value $ 0.01 $ 0.01              
Preferred Stock, shares outstanding 0 0              
Repurchase of common stock, authorized amount         $ 25,000,000     $ 25,000,000 $ 30,000,000
Shares repurchased, value $ 5,446                
Aggregate shares repurchased 2,902 2,773              
2007 Stock Incentive Plan                  
Stockholders' equity and share-based compensation                  
Term of approved stock-based compensation plan 10 years                
2020 Stock Incentive Plan                  
Stockholders' equity and share-based compensation                  
Shares authorized for issuance under stock incentive plan       1,253          
Shares available for future grant 283                
1997 Employee Stock Purchase Plan                  
Stockholders' equity and share-based compensation                  
Purchase price under employee stock purchase plan as a percentage of price as of the last day of each six month offering period 95.00%                
Common stock reserved for issuance           1,303      
Share purchased under employee stock purchase plan 1,221                
Nonvested Stock Units                  
Stockholders' equity and share-based compensation                  
Granted 107                
Weighted-average grant-date fair values of nonvested stock awards granted $ 62.50 $ 53.50 $ 46.02            
Total fair values of nonvested stock awards that vested $ 9,700 $ 7,202 $ 5,529            
Unearned compensation cost $ 19,592                
Unrecognized compensation costs, weighted average period of recognition 3 years                
Aggregate intrinsic value $ 30,238                
Stock Equivalent Units (SEUs)                  
Stockholders' equity and share-based compensation                  
Vesting period 4 years                
Share repurchase program, aggregate                  
Stockholders' equity and share-based compensation                  
Repurchase of common stock, authorized amount $ 80,000,000                
Number of share repurchased 129 0 0            
Shares repurchased, value $ 5,446                
Excise tax rate on certain stock repurchases 1.00%                
Aggregate shares repurchased 2,728                
Aggregate number of shares repurchased $ 47,700                
Maximum | 2007 Stock Incentive Plan                  
Stockholders' equity and share-based compensation                  
Shares authorized for issuance under stock incentive plan             1,900    
Maximum | Nonvested Stock Units                  
Stockholders' equity and share-based compensation                  
Vesting period 4 years 4 years 4 years            
Maximum | Share repurchase program, aggregate                  
Stockholders' equity and share-based compensation                  
Approximate dollar value of shares that may yet be purchased $ 32,300,000                
XML 68 R54.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Dividend Payments (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dividends Payable [Line Items]      
Dividend per share   $ 0.34 $ 1.00
Record date   Dec. 05, 2022 Nov. 18, 2021
Payment date   Dec. 23, 2022 Dec. 03, 2021
Total dividend   $ 8,948 $ 26,224
Dividend 1      
Dividends Payable [Line Items]      
Dividend per share $ 0.08    
Declaration date Feb. 09, 2023    
Record date Feb. 21, 2023    
Payment date Mar. 10, 2023    
Total dividend $ 2,107    
Dividend 2      
Dividends Payable [Line Items]      
Dividend per share $ 0.08    
Declaration date May 04, 2023    
Record date May 16, 2023    
Payment date Jun. 02, 2023    
Total dividend $ 2,099    
Dividend 3      
Dividends Payable [Line Items]      
Dividend per share $ 0.08    
Declaration date Aug. 02, 2023    
Record date Aug. 15, 2023    
Payment date Sep. 01, 2023    
Total dividend $ 2,101    
Dividend 4      
Dividends Payable [Line Items]      
Dividend per share $ 0.08    
Declaration date Oct. 31, 2023    
Record date Nov. 14, 2023    
Payment date Dec. 01, 2023    
Total dividend $ 2,103    
XML 69 R55.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Components of Share-Based Compensation Recorded as Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Stockholders' Equity and Share-Based Compensation      
Pre-tax expense for nonvested units $ 7,022 $ 5,675 $ 4,231
Tax benefit (1,853) (1,512) (1,167)
Net effect on net income $ 5,169 $ 4,163 $ 3,064
XML 70 R56.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Nonvested Stock Award and Unit Activity (Details) - Nonvested Stock Units - $ / shares
shares in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Shares      
Nonvested shares beginning balance 535    
Granted 107    
Vested (172)    
Canceled (20)    
Nonvested shares ending balance 450 535  
Weighted-Average Grant Date Fair Value      
Nonvested shares beginning balance $ 42.44    
Granted 62.50 $ 53.50 $ 46.02
Vested 41.93    
Canceled 49.36    
Nonvested shares ending balance $ 47.09 $ 42.44  
XML 71 R57.htm IDEA: XBRL DOCUMENT v3.24.0.1
STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Stock Equivalent Units (Details)
$ in Thousands
Dec. 31, 2021
USD ($)
Stock Equivalent Units (SEUs)  
Stockholders' equity and share-based compensation  
Compensation expense $ 425
XML 72 R58.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Provision for Income Taxes (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Current:      
Federal $ 24,648 $ 25,483 $ 18,450
State 7,343 8,200 7,413
Total current 31,991 33,683 25,863
Deferred:      
Federal (1,845) (743) 655
State (303) (524) 98
Total deferred (2,148) (1,267) 753
Income tax provision $ 29,843 $ 32,416 $ 26,616
XML 73 R59.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Components of Deferred Taxes (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Deferred tax assets:    
Allowance for credit losses $ 965 $ 1,349
Inventory costs capitalized for tax purposes 127 227
Inventory valuation reserves 342 57
Sales return reserves 116 140
Deductible expenses, primarily employee-benefit related 6 79
Accrued compensation 1,304 2,249
Operating lease liability 1,251 2,084
Other 956 632
Capitalized research and development 1,542 598
Stock-based compensation 1,937 1,281
State tax loss carryforwards 941 1,151
State tax credit carryforwards 921  
Total gross deferred tax assets 10,408 9,847
Less: Valuation allowance (1,789) (1,064)
Net deferred tax assets 8,619 8,783
Deferred tax liabilities:    
Goodwill and other intangibles (14,227) (13,990)
Property and equipment (8,877) (10,572)
Right-of-use assets (1,106) (1,930)
Prepaid expenses (253) (261)
Total gross deferred tax liabilities. (24,463) (26,753)
Net deferred tax liability (15,844) (17,970)
Noncurrent deferred tax liability (15,844) (17,970)
Net deferred tax liability $ (15,844) $ (17,970)
XML 74 R60.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Additional Information (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Income Tax      
State net operating loss carryforwards $ 1,192    
Operating loss carryforwards, state tax benefits net of federal taxes 941 $ 1,151  
State net operating loss carryforward valuation allowance 868 1,064  
State tax credit and state tax loss carryforwards, valuation allowance 1,789 1,064  
New Hampshire Business Enterprise tax credits $ 921    
State tax credit carryforward period 10 years    
State tax credit valuation allowance $ 921    
Net change in the valuation allowance related to utilization and expiration of tax carryforwards 725 (110)  
Unrecognized income tax benefits, interest and penalties recognized $ 0 $ 0 $ 0
State Jurisdiction      
Income Tax      
Tax years remain open to examination 2019 2020 2021 2022    
Internal Revenue Service (IRS)      
Income Tax      
Tax years remain open to examination 2020 2021 2022    
Expire in 2024      
Income Tax      
State net operating loss carryforwards $ 2    
Expire in 2025      
Income Tax      
State net operating loss carryforwards 30    
Expire in 2026      
Income Tax      
State net operating loss carryforwards 63    
Expire in 2027      
Income Tax      
State net operating loss carryforwards 9    
Expire in 2028      
Income Tax      
State net operating loss carryforwards 5    
Expire beyond 2028      
Income Tax      
State net operating loss carryforwards 909    
New Hampshire Business Enterprise tax credits 921    
No Expiration      
Income Tax      
State net operating loss carryforwards $ 174    
Carryforward Period 1      
Income Tax      
State net operating loss carryforward period 3 years    
Carryforward Period 2      
Income Tax      
State net operating loss carryforward period 5 years    
Carryforward Period 3      
Income Tax      
State net operating loss carryforward period 15 years    
Carryforward Period 4      
Income Tax      
State net operating loss carryforward period 20 years    
XML 75 R61.htm IDEA: XBRL DOCUMENT v3.24.0.1
INCOME TAXES - Reconciliation of Income Tax Provision To Total Income Taxes At Statutory Federal Tax Rate (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Income Taxes      
Federal income taxes, at statutory tax rate $ 23,754 $ 25,543 $ 20,270
State income taxes, net of federal benefit 5,498 5,954 5,954
Nondeductible expenses 589 928 645
Other, net 2 (9) (253)
Income tax provision $ 29,843 $ 32,416 $ 26,616
XML 76 R62.htm IDEA: XBRL DOCUMENT v3.24.0.1
EMPLOYEE BENEFIT PLAN (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Compensation and Retirement      
Employer matching contributions to employee savings $ 6,873 $ 6,517 $ 5,951
Employer matching contributions to employee profit sharing plan $ 0 $ 0 $ 0
XML 77 R63.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT AND RELATED DISCLOSURES - Segment Information Applicable to Reportable Operating Segments (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
segment
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Segment Reporting Information      
Number of reportable segments | segment 3    
Number of operating segments | segment 3    
Net sales:      
Net sales $ 2,850,644 $ 3,124,996 $ 2,892,595
Operating income (loss):      
Operating income (loss) 103,153 120,552 96,517
Other expenses, net 9,961 1,083 5
Income before taxes 113,114 121,635 96,522
Depreciation and amortization:      
Depreciation and amortization 12,654 11,978 12,202
Total assets:      
Total assets 1,188,381 1,099,826  
Goodwill 73,602 73,602  
Enterprise Solutions      
Net sales:      
Net sales 1,201,131 1,324,362 1,249,459
Business Solutions      
Net sales:      
Net sales 1,075,599 1,245,310 1,098,496
Public Sector Solutions      
Net sales:      
Net sales 573,914 555,324 544,640
Operating Segments | Enterprise Solutions      
Net sales:      
Net sales 1,201,131 1,324,361 1,249,459
Operating income (loss):      
Operating income (loss) 39,216 53,477 74,653
Depreciation and amortization:      
Depreciation and amortization 1,452 1,992 2,408
Total assets:      
Total assets 704,577 660,374  
Goodwill 66,236 66,236  
Operating Segments | Business Solutions      
Net sales:      
Net sales 1,075,599 1,245,311 1,098,496
Operating income (loss):      
Operating income (loss) 76,150 79,475 43,783
Depreciation and amortization:      
Depreciation and amortization 628 661 655
Total assets:      
Total assets 502,739 445,698  
Goodwill 7,366 7,366  
Operating Segments | Public Sector Solutions      
Net sales:      
Net sales 573,914 555,324 544,640
Operating income (loss):      
Operating income (loss) 2,177 1,105 (4,928)
Depreciation and amortization:      
Depreciation and amortization 84 78 62
Total assets:      
Total assets 79,384 84,939  
Headquarters/Other      
Operating income (loss):      
Operating income (loss) (14,390) (13,505) (16,991)
Depreciation and amortization:      
Depreciation and amortization 10,490 9,247 $ 9,077
Total assets:      
Assets net of intercompany balance eliminations (98,319) (91,185)  
Intersegment Elimination      
Total assets:      
Total assets $ (35,522) $ (43,679)  
XML 78 R64.htm IDEA: XBRL DOCUMENT v3.24.0.1
SEGMENT INFORMATION - Concentration Risk (Details)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue Benchmark [Member] | Geographic Concentration Risk | Foreign | Maximum      
Segment Reporting Information      
Percentage of sales by segment 2.00% 2.00% 2.00%
XML 79 R65.htm IDEA: XBRL DOCUMENT v3.24.0.1
SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Valuation and Qualifying Accounts      
Beginning Balance $ 3,806    
Ending Balance 3,121 $ 3,806  
Allowance for Sales Returns      
Valuation and Qualifying Accounts      
Beginning Balance 3,806 4,218 $ 4,014
Charged to Costs and Expenses 34,477 35,161 32,635
Deductions/Write-Offs (35,162) (35,573) (32,431)
Ending Balance 3,121 3,806 4,218
Allowance for Credit Losses      
Valuation and Qualifying Accounts      
Beginning Balance 5,267 4,825 5,408
Charged to Costs and Expenses 1,847 3,252 3,307
Deductions/Write-Offs (3,326) (2,810) (3,890)
Ending Balance $ 3,788 $ 5,267 $ 4,825
XML 80 R66.htm IDEA: XBRL DOCUMENT v3.24.0.1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Pay vs Performance Disclosure      
Net Income (Loss) $ 83,271 $ 89,219 $ 69,906
XML 81 R67.htm IDEA: XBRL DOCUMENT v3.24.0.1
Insider Trading Arrangements
3 Months Ended
Dec. 31, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
EXCEL 83 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /"!9U@'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 " #P@6=8'P?NU^\ K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M:L,P#(=?9?B>*$[V!TSJ2\M.&PQ6V-C-V&IK&L?&UDCZ]DN\-F5L#["CI9\_ M?0*U.@CM([Y$'S"2Q70SNJY/0H<5.Q % 9#T 9U*Y93HI^;.1Z=H>L8]!*6/ M:H]05]4]."1E%"F8@458B$RV1@L=49&/9[S1"SY\QB[#C ;LT&%/"7C)@HU3K^2%70*N&*7R6_->K-]9+*NZMNB:HKJ85MSP>\$KS]FUQ]^5V'GC=W9 M?VQ\$90M_+H+^0502P,$% @ \(%G6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #P@6=8]GY@!)<' &,@ & 'AL+W=O*9\<=H0ZE +X$?1I>=C1#;C[U>Y&QH0*)3 MMJ6A_.:!\8 (N[[LF)W]BCMOO1')BM[H8DO6=$G%M^V"RZ5>KN)Z 0TCCX6(TX?+ MSMC\..D;24&ZQ7>//D<'GU%R*BO&'I.%F7O9,9(CHCYU1")!Y+\G:E/?3Y3D MEB[XM)^C=F_?H#?)"=.OYOEP=7?2$W'DB MT7-V.[K*=F15[,BTT"T+Q2:2>W&I6Q;HR:/.#]W:'_J5!2I.J'.*L'F"+,/" MB@.RX?(I79TBS=4>R^=#@+Q_W5(5 M-KC<-+I?5'S JK9\-(F5^ QR/H-F?,9A&!,?W=$MXT(%"M81/%;AM<&JMJ T MB95 #7-0PX8-B1/YG$N[PVI8L-8#\2,E+;"L+2U-8B5:9SFMLV:T%I1[+.G" M7"2?2,H[L$9IWZ]7=NQ@?5MHFL1*T,YS:.?@J>[Z^:GG4S2/@Q7E*ERPAF$8 M70N?6V9@R3-L)$%$ M>F,7W3'B*AF"$JT9:E(K,RRB@0D:YO\PM),E>>_>LV=E,*B1NZ6<>P%Q'I7@ MM 8!76IE<$44,&$S_RNXO-=;8L+V_88YL2XL-"R'/6R,R/,==2SI?)2VM\4"76IE6$1!, MV-W?>T)F _: 3.O=ZCU:4B?FLI4ID<%*-@L"Z5F6@CF/)^B-<6J8:$LX>B*^ M.LC#>JTY'B,]F$5\,&'?+S.\ZX5KM'P-5LQ7XH,%[/E?YC M*-V8O$%))'LV%\VB*%9W;36:A&<#(%SY M4J%&J0*65O.O2ZT,JS#_5B/S;\><)\-KV0ADVI5),QNKH<&*/ZFJRH:K6E,[ MAO.W"N=O-7+^LU!0GKU;3$8CR1ZCDAJL6$5-J_'7I5:F5AA_JY'Q3V]'9,NL MM&91^M[\ MGR\*X+K6M(Z1 :PB UBP?=_1N@XH7R==V>]206QD:@JV)%0W.%BP&IO6,*!+ MK8RM" ,6;.%G]O0.C6/7$XRCL1!4QO)T('+JD[62&JQ7]0H/+FL-[1C.WRJ< MOP4;]_S%U-0+2>AX,GRFPT#INFO.TS%P^5!PJEZSU^A7-SVMR4"76GER0I$, M<*.W",N-M+K0?5HC4PD+KFL]_^ 8L0 7L0 WB@6+>.5[CKPY&5$:#EBE]00. MK0EAIS9(U9+)8T^C@6E<])Y48 KCCQL9__)0Q')#Y &AK[&0W5F8I'0E+)V> MWMZI#0].SQKBH6EBG)_C#L0QW#\^F!4$>_6][9]Z43)L]I,2#KY:KY'K=DVK MBTTE$KTS@(YA_W%A_S%LU@\Z_8+;5*Y4>K(:L:II"'!9:V+'L/ZXL/ZXX;2@ M';'=-(YJ9K#<]*>2F%;+KTNM3*RP_+B1Y;RD;E90ZLPK34"U19"J]77I5;&5%A]#%OS MO1=7%7MJ)*Y8))*)1+L7GV M"XE;D@QE1,BG#[+4.#V3#R>>_>@@6Q!LFT[#7S$A6)!^W%#B4IYL(+]_8$SL M%Y(=Y#_]&/T+4$L#!!0 ( /"!9UB]I"G7008 : 8 >&PO=V]R M:W-H965T&ULK9EM4]LX$,>_BB;7N8>90/3@1PXR0P-W988K M3$/O7@M'$$]M*Y7D /?I3W*"G5BR0GM] W:R6OUWO=J?Y)P^\EH5><5N!9!U65+Q\IX5_.ELA$:O'WS*'Y?*?#"9GJ[H(YLS]7EU M*_3=I/6RR$M6R9Q70+"'L]$Y.ID1; 8T%G_G[$GN7 ,3RCWG7\S-U>)L!(TB M5K!,&1=4_UNS&2L*XTGK^+IU.FKG- -WKU^]_]$$KX.YIY+->/%/OE#+LU$R M @OV0.M"?>)/']@VH-#XRW@AF[_@:6L+1R"KI>+E=K!64.;5YC]]WB9B9P * M!@;@[0#\U@%D.X T@6Z4-6%=4$6GIX(_ 6&LM3=ST>2F&:VCR2OS&.=*Z&]S M/4Y-9S ?R"MPM M>2UIM9"G$Z5G-N,GV7:6]YM9\, L%RP[!@2- 8:8.(;/WCX<[P^?Z'C;H'$; M-&[\D:&@:R%8I<"YE$S)$U<\&P>!VX%96R=R13-V-M*+1S*Q9J/ISS^A"/[N MBNX'.=N+E;2Q$I_WZ8S*)=!/#63F@GVM\S4M=/#.I[AQ%3:N3 -83U$0I&%P M.EGOQN,PPS@EL#7;4QJT2@.OTOF2"W6DF"AUM:V95.60S(V?:'?^$&.">S*] MTWUGVL,VF- ;S'F6\5K+UZTN8SKE]P4;@XHI5SBA%4X$HX3TL^XP0Q G UF/ M6J&15^B53G6EN,B9'!08V?G& 8K3GD#;#,,D2K!;8-P*C \(S'C)@*+/;#>; M+IVQ)2 @0=)3Z9WM.ZLB:6-)O+'<"K:B^0*P9XUAJ>,Q"Y.K)1.ZUV]Z$FUZ MDBNZQ'X*$4S[1>^P0BD<*)*TU9UZ==]Q18LW2$SMR6&01*1?*;9=&I(X':@4 M!#N8P0/YU?L;H5Z:O)I>MS(]9+"NM]YV=811%/8KQF66HA@-J-U!+_*J;?9, M1_SAJ);,D]2MEUY9P[Y(VRH.=T+9U]B1$GGA-/V3\\537A1.8=B>DD2P7Y$' MS?:E=6!#?K)=58I6C[FOLVX][$Y- FP]7]LJB(*AU'4X0WZ>W33KVO-<'1B+ M4;_KNZQ@& Z(Z_"$_'S:K.CS87$V;1!*$I*@OCZ'(4S3!$<#$CLPH>A-N[3K MG-[G1:XTH9Q;->0%W+?NU7Z4M_V@.]@A/^W:?<.*O@QA#MFTV%(<= MT99#E=U1#/DQID6*FBV,1L$'>H/-(0P#NVLYS (XV%H[7B$_L%X5.D!;=.7D M%&ZS*2!)0/K";;.0)' @M;@C&/83;)^T![1B&TP$QVD4]L2Z['030?& VHY@ MV$^P"_; M-*%WK!WFS2G4IM.*$R"?K-SF<5I/+![P3OG/3_%/O+J-:5F@T!5 M7CV"@NGC_\$4V_ BR&J"#JL@38,!V1WAL)]P-V\I6&S3*\)68FTC-)C6CG#8 M3[A-L5X?T&<#C 1Q9('.94=(% [T MRA#H=>CLP5S[XL>;%@0OX"+O6N4+VX MS_Q>9'[SH?\'>=N/NJ,G]I_K9KPL>06:X,?@W3%$NET+H __M=XO(0C'$$(@ MEU28[E@K??C._V6+,<#I&$>X:9CZ$F$"L>6=7O#B3[S@]IOVNZS0:*I".N?@ M+W+Q3U+5L3F='>04RNLIU;3N%VE1%!"9Q?U?ILL-AG QUA8Z^V$_?3TQ1 M_9&&&Q65SKQ[U=E@C2.8I)9*VRY*(DB&T- 1&!\D<%W6!56L/>'R4E?ZTKP" M7K,M,9S2;;3:#=<[^?>^4NLH30Y06FAVU.(%2+.\3.EG7.IS)AZG<+MTQG%, MVN7U_Y8&L?%]%"*2]%>'RRX(TZ%G23K,$S_F-WW>U4>=.!L0SK:$S_M+2PUN7ZS?&R_W72>?%R&SI//9.?UO/EMY"\J'O-*Z@W( M@QX)CV/M0FQ^;MC<*+YJWMC?8ZFF?&.*@@-.*E&>F8YE>6:."37"H+JWY&' 2ID1"DN.1)GGF#]. M(6.[L6$;^QNW9)-*?<,,@P)O( +YLUAR-3-;EX3D0 5A%'%8CXV)?3[S=7U5 M\(O 3G3&2">Y8^Q>3RZ3L6%I(,@@EMH!J\L69I!EVDAA_&D\C?:56M@=[]V_ M5]E5ECLL8,:RWR21Z=CX8J $UKC,Y"W;74"39Z3]8I:)ZAOMZEK?-U!<"LGR M1JP(5+VI MU"H-H?I7C"173XG2R7!V:P:A@&4FPA 1-<89I#"C2O>W- M5IL-^\WT\CL7!8YA;*CU)8!OP0@_O+,]ZUM?TO]D=I#;;7.[S[FKW'FNEE0D M67Q_A@K,T19G)?1EKHW\RDCO$-O0&EAV8&Z[65XH.F 2/M;:T.M@V);^'-&^6'; .VIY1V_G)4*4_:RC)Q#.5\=SCE#[JFR]SNIVO"%5(N:T$T?KO<4Q'.]X\[V5HU.--9OL"]7S-F-Q/]#;>GMKA/U!+ P04 " #P@6=8SFH5(^4$ #1 M$P & 'AL+W=ON*Y9J61)RS#:W4/RO&2R+5)7]QQ893DM5& M9>$BS\-N2?+*F4WJ>P]\-F%;6>05?>! ;,N2\/^N:,%V4P\Y>UU#?< MV61#7NB"RA^;!ZZNW,Y+EI>T$CFK *>KJ7,)+U*8:(,:\7=.=^+@'&@JSXS] MU!*5S6A3:DXKCW]:ITSU3&QZ>OWO_5I-79)Z)H'-6 M_)-G-4?R MUB;BP #B 0/4&B#3(!@P\%L#_Z,&06L0U)EIJ-1Y2(DDLPEG.\ U6GG3)W4R M:VM%/Z_TNB\D5__FRD[.YO=WB_N_;M++I^L4+)[4X?;Z[FD![K^!F[OY_>TU M^ I^+%+PVY??@5@33@7(*_"T9EM!JDR<@2]'UQ-7JJ"T:W?9!G#5!( & H ( MW+)*K@6XKC*:'3MP%9N.$GJG=(5&/:9T>0Y\> :0AWQ+0/./FR.+>?IQI6\F%V) E MG3JJ5PC*7ZDS^_47B+T_;.DZI;/T1,Z.4AETJ0S&O,_N5!L5I*#6*FU,P]I4 M-\O7&8I##P?!Q'T]S$8?YT,4) D^QJ4V?PD*D[##'7$(.P[A*(+'3BOL5@V-C1>:C3_UL4SF1LZ,$)5V"DM$$-4T8 MK#@K@5)C>ME5Q[;E)>GE!7H^#'TC,Q88\L(0&*)W[ M>G7SFM09J*CUY6Q]'#T\P= @8D%!+S;HIA;40(N$!YH&?F1-GJG2Q11(\F8O MU-;+48#0A]!L^38<@M@WWT +3JT)&G@#(=K301^AHWCHAOF::\UMY8-ZS_^* MDC@P*\R&\U$ S1%F]8?Q4.N'>TD#1\=\/8CS0?'2&A^.SMA'4:^\++ $]>:7 M!8:3Q!OBL-<2,!C59=>$5ZHEJAFFNR$K2_414POD"RNG467R645V4F_IJ;P= M)W(O:."XHKDB(E]:<];818<3[1R:@\2*"LPBZ(/0.1YJEGL- \=%3)H76VE^ ML[3!8UOPH1F\#>6;ZL6"4M$/=H'1: 4OFL^YK5 ?%NH;3M7P9BOK\:4% M)OUH>O-D_:BXDV]0[*L], M2E;6IVM*,LHU0/V_8DR^7^@'=+MXL_\!4$L#!!0 ( /"!9UB+KA";) , M D* 8 >&PO=V]R:W-H965T&ULK59M;]HP$/XK5E9- MK=0VD$ H'40JA*I(Y45 N\\F.4C4Q&:V@6Z_?N<$,J !,8DO<>S<\]CW^"YW MC347'S($4.0SB9EL&J%2BT?3E'X("97W? $,O\RX2*C"J9B;,-W&@LYA M#.IM,10X,W.6($J R8@S(F#6-)[*CUY-VZ<&[Q&LYQ3)]DG=G6Z@;QEU+Q9 /&$R01RT;ZN=%A!U!VC@"L M#< Z!%2. .P-P#X74-D *JDRF2NI#AY5U&T(OB9"6R.;?DG%3-'H?L3TM8^5 MP*\1XI3;'O3'@]>N]S3I>&0\P:'7Z4_&9/!,!I.7SHBT![WAJ//2Z8^[[QW2 M[>.\0^[(V]@CUU,HH H",E8X8,XI208S,E A"-+F">9[J!-Q!:3+?)Y T35DVU2* MM]$_ET>YH#XT#623(%9@N-^_E9W2CR()+TGF78AL3]Y*+F_E%+O;QQ]KIAFY M?N52WA1)EU%44PK]&UVY#[95P]M=[6I28%6WRO5]*^^KE5.OEYS<:L^+:NY% M]6209)'@[T5"=#02JI>,A$N2>1B&Q/QEHN8^VDC.TS@[!6D%-VU3J0I<"J(*>^6A7EE+E3)!,0\[39D)@U M2Z:RZI*OYOW,4UK&#]9;V.=D;&PO=V]R:W-H965T&UL?51M;]HP$/XK MIZR:.JEM(-!NZB!2@51%&B\BM/MLDH-8=>S,-M#MU^_L0,:DEB^QS[Y[[GDN M=^[ME7XU!:*%MU)(TP\*:ZO[,#19@24S-ZI"23=KI4MFR=2;T%0:6>Z#2A%& MK=9=6#(N@[CGS^8Z[JFM%5SB7(/9EB73OPX<7CGMSL@>G9*74JS/&>3]H.4(H M,+,.@=&RPR$*X8"(QJ\#9M"D=(&G^R/ZH]=.6E;,X%")GSRW13_X%D".:[85 M=J'V3WC0<^OP,B6,_\+^X-L*(-L:J\I#,#$HN:Q7]G:HPTE %'T0$!T"(L^[ M3N19CIAE<4^K/6CG36ANXZ7Z:"+'I?LIJ=5TRRG.QL/9=)1,TV0$M$MG/\:C MAR49Z9*623)=IC![A-GR*5F0PV2^2)[(>_R2P'A*=@*7CRBEIE. YLYA#:FFA7K4&9FN8 M43TT#%5)FXIEV \(S:#>81!__M2^:WT_ M(Z+;B.B>0X^?)4VRX'](PH8FV( ;E!WC@JT$7M/,7QLFD/[I#HWU^J[ LK?W M9-2);GTB]Q3LXNLHZH6[4W;A2:.6J#=^' UD:BMMW;/-:3/Q#W6C_W.OGXL) MTQM'6.":0ELW7RFSKD>P-JRJ?-NOE*4A\MN"7BW4SH'NUTK9H^$2-.]@_!=0 M2P,$% @ \(%G6$T_$7=U" ($@ !@ !X;"]W;W)K_Q,:1OI*>[X- 'V1?/!?EIVI-:8T^;[*\NIRLZWK[ M>C:K5FNZB:M7Q9;F[#\/1;F):W98/LZJ;4GCI*VTR6;$,.S9)D[SR=5%^]EM M>751[.HLS>EMB:K=9A.77][2K'B^G.#)UP_NTL=UW7PPN[K8QH]T2>L/V]N2 M'B^-0<7">7$Z/I M$:U.O+ MB3M!"7V(=UE]5SS_1KL!68W>JLBJ]B]Z[LH:$[3:576QZ2JS'FS2?/\:?^X" M<50!FRNXI!5*Z4VPV M+$&7=;'ZI*B]T-=^DR1ID^!QAF[C-)E>YV@1;],ZSA1:OE[KCM;L1*8)"N(R M3_-'U6""@>ZL5KO-+HMKIG)3KVF)V/#8A+%NSN0GBJ[S5;&A"MU0KWO/YIQJ M5WY!R]8"A4 T(%!((9FQO#DD#SDD#VEUYB=TWL99G*\HBFODT]4K9.*7B!C$ M4/F^5[):I69^?+HBKGSIV5RZ#L>=ZF"_FR\4LFQCNG"\6:/O>3/&OJVV\ MHI<39DE%RRUM'_W# M;:W!=[2JRW35W%94C==HEZ=UA9[8QS11N6O+UU7A&F#+62T:INW36,,@Q4)( ML0A(C#/6.1CK?+NQQ[.[RF1'LM E@LO:UL=.T9!B :18""D6 8EQ^> >\L'5 MS^3[R_IS6J_7-$O00U&B.O[,/MJRY0UB4_H^3>+GN%2OMK3Z8^=U5S%).+9P M"^Q#-AE BH608M%0,#C#O8/AGM9P/WU*$YHG**&K+"[;R[;*5JW*6%LAQ7Q/ M<7MD$R*NS2#;#"'%HL$!<,9BH^HVQQH*J^9W: M<61LSS-LP5G01D-0M6AP"+RW1PP-?PL'P4J+L0Q"/$.X4'>%CCN*"3$MX33R M%>5LPW)LR11M_T>;(@]!"4-4O7/)_&BQQ,>[QT[X/.ZD6>^J8T]D(.(9Q!*C M#TF.?%"U %0M!%6+H-3XK.@A&3Z/DHWB(NH\@61%"U U'U0M %4+L0P<57 $ MJE$^3WI\AO7\[%OXB%YR=$;($,FR'4N:[H-B1:\D'5 M E"U$%0M@E+C\Z+':%C/T;Z?F^@;&#W?RVQNRI:4TMT\*%(#50M!U:+!@/#& M][P,ZX'9N?Q$+S/:7D@U'RO(DNO-77%)!XK&0-6BP2'P]O9T#.OQV'D,!12. M@:KY6*9+KD>P)WH+BL= U:+!(? [27H^1O1\[ 1#(4LUW;$&E&H.__Z/TD\A#4&TKDCEU7U:[-@.*AH1Z;PTWP+D]HB8+--BN^4+K?>HEN M=^5J'5<4W;*T468!*"(C,CC"AK@]T =M,P!5"T'5HD[-.A4//@=Z\D7TY.L[ MH^@U1GL+BOE,F9&Y)G&PZ"THOP-5BP:'P'M[]$U1/>;; M?\]XQ7W/.&V]?HERYCN;\]F-G=)P4*('JN:#J@6F3-=<(7="T!8C4^:;[BFK M>YIGZFG>B2=FIM+*)F?1%8+D0-@W7$19YOJ*<8QNNN'LF4)23XRR7F5K8 M=$4LKM*:&R>_<&'V=,O4TZTSGH.I(RHS&.(16^0?^M9'GP>@B M4+015BP;# MR]O=,RY3S[B^Z3F8.@$@R= "5,T'50M U4)3100]@X@G_%"Q?0+,CG[ZI/GM MG#_B\C'-*Y31!U;/>.6P/"KW/T>S/ZB+;?MK*!^+NBXV[=LUC1-:-@78_Q^* MHOYZT/S RN%'@:[^ U!+ P04 " #P@6=83F+Z7N8F!K+1 M!@VPFP3K[>UG1:9C=F71E>0\^NM+2HIDD2/&*72_))(\'/$<#H>'(YX]B>)' MN6&L0L_;+"_/9YNJVIW.YV6Z8=ND_"AV+)>_K$6Q32IY6SS,RUW!DE7=:)O- MB>/X\VW"\]GBK'YV5RS.Q+[*>,[N"E3NM]ND>/G$,O%T/L.SUP??^,.F4@_F MB[-=\L"6K/I]=U?(NWGG9<6W+"^YR%'!UN>S"WP:NT0UJ"W^Q]E3>7"-%)1[ M(7ZHF^O5^K]J@8OP=PG M);L4V1]\56W.9^$,K=@ZV6?5-_'T&VL!>6EMGAM)]68EMVUCV M8,OSYG_RW!)QT #[(PU(VX#H#=R1!K1M0(]MX+8-W)J9!DK-0YQ4R>*L$$^H M4-;2F[JHR:Q;2_@\5^.^K KY*Y?MJL7E[2K\FQ>R3XH3_.T?=^G MYGUDY'V8H*\BKS8E^IROV&KH8"X[WR$@KP@^$:O'F*4?$<6_(N(0"G3H\OCF M!&@>']\<6]#0;CQH[8^.C4=2;M"5G(TEVA7BD4N.T/T+^K OY07/?T&W.U8D M%<\?T(6:,KSBK#R%QJ%YCPN_1Z63TW*7I.Q\)O-%R8I'-EO\YR?L._^%.)S2 M63R1LP&_;L>O:_.^N)&IE.>IV#*(LZ:M5[=5&?-Q$5(2R'%]/"0#L(H(CH96 ML6GE1Y'C=U:#[GM=]SUK>%RL_I0Y0>;=JD25D(DW%7G*,X;R#I=ZKNY2%4F' M,22ZR$GLD>--&3E3.HLG?_9H(GSPQ<>B/CY2<$ MNUHL70)6F#IZQ)E6@4=A'-CIQ89CC[B#*8/$&JUXF8I]7B%Y6V[D;R<5*[82 MYR-K Q-4& Z P#/&R]Z7]Z:>J;P-F3N0:=C*W!3Y \RX4A=V6"H MDVO&DWN>C:]1K=.)%JE)O<53>1L2VBM(;!50BXNTGE,JA:>,/R;W&9CS6B^# M$?>B2(\+T^K$=QQ'#PW #%,M&&K,%G<%6R7\-7K"M1$N*@VK)!;/)G990*T3%_/ M[%7HN8Z.$3##8>CJ&$TS[)*1!0KWV@C;Q=%M#287^08D& II0YP3B(]-T0:.<&5-=Z@!T. C*B]G OCK!='=T< MN]MU$G&.K FTA %W7&NF(.@"9 M4@9=3NHMGLK;D-9>5!&[J+K;%^DF4;-"RJCC]2RO/=]MZSPO\TF:['B59/QO&9JE6%=/20'FS/8- ^(B+_)T MVB S)]"7:\@,.W1L5TQZ 47L NJN$"ECJQ*M"[%%4F6S 600V:35MDF]Q<34 M9GXTPE$OS(A=F TYROB:R5E3[HLD3^&AM[I[-T%3>HN)J?OD='9&*.I5'[&K MOFYA>DW9O$O9]D6)0%+.=P[K/2T-@"$T42 %&="1W3SI11_QW[LJ7?%<1L Q MJY)53[X['J;T%D_E;4AKKSZ)77UJZ:=?ENY%(9U)27 M$J0-%Y 8"M0+0Q?K.VC0+-++IS%D1MW#RLD02Z]&J5V-7I?E7BV?=_T.;TEZ;TC>T M:3OZBCH9"87(LJ9*7A>6QSX(5)M"[!\V[91"3[S:;%BV CD%M"9UL*Y<(3-" M7+T( YGAP!_9"M.#;\=VX6HHCG6W'-L5!X7*=UY ],0)VF&LYY@8LJ,^]4>* MQ;27G?2M>F"J$J$2FPW29OLA+Y0\?Y12?2P'F!I/?4#3]_F &79]HI<[(3/B M>R.%)]I+1FJ7C)=CD'Y%]^R!Y[D:2AGC+RPI0)1 =8^0B!JI#K!S0JJGQ!BP MB[QQG+URI/9RH06G2N9J%K.""W@J M]"7=7Z1->5E_WU7K5B?Y=J^5%Q :4'(TIL*D MDF\J;\/S.[WD<^VUT.5^M\N86N[EP'=;4#G)FD.0!X<*T#J0Q7(GZDJ7>S[ND( S"CU0[TDT9H=GHXBT M.VM[49\PU9Y_PJ=QN:2>.+D;NY'BH0D-!2A J05WU]_S^X"(*@/Q^]= M>^\OB24"B\5B/YY=+/7SVMBO;J%4FWU;UHW[Y6#1MJL73Y^Z#\4'XXI.>+UKZXNFKGU?%7-VH]LOJVN+3TTBETDO5.&V:S*K9 M+P<7XQ>O3V@\#_B[5FN7_)W13J;&?*4/5]4O!R-B2-6J;(E"@?]NU:6J:R($ M-O[P- _BDC0Q_3M0?\=[QUZFA5.7IOZ'KMK%+P=G!UFE9D57MY_,^C?E]_., MZ)6F=OQOMI:Q)\<'6=FYUBS]9'"PU(W\7WSS^^KFR_OW%Y_^F7U\E]U<_?KA MZMW5Y<6'S]G%Y>7'+Q\^7WWX-;O^^+>KRZNW-S\_;;$>S7I:>MJOA?9D#^WQ M)'MOFG;ALK=-I:HA@:=@-'(["=R^GMQ+\8TJC[+C<9Y-1I/C>^@=Q]T?,[WC M?;L75GHY3VC4?9K;:9%G=V8NJ-Q+KNVYE97RF;M MHF@SIY>K&IM1#I]5IAMQ.V2_K2H7C:G-_"[/C,VN/N?>/C!7?5LIJU53JCR; M=[JB_=/\,C*4356[5JK)5LJL:I453950/,H^8_2E6:Z*YHXV-'[^TL&X*TBU M515\!XL5AM? 4UF7K0K;-EAXK=M%9 ,\&TQR.(\<_Z]J U9I(=>M5A "!K9T M-(>JFBML(%/-K;:F@8]K7=:YP'6--5V;+0I;K0N++3DS:^4OI@95TJ5R Z:S MEZJ:L.Y9A M">)=BWVZ.]>J)>97<#)9"8;IRYYLX) 9I+-8+93%.:L_.KVB_>59@P. @_9D MEUU#LI79-,F "TN[J+H2TJ"O('7EG+&B#=".-MUO9\L%W+&3+>%DNAERX^Q*ZAW48.QCW9>-/I?HKZZ@:0-S,"DW^*[J:+@IBRMB(^%:/[. MI5*"; 2?;S[N5ET\$%UIH4N'9G8(FH?0V93N%0YQ;H4/&OLFR(R^N)0C9OV^ M K'ST6C\8C(:/\/AVY8LU-L/[Q=V-M/SSA.KBRD4;T9VV52'K3E4B=9BLS7; ME%>\8"\#$G)DY L4*8^0W=#EH?H7M3.I#9#F6K4@]'"K,K*^&?RA(2)BQ E' MK+/6S*!L((SM#"S,J60D-!S:34X)!*9WJ>Y$V6. ([]3,V$>I&UU2"XCFJEU MN\]-W.,-!0L1(9D+-@%]=(1OZHJ-NS2W,"_8-SC9R<,2H$0W+#^&"*-1ZOMA)W%LRR5(WA^P9$8FB:>'+C/C+QL]&F3S5 M),L0*-)C [BTY.V2]:Q2_FMBTJDYN\<7?_ZWG6NNRG"=7:#CS1Z[V(S59%CS<6RQ4YJ0S8X)YES+.$O%?QH.'_= MN%:W"<5P#+ )H'*BRY':]:!BU[F[!&@4/=!8>:#1']$U]*O4*_*!((5=0J]T M)5:<+E_&)Q#8#/J*661^M#4)BA**%+/CEV2:N\ &NPP\=MW4 0(4I'40$,X& M$]8+72[8?M<+;/KNT*SAU8_8"=K2:V.+H.F*4N3$QEO4X,D;/BQG239%P:!) M>,?H7KF_. ZZ;R'P)2LVAA+SUU;! 41']BYN]J;?;"J:U7#\'N&PUX0STO L M[*K38^D/8:X:4IKZCD/JRN^ V/K2:/K$3+!@+V 0.&%X:41NU6?4NV=TS("O@TTH)Y-@@O#*%V:4<*XU%W 82$7<';C!5^2>U M+J:ZUJWV5!]*PJI;U70"3 @F-@09JLX&L$5@Q4 1WO?[G#*L(%4:;N3WKA)G ME)EF"YX6MX5&X"-H*?O#3%GU%IIH.N<12"J-*50*[%41!A0('$RC:P02PT:T M+;LE3KWA@/3Z+H,*=H0%$^:@G=#ZWUFT@!"$-K 6[:5"B%>LDEU#D1MI>@NX M>P&( V6"C! H''GIFB3'0=M#1'/?0?8*_\G+]Y,J#=S#P,;#,TU1GQ^39^Q6 M)#XR-5H-G$&)6VO83!&,EO#-50\$X0UC^,7>>J>M";7XDQ=X"!A%R;X+T-]1 MH/4X*XDYI 4\RA!7BO !:*EO@)--#*FT^UT\#%$'1Q,GV(YW4UE+V MO\2%,K)V>UE@2K.NGNFZ)A,6JW'%DN :R+*+@@UMX+P0!'BC.'_+B0[;+?.O M*7$"\14AK:(.(!XNDL>PK1,-A V HRD=XG!'_1F;*9DGJ1O(8WMKJ]N64E:? MZF1%!\6T/@'PB0^YJ=XH6"J9@X(+1/?FT>L:R3D=@"A!.Q"5(XX9*+#!I[(] MVF/+_M3\,F)9T9]YD9 @ 1G9GU.0+;XIUS^3720(M==^DC#"$):O*3-;DC28 M=@]UZ(!%**W>-,Y>L+JY->Q 2#PDL-[P$E\-_MQ"KU90Y#Q:E:4\N&:@;WGS MC6$!)E#(QV:?+L,66'?9\CG.:E:L*,K$=UZ2 5(%A]-%6O)27'3VD6,%/7=; MHQV/]BN$.@EO$ S($ YLLD?*A2T%!K6D@H3RI8\D)0F3>@?D9Y2\/.E.47XM MYBP7W4QQU)(;FZZ5#S/+Q<\\9%*WVHF"DK@;Z TP+:DW )-RI91IBNIWG+GW M6!2SV:QSG/.4 DZ:M(- 17I-6-6'P2B3PBU$T)3!.R#8)]P_3PF7Q.YGRG2C=G8B\PI[$25@D M6!19+6N9%(<"4&^^.A^Z$\U.)C T5-/P<0#U/3$^7$I>$.^O_9ES1-E2G L//(F+Z0XCXD/SN,,+$T1N$7.H]&)5@;=@G]![. M72*%@(INZ$2(!=*^.U78Z$9BR=9GHYG!(ZKI(0+22%B VXF[TA!;0>G>?G9V)=C\;YZ-EI+.S1(3BJHV+]AYOCU7_'T9HT*GJK M1^,!-WN8&2=.(&#T3QQC.&_9>F;[9Z3U_=FW T0CR+('D D&N(RHEZLSI&1% M !1B;]XIKK')A7CQ#;P7L3WDI%:Q$CZX9Y#LA7+^N6'C$:)^O9#*#6$X6R4# M'!?&4_$HNC"LX\,;4(=C=,0>/]QGR9R>;^3]89[4/21M]T[-KT#1VSD^P:&_ M72/# C9OJ0SOQTI]@:MER&$JCJB>(=(&QC#+XH[+0*1'18VO*7.%K4$'$/?# MN(&0PZ14?GV5# =;:4E" M=5-ABA_AD8FO*J>+Y(&@%)4\ (56-F:I2\142,_Y3,_3EM#B]9$3?N JJ7#) M[8!4%&(-,'"2;VU".]X MPRUNXGJ,%)'Z>@;L$\RL.=MS,-D:#H_V #7']I =E_#&W[23NHM,Q[GJ6UU1 M-(W3AR6G6%-P(?4N$V\AE\A#QD4C_#W8#.Z/4&1!NA,"+05T[BI(9$M5JWYW M9#"I*9+L*'WM4W-?C;!%-9S'=7)??3"S65!@KU?X)$DZOKOCL952="'6-9ZN M9KI4$J2[)LF.VJU55G0TIG/U7:\F:2CP^BMY2AJX):,DNKN^>TS)'%R!1L0' MRC#0R2=23VCE,E\RV^RQKS2D*17MQ19.HN^Z-##N3SQ 9PK D[)=549%YS@!NX50_H>J]" MPPBV457 QS;)HPG\.0P#:+N-%8L&SJ&0*G3,NY.X7-W2W2V[5RDMT)R_2W9] M.:A6A2GRT('E6W\)X_63\B.N R0TN<-*=DE\1AU),2*=I1O,&I3)R*HA0)_Q M#Q[EX<:8(YDO^8J_)D,@AQ-MRRJ]G';6#=":9)V^)!@LDF7%A8Z<3@[*3BEP ML"A*C%FXOI;D _N2E*NU' [E=N_7GXKEZN5%'J\8C@;2WBQ&2WW8VR)\ERDU MJZ;#:T@U^*YCK;>@!VOTXM@CM\-$][D_ROXH,GO0ZP'7D"!#K MOZ(#Z>^M$)*5(X"(X)8,N45V0]TD7(DVH9//5)N\RN$:ZY]PMYER 9['2K50: M>KW\!R$*#YC)0:1WJPSCJ-T/MK;==;>$K&)=PF,+I<-?DVRHY48A&X=.$ MGKBDB(A%?=8?#65C">B-6F !/>!!_@9:*3Z8_O;XIOYO?= MP/9=0S4-[&]D<_:HDB)XW[*9]^=4)$<4TE [8I80'DF,]2'=)!R_"">LL5S2 MA48L:&_V$PI8WV0M[6:8IJF]QS+#:P%_7C(UU,7Y"C>@^]C-L#E]Y]0ACS'7 MZQ4D]&0)PI([ X: J3N<&FO-.I=>KR)F2\10[MFFE#FF+C0G7F7Z,H:/'<)? MY15.\B$HY\9E>QVN[Z4TTY+19 M=0VM+'$Z[(/P&DN!;XNIJ[)S@O\^??R2I\TJ"?+:/F]_TH.Z)!VFPS8JBJA< MTQ9[3$R(@EU&J),7IYYMR3:/LE^1XO $6EI@R16 ;C.G-"R[$+9VW'\E5? X MVF^"H9.@H\?C)YQ$T0H)7"%AI#TG20Q^F3V>/)'$F&("E8L-Y3!94RQ3Q".I M,UU5Z58=UGP;MO0AA\?/PG?^CCD";CT6MMO)I97:LV07Y)2XLL#SCB MPQYIQT*O!K?2TG[A5Z1SN56AWIB"C=YK?4 PR4ZHT;6T>AHN/9JF&X07GV)* M:^Y6MW-'2L@.E)64.K^*NB1 %"S?2K*=]!_,4[5 9GBX6TH^Y>+&BX0=;D'7 M+FEW!4L"UBE4#WJH$*VL]+T5PA_,DEQ&X8.M5&PV(ZXOCZ7WDGP!4>NOBLT; MT^GT&8JK73F/K]41&QUTB/JID!!SE3#$+*D?I^U*FV+:*95@!SJ)&Z8!5^L$ M0; OX*W94+6B$LM#XX%];2_2OX7@;_02NT[K4Y59-WXC?,468TJO+(Y!RX[3_8OQ MRJ5IZ%6)<"I[OB:WY$O/VGT-UYF\#7\'7ZD=M4LO6+I6H*2H4^$TI=&YZ9C' MQ.Z](::>W-L\]OLIN[IE'?P+2%S2=O"? XRC/21YL=<7V- M#S8\&?^89^/S'V7^F#ZE:6R^[[)8-KC:XMIO].A/VM ;ZL:0CN;[-G$,MB>3 ML(EG?\XF)O\?FS@.FYC\.9L8L^[Z%WZ@P51:#34A_Y9"E=QULQK_1R>^K=HI M7O7=O8*C&4%0659B1/_"&E+DI4HO8N'GZ=Z'+V*2%M'_ZR'L-(N\/Q?&K?P* MQLSW:=[Z6N]4\9UQU_0MS13(**].;@$=8GXH4,>!6[;MTA>S^$YL#U^_77NN MALH3B[L4%P:JPQH_/K[7B,'B@XUVF]/(4B*S/=P3"W]3C;DU]W%\$C@>3WJV M'\;GY'_))TN6F1T'/D*TQE-TE391KMV%R:+?& MFL'86+I\0%/(<;967/P+I97DY3_._FY-C=A Q8&^X$[].%"!!;+A/[K"\FN( MQG[%O!J7MOHAWME/)RR8]6VD50'^W58F*5N!A2Z;#*$,W!P+? MZUB5Y(.KI$E!WO)(3W1X2P>*)])"R3?]1_OJWU(4NT\UZ":;3KMP_KTRESWF M79K.8:Q[\F)++_^J__])Y_=V6R4WQ[&*,G@G+Y*]#2W2+KY\U=O&HVR2GXQ/ MD\_^=>D=W^RVKLGS\8"#=&[X_)D=W_=L,.7I].SY@WC:U??V0%W]?EO=/EWE MO.K1,50LL7QO06I;VHF1!G;?%I:JFRZ[!MF;!5E;>/2Z<+JD=B09L)*NP"4U M#/$X[<)%1)6\7;_F7G6*>OX=VCY3XFF.^MJY*PHSCK(WNF8"@V7^-/K#-GAI M$NHOJOWXHI7WL@,4:PSWZO&%GRF_>I1\$7Y_ED?)Y\<7J>GX]ZC_5&42];\]>PF!!G M79YN&Z<;6._D-)\DKHL^/C]//X[/$]:]ZD9T-$O;M'Y\\4N/K _\N.C\?/!QY-1&BV. M3I\/98KM#B8_&WP\?CZ<_&QK_7?_6=O X'4 77&=%VZ"WY;DI#1QD;O='>7R M V\7.]4W/-8]IXI,MZ#KZK[4B/G+]+YK47 5F^YG#ZNA#@YJR@*_KJAIKTI> M[DY^CN?&]]FF/6O9^P*)#8ED)"+YSLS7AAIU'[^[N'G]1#H$J]T#OZRX^>;Q MQ9.^*DF)^E!WQ])9W MR^%]-P$,[?G^%"KR\7>: #T69DT@/<_ #W]U.#I] #LOH$GTPRA%?'WCIFNH MEOV&QN.K.#25Z0=S*]K7_[H+"2S*2U@X/AP]S[,;WP<=BCV-O ]+LZYCD.>_3._&.D9>'ZRBX%^Y&#A7;\G M]33Y33#$I3G_\IF3W^.0GP>+W\8?5[N0WQ3KA\LOLT%+Y_2J1JUFF#HZ>O[L M0*Y PX?6K/@7QJ:F;&UL MS5MKD]O&L?TKJ,VME%T%[^+%!VQ)5=)*J3@5.RJOG=3]. 2&Y$0@@&" 73&_ M/J=[!L!@ 7+MZR377Z3EP"^>JJ:3_HH9>M]/A6E?GUS;-OZZ[L[ MG1WE2>C;JI8EOME7S4FT^-@<[G3=2)'SHE-Q%P7!^NXD5'GSYA6/?6S>O*JZ MME"E_-AXNCN=1'-^)XOJZ?5->-,/_* .QY8&[MZ\JL5!/LCVI_IC@T]WPRZY M.LE2JZKT&KE_??,V_/I=0O-YPE^5?-+.WQYILJNJ3_3AV_SU34 "R4)F+>T@ M\-^CO)=%01M!C'_8/6^&(VFA^W>_^Q]8=^BR$UK>5\7?5-X>7]]L;[Q<[D57 MM#]43W^45I\5[9=5A>9_O2QE.]%*]Z\:JHGKZ'9V(W^8%5Y-813)3GEH6WPK<*Z]LT/'_[ZX?N? M/KRZ:[$9#=UE=N$[LS"ZL#",O.^JLCUJ[T.9RWRZP1VD&$2)>E'>15=W?"^S M6R\.?2\*HOC*?O&@6LS[Q9=4DX^R[.22:F9ALKR0XN!K78M,OKX!T+5L'N7- MF]__+EP'WUP1*QG$2J[M?DVLZPNC6\]ZR_O][[91$'_C?2_:KI%>M?<^-E7> M9:WV1)E[#Q!995(/\[[]T:O[">VY5IDHBC-BBM4K6T]XN=*M*K/6JV7#H5YF MV'=7J(.@Z/%YW\:([BF-/[/J4*I_RMP3K=<>I5=7"CNITFL1M-[3499>!H T M@#3FMXTH]5XV#1:T%2\PZ)8-YJKL2),.LI0-B];5B-A<%HC8YOQ\P:WW(S[= M5Z=:E.=1$CW()[21J(%&JA8%2X4!%D(8.GA2[7$JQA?J5M[Z'E&%=V@JK2G< ME?[2I_U4VVO3[\WFI#.JA@2\)"P;+I<-OC0K(6Y9G53F[:#M7L$C^Z8Z\5=: M%%)/I#Q@F9'=JDL>#3??Z,&V%0X=#X,XF2H/MX/G74OE%78OJW8TV6 QN-P[ M5%5.(@J:0'Q.9B/YZN-9$V3@8JVE9C[>22R14TV/UNYBIPK5LB5RA;,,/CI- M0#5 JG8M[:^[G6Y%V2KV.?XA)--<]"1 M)'2LR@%VM5<$6G@7&:D\T"'/7&9D9 0[EF?URLK5CE1RP6"18'0&8OC8"C,: M![N]9_Z,""UA3A:Y*K]"+)X4-M35OGTBA;#K(R1^%BL$6^$UE&Q8;O%)NGZQ M!NPWN?7N[4J-K''VZJ[)H(>D,*]EV\%(12\'Q(!Y< ;BN&+?9(VJ"8:ZMY"= MFSO[NP!3RW&G)Y&G+97,HI;L0,L=6]CSKE",JRR=?Q*PF'@4JA"[0BX&(P]4 M)U06F3P1^UF;0?73<_L-$E3->%X#3#X1O&C!3@)"FCE"U#6FT[FCEU$Z>)EL M&.YSQ8SSM[9XV*XV" 98H0LUL#B!]:/G-)4W<'077M43?Y5 M+1J<9SG+\:='<=?*DNC?M\1L<:C'25V=BU8:1QIXZZZNJZ;UM,T\M\O$@-KY3M2$P% M-,^A@X9=,6@H^S(^B;JP=UX9[(U S#)9MP/NC"UAF5R9&+$9RVX_.A,!751= M/J9SP #U1S9$N:6E(P1T_3H8FZT/>U#HP\RJRIE34*\3EQ ;7F838_Z1FG*3 M+%VJ,#GS@OOE9]ED!/_G$- CK7OL EN_V'!M3+)1-/"K_9M-[?=;>>/> MC,9Q%IT^1)'VLQ-4T%N.]2.QK&+H7WK/2R,DHB/\JQ-=C%0,I'N>[ON MX.W59^N3HRQJA*W^U >^?X4+)K7?@,,.74-3G EP/20M'F^]ORQH9Q1#,Y@S M8;U0KVKC(%T5^5CI+9.<+5IZU*!A-"4>#E>MA/.T!%O""L7Y17SU"+)I9^G M_KPK, :?9Z+C\U^B3N#@4)$-%X^R'D#?T!?&((NLEW!QR<\M[9=*TO]P*-@H M?7YJ(9J#4V 9I%3[/<.$;<1P[$KB]-W92LGH'JJAY^G>B.G:A>%JZB.4-Y1@ M#XTTDOI$61_>0N*?>!+^])^)XP 7Q^XX1%$K()?;@FZH'(:"HY'_Z%!(F@3> MET;XIB-OGZ5 E=K(@VAR&([)"IK =GVIIB LCJC.4O*MA5L(LD1',EO.A%J6 M'1?+G?RJJ[V]M#QI][,>*KO3#LKA(" 3FPP0)%ENO;^1&B<0IU'_,CP0F:IP M2_.C4^;!Z#O^=E+^<#U=G'VO%LP7U+06!83PP34H4*81[/=)(CNS+J0*JCUE M,UH?<(RX>4 W>1_\XQ::BSOV657:@I'2A@6M]F"!DFUILQ5%$3H%[ 91:P([ MLYQNG:1RJCK*YM^60WF(,K(EK$W-A^''RM#HDE$L,*'RA[=#==2YF%$X'LF: M7&SYC$B1,)%;:WCE<(T@!77BF#:QS,R%XQU"KK(6A()ZXXFW@A3LWYTTY\Q: M]Z7&5!2Z,B$+6WY&R%%I8N,Y"9JI8A0"5MSQ'H':E* M=@F%C3-2^=A/.IO]$GXG89:X?-*^_Q^(G/?M=>>[@WYAWP^:+&4G[%N[ <'J M M'SEK\58E]&0$><2^54]52"Y=!22=0"5(P"$U59RH*;:<2P9GEAB[]+*M\H M.HI';N*YD]#J4)I>GZ*I*+@:X+ [:T8_?8?@Y5MOVT\0^G"F8/9TVJ,!@<;P M-F>8>L-[8ITP:U),*' NJSDT+*BE6ZI64%6+8E(F#:V2O:Z[<+T&;>V]F$4+ MN>I9T6*%TL\KJTDAK2&3WBMKZ MUTS0$Y*,H.F[UF&B-D6Q/25=>Y'FXBI## M.@'GLSL 2T-#C##%.$%RRSTR.I#G51#FF@;4U72(ACZ"&&1&S2EO"NZ.G);A MV;7#\UCMK<\M#=$[=S(4*>)2G/QGXN(MZ-.D!\W9T 2Q&(]0W'3-[@H=N]MW%) MLO>1>?&BQ#I\C%=[]\FK:O>IPD@FO[ 58\/K8]51W2'["L6BS4G)8#?=D38' M/CHLQ#, M22_H8<(>@4-,2?D$5)X&"C/7ZCB$W,,=A"KKKAV(IB?I(1%R'V%MQ,K#"F.QR#F2'>;6 M+&0ZQU.^!2M9<^DF8FR[+[356VRN,]PQM8D1$?^AWCF>3BS"UF+L-I'\$DTGV3KDOZ8 M]6=^6@;Q<.=*J7ID"GO[7\#_3%$H5MKS5SG%"3\0@'L;B5J^])<>J@W+*'7O M)3\/][ O=7H OW7,@>^:N=]_<%?1VF-AW)UY M.L 98<(ME! ;+?AJ/>L0SX*M-#8 @Z[E<: >;>F*=P1'(171PRTR7J,DW^8M=;&$'%,DF!T]^RC; M-+,@[B[K*6&H LC_4C%0A9[.&?I*["^507#5&/IT 'JL3&4@"O,\KA8J-P]' MLJSIH!")/=RPS$5YUB67YH9"ZRI3C(5G.#?U]1A#[^5X$XU)/4H7GX8J+0X' MND-IW1MBJ@C(=),'*,\2]NY,';!TO#;-D/T3XYTLE#3/?>G1%+):11D0&N82 M#3154;9M-AVX;^/$)];GBHUV=0$U.LO4E4(?O7U1/9FD+/9[$T\0<'C,O$<\ MH&>?\LR^HL<&W#:1)_7S=P%ZRTP!8JQSS3)]'J%+(>";&_GW S?'?7O=O"_ M$2N /S!(^?G@W--*3N]C9J9.]E U9^\+CO.JTUBKOQQ5^O_Z_P]6W?^%NN8] MF+FVP^0/X^7A0U5T)C.\HWQ"-WCCT,<.!4.&KI#\YHS_6*&A];ZO6DDO.>F[ M[RK[)+H_X'^\. W]]7KCCJPB/PS7SD@4;/SMUIV3KK!J$U#P?&JK6L_4#.,- M)J2S\4WLQT$T&UZM_#19SX:C]=I/H\WXZ&%V3)3XR68['U]M_$VXFHTG&S^. MPMEP'*7^*DRXK08F[QY@1M2ZLWGKE1_$R6PX#?QUNID?MO)7Z_GL* C]*%UY MW\OV#LPROH!'R4+BJRV@$7DO47_"KIME//Z4 B/)NG6T2GT5\G< M\4GJI^DX'(<;6#CR_L()Y8^BRQ(Z[A&7@GC,/)6+"!)]/4&5L!QVF8.".1OUT!!@MF^@TRS&B2_P+# M),!IN(K<$6*!SK^.)U^F6.B0&O$3#;$)+.%>!$ M-QX:H5@)P +7."9&UHK7T60L0K8 %%V. 85BIIN9?V"8&]N/1&QS,FY]'+1%QUYPK4MAP,[?5"C99()QH"Y_$ MF^6J!7:,DB7R0N&7S-$ $G:]%,=@FB#\6H%]52R2B=C 3@^25W\KR#W.G&Y!M4+P+!*QYQ\W[]A\TX4YE:M_V:A&70N MGYQ;+K&C5\2&5W4*9=Z#)8._V!4*ON"8=T:$CGDU,VWROOZWT=W\_/G9]POZ M]7=I_(:I<^%T\W;I2L-<\SG+;UP^0T6ZGGY>S_G_?OKFQ+TU[;>[JS,)=(QHXB?S2KZR]/0VW40N3Q<7GF\-3T)&1OL"641Q_>4V-^*(3?X&AHFLG MN$T*RKAH^ZL-A08F6O][#85Z9;N]:JBYO^WGI5_.W#F_6P)1'/C76?2@#!*; MGS -H\,/P-Z:WSV-T\VOQ[X3#;V'[15RCZ7![69U8^X*^P\H#/A74+NJ!2OQ MGT;W09(VC17GVEI;+%+D5J2LN/^^LZ0DJS$1[$H%BWZ$DL4YYMO M3@YSMM#FB\T ''O)I;+G4>9<<=KMVB2#G-N.+D#AEZDV.7?X:F9=6QC@J1?* M93?N]0Z[.1(\ZD?UPKV898X6NJ.S M@L_@ =Q3<6?PK=N@I"('9856S,#T/!KW3R_V:;_?\"Q@85O/C"R9:/V%7J[3 M\ZA'A$!"X@B!X\\<+D%* D(:7RO,J%%)@NWG&OV3MQUMF7 +EUK^+E*7G4?' M$4MARDOI[O7B9ZCL.2"\1$OK_[)%V!OO1RPIK=-Y)8P,BT8,WU4LC.:$H* _.X%>!+ #;]"8.O!X@VVF7L M)E,#T/YF(*J34UOP!,XC+ 0+9@[1Z,.[_F%ON(/F?D-S?Q?ZM]#<#33HL"W1 M91_>'<>]P9!=DA'&5,IMIXWYR8'(FU!RL\_I9HK$2K6-ZREP& M;*HE%K10,_:#4+BB2XO"]L?3!OS?^L6\@7P"ILF=YLLX1\O$GY"R2XV6/"EL M8]*_?\;V9=L+-]I:L*P5C+>^^OZ&8CW!$HO=?,'F/"W1N\VG]ZP?G^SU6[:] M]T_]>+ASI99ZV!CC[V_24^>APS[K.1A%&IDS/L67S$)2&N$$V#69_D&,G$_6 MUWN#C7K:%K>'[[JNAN4S3",6+F(SU6C>;O&2>D" M*;\?G<'5$H4M#IF)-CB\>+*MCL0Q0:E4 MYKY4\+@3U7FHI4B]O@F77"4H1(-8.$;+5;G-?/W1H@R%1W8;*-"*8"M'M+Q M8LJ?KSQ)RKR4'EDC%^,_&\AH&)X3 WR'P)_GN@Q2V]6A72O7"N4T0_,5GMUA M%UEK(*CCZ1]E[4_X2\5;YJ!D98*3BH@0=B$B11%Z(G[8;L:$EH^ M1%^EE!2M)8R&(]9XT7@3L4Y3>*T652^UHY:'"0FC <:AV6PJ% 9"8 - @WTH MVK'K!+PJCA;-HR3"N2FMS"J+RC!X$8X51F!,/_@Y0+U MJ*"*\H*R"Q/(8#([PY7EX>HQ ;< 4'6S*SCVZ42@ <[N4?C;-)8,A \YL4 " MBC;*6A0=N.JC)X=')T-V W.0K(_JBY+Z]F^EID!Z[M@74"+$)EGYA-J4X!,A M0QQ$?3FJM-CA%B5QH^37"8V]?"*A6JKRU!<8#H-8VRG8Q(A)2/"*9&@AF\$' M#?B3TFOP/@B4?K8LJ&[\-W06FN#P"2U2NG:2-Z:J7%3W*FFMF"F?IE@SZ(TR M+RA"82,V$I%3OUBEW]CWCO6)DK;3X;L79N%54E6)7^6G/U>.ANM-?M>@O0 D MC VQ3F[,2DMSMGP5Z,ZFJT:W=1',P\.%WX:^5$.[RD^L<,."8_;<#O4XUY6+V0@N;_ M#*._ %!+ P04 " #P@6=8/7N0I6(& =% &0 'AL+W=O4\5DI+$"F6\%_K^L)<1EG?.3NS< M@SP[$:7F+* F.>WX!A#E--9& \'' M,[V@G!M%"..IUMEI31I!][W1_M[ZCK[,B*(7@G]AB5Z<=L8=2&A*2JX_B>4' M6OLS,/IBP97]#\MJ;3_L0%PJ+;):&!%D+*^>Y%L=!T=@[.\1"&N!T.*N#%F4 MET23LQ,IEB#-:M1F7JRK5AK!L=QLRE1+_,I03I]=W]]??KFYO87SNTNX?_QP M]0EN[A[/[ZYO)K=7<#Z=7CU.3WH:+9GUO;C6.JFTAGNT!B%\%+E>*+C*$YIL M*N@AQ!9GV."2)W"3:Y+/ MV8Q3.%>*:@673,5EI!^M$4?E,.V=O?@N&_O$K MP/LM\/YKVC>!W^L%E=OP=V%^76N_"]^3"?#FMW'H1\?0HMB:8 H6E"FLI4UI5)J1"34LZTHG,L?^0:S3"T-A$'S]"BC#@F?"2=G$3;6I;T_@2>F[XH*#2 M$##B(?"$/C!-#)O9\(?^,2(MP+>#X!A5$+Y2#.-V'L>B1+/Y'*8(,B$R4:@S M8:G!95@Q&EBQ(#QVTVA'DDV0^A) "0.+S#!8&T :FYNP$XJ[C:R%DO-&Y1+# MG0M=[X+QR(8?"[P.?UWD;22Z\(@J8R+ERCA",N.2$6E58FBL68P2$^BA+;O< M[!YF(V(@C./[S'0@>,N,"Z)4J%Z].VH3^&<_)X2;K %,EFW7=U;)C@IY*&>< MQ3#%%,<0K.8/H#AT NCH3,Q]@;1H3,>><.H[WX/O;Z_ M7H!Y568E)S;$ZVI"QE14.:X>]D?AVN6W@1>,HG?KL;7BC,?>V!^MQW=X)IG5 M87H%^\B+ANZXR6=G1>0-_?!7W.KP_ZW^*5N]W>%;_W;4G[>S=6WW'9;'O$PL M*2?"G( A)QFU='30'_@>+!VJ.)I4&94VH!K%IG360BO0)*"V).>'^;IL7'H01.C8!2[S8Q;!9LLPF2:EH M6O*Z!R-+!SZL*)&JHO&70974Q,WP^G9X-U&@]X44A1F:+B1L&!JSUI*92$N- MAS;L%FH!*?*]@A+#+KEM'6:!:;=5ZZLE*F-=-T4:^Q@I&TVSPTX9N%MD0?ZB M+>:_?F[WK7U?U@5YU>;)M24JEUX,">R>?6GY"'G3?V6\358_*O$H24(MQ30S@_8-"??0WS-ZJ>='UE[L MYI56V-$3>J$#_] +G7T/O-_2L><[G-U'/.NE57_;)H=]27D P= ;';IA M#")O'(3.Q":871*A-SAT)38QK;M*W2ZJ WM]8 TVS\"2QD(F+VF#?BMHCCT? M2>@@P$AALVB>1DWSC@?9@MJ+"[ZJ"'1-M#OU5;MDN$[L;%A "?)[0Y;FY*[* M.*8T,3*6IZL?/WCDIR3%HXEI4=B_4L$MF_Y;;GM?']7_M*;L[< F6[P4P("Z MIQ,;%_>C6P$O/JU/"H-H['X8[83G9CTN&K\,Q+ZUVQFXF5_=7;_Z>\Z5#5;7 MW%Y,*; _UZK;FW:VO?LZKZY\ULNKB[./1,X9G@0Y35'4[XX&'9#5950UT**P M%T SH;&4[>N"(I-(LP"_IP)_G-8#8Z"]$3S[!U!+ P04 " #P@6=8&PDR M&_$" !/!P &0 'AL+W=O^ M>_>>#Y^'6RZ>90Z@T&M)F1PYN5+5E>?)-(>2R!ZO@.F=-1R4IF#,>-KY[,1[R6M&"P;U LBY+(MZF0/EVY 3.WK$H-KDR#F\\ MK,@&EJ >JWNA+<^B9$4)3!:<(0'KD3,)KJ9]$]\$/!6PE9TU,DI6G#\;XS8; M.;XA!!1291"(_KS #"@U0)K&KQVF8TN:Q.YZC_ZET:ZUK(B$&:<_BTSE(R=Q M4 9K4E.UX-NOL-,3&;R44]G\HFT;BWT'I;54O-PE:P9EP=HO>=V=0R>TL!FVTMW(-,6!'\ $F!TQYG*)9JS#++W )YF9&GA/:TI M/HEX VD/A8&+L(_#$WBAE1DV>.%',M.4UTQ)M( 4BA>RHG!,9@O2/PYB[L>5 MK$@*(T=? GB!9SQV:<@]J]/4.Q;BOU3Z']+\31(U$-'.HK./B78#Z^1K2%L M#91R?<.D@@SQ-5(YH#6G^JH6;(/."Z8]O):$9?+BRL+\KZ_N,I0K$$VG]T[3 MU6%4+)I%6@;A6 M*&Q\-'"#P.^:89(,!ZX(11O!I:YVY*SW M<7$0NH-^V+$OW3 ZV!/3 <)275'/W7\_^"6A(*W^O?<\= ,<7'3MQ(\/]DQ M5BA$M0IXES5(DDY6Y.)X<+"/_+=+_2?S8=?(Z M0ZX$L6E&N41-T7;>6:]]+2;MD#R$MT_-'1&;0A\(A;5.]7N#R$&B'=^MH7C5 MC,P55WH -\M7W.N]H8I8-_0\6]02P,$% @ \(%G6)B=D,9) M P O < !D !X;"]W;W)K&ULK55M;]LV$/XK MA%H4+:!9KY;EU#:0%QFF[81T8Z6T0I4B6I.-ZOWY&R% 5S/ S8%Y%W MO'OXG.Z%B[U4WW4%8,A3S85>>I4QS440Z**"FNJ);$#@R5:JFAH4U2[0C0): M.J>:!W$89D%-F?!6"Z?;J-5"MH8S 1M%=%O75!VN@,O]THN\7G''=I6QBF"U M:.@.OH+YUFP42L& 4K(:A&92$ 7;I7<975REUMX9_,Y@KT=[8B-YD/*[%3Z7 M2R^TA(!#82P"Q>41KH%S"X0T?APQO>%*ZSC>]^B?7.P8RP/5<"WY'ZPTU=++ M/5+"EK;O M.,1'A]CQ[BYR+&^HH:N%DGNBK#6BV8T+U7DC.29L4KX:A:<,_Y_')#UK]]^[RY77^Y7P0&L:U%4!QQKCJ<^!6<*":W4IA*D[4HH7P)$""I M@5G<,[N*SR+>0#$A2>23.(R3,WC)$&GB\)+7(E58R3= MFSP.DX_DQ4W0WT0*B0VG#91$;HFI@&PEQ\YE8D?>,X$:V6KTT!\N!J3_:\6, M0_T RF6]5]KLVT],KF7=M :/M=R:/57@$R8*WI:6&V<%3@K0+AHFT$Q0S@\_ ME?"(@Z?!<'JO ?DMF2=^,DM&BGSF9^ET4'QJE6"F19^7_Z@_3S)_'F7/XMQ/ M1N(O@-.BDASYU(V2CV!]]7"<^VF6C*1YE@[2O324#U*4Y/YL&H_DJ3^/GVE> M%D5;MYS:I)6 15DPVHT\9$UKJ0S[JU/T'N_SV _GZ8=GQ2S#*T:*T]7A$P%F M]+^FF9]-\[%B[D>SZ!^9O<J\-38A&+Y*=*<+E4LT+=1 MY*=)ZN,FQ !RWYE889['6 >N?-P(B;LCW&%Q8=\VX-X#?IBL!<,#_;J;U!+ P04 " #P@6=8#>Y7>)@% S M%P &0 'AL+W=OK]\A=9BN92: MJ,@GKFV'DP+3XHLM,*L!D M?ESA);DF\E-UR6$WZ;DDM""EH*Q$G*0GHU/GZ,Q7^!KA;TI6PE@CI.:']YH!4?B^5?XC[ :D.TTW'J'$5>O$LXZ^UKB45&)5+1 MF[K7 ME*#&ABUMJY^RA3-]([K#%0OU>4TP1T3EQJZ!M'*P<-'+!"3 7,!!0,5J 5_$ MJZ/>PC_K_Q\E[<4>:3NDJ]8 EQ!$*K8Z^$?EI\WVADEPD0YT,)*0=QY^CBNP M=T[_!=X;SVI[@N<,!L^18SG^S-B[ENL%QMZSO,CO]]<9X_*U)+P8XA9X;K_V M@PW7VI2 MJOB+\UJY7P[I]UNR?):R@S'&XO4!W4%6@3N#KJ7H(U52&X3TH?R (Q M2.2XNTS<\?R*]B!S>6"!/W:@_MB.!J'^+O07%-Y= MGSVH '>[IRK$;N 9>]>"@-RJ?O;TOH78=Z-^[1A< B//'U2(9[Z[)4IH-+'? MA?CQ"O%."/CAEMWMV>S)[?Z+"[$]5%NAA.P&G#<.[=]5>+#>!H-0;Q>Z]\&1 MUA*2I/5XA=)?AX('3T_XW;^KGT[J*8@ MAKK"#S4"L)!Y+W4LSS'+8S#=_AI%H2+97*&<0PT'D63 U M4!W75J@&J%^Y7FBLIPHM&C32T)7'"9U!V(UZ/.(4''YO5@^%Z][CF9=1SPJF MD6E<"QZ'CQXG[XNJEKI%@';D'HW]KO^7GNV]:F\*76]9HP7.X6$-F2 // H? M^J_ZPLS9A-S!&<+5QT^0AX)(/47 O41 \1S>5[X]UF.0G)5+\W:Q46$%6?S< MLQRX(+0#!22^OXOTV,9HV ( M /0& 9 >&PO=V]R:W-H965T\G(O"Z7=+WZWJ=^7:9*+ 6P5ZG>=$SA[QYU8IL8ZO'YWQ935+(G(LM) %*%STG$'0&48VO@SX*7"C#^9@,YE+^6B-:=)S?"L( M,XR-9> T/.$(L\P2D8P_.TZGWM("#^=[]A]E[I3+G&LR72$S:<]H.)+C@ MZ\S\WU5R \I&$YN=E*F6:!(G"GLI,Z-H51#.] >CT=W#9 R3W[>3 MZ]ED!H/K,=S<7TSNX'(Z&$XOI_?3R:SK&=K+(KQXQSNL>-D[O &#*UF85,.D M2##YE\ CD;52ME9AR1>^EWD:'Y[ ?VPWX6&G4B+TR/%0F2V79BS*()3UH;2A0+H!6 M82$SZ@RB6,(W49!'KC4A]?<._*_ILR-5$.9STF.K:.^TU60_#$;E:Z-E*_P) MBT0J>M\KJ871=?A78)$;!=&!(V1N\RR"&<\H/<.WK_9MN4$4O?(RMQVT8)9* M9<"@RB%#ZB[U63V_ @3N:1B^\H9N<.KO*J".#-QFD[V839>Q]D\-N4/_H^G\!4$L# M!!0 ( /"!9UA<]:9 6 4 $P, 9 >&PO=V]R:W-H965TWW?9IS MH7S/5ESBR\RZ0@4LW;SO*\B2/SOR M=5$HMYJPL#MY%#LH\&_FI=^ZYDDDJFUWV1QG9UU$B'$AM,@" H_"[YD8P0(-+ZO,3N; M+<5Q^[E%?Q]C1RQ3Y?G2FB\Z"_E99]RAC&>J-N'&+O_B=3Q'@I=:X^-?6C:V M@^,.I;4/ME@[@T&AR^97W:_SL.4P3O8X#-<.P\B[V2BRO%)!G9\ZNR0GUD"3 MAQAJ] 8Y74I1;H/#5PV_<#ZY^/@W33[=W'SZR7JBI84\A5X'XOM)(!7U0+LW; M8AWUL*'V6Z"JI"F3+K$;.B?K$ES# R>A.7A]XLE6TJ)="I8.Q@U!S!NJV!4Z M!/!1Z?=:>RU6L'9D@>*H]J"@ZI!;U[(6=,-0(FQ*C)JI#ZH,6AG3?/.J8$*< MA>_112'! :\.8I4A_51'U_ HC"DKAR#@Q3ZT(61* W)BK"VF[.9T"Q+ACSL@ M4ZSH5\TFHVO W7>%\>1V\I5ND.(N5::64C13-,Z43,CN2LQ,^&08,U,402'\ MB*4;8S7U7*9,=K:-+E\JA\$I#DR_C7M'R:_"&GW%PG736[_WHD">2@'E,G6& MS"Z4TQ94FS&$D4TS7:HR138;,HBB!'64"2LD+[4+AD'PW36(O,30TD5=4(D3 M!A,ZY-$)(RR^?18@M(92.\;@%QRQ70]942.F>;0J$:)=:#D:_.XH,HL(2AO: M<$B*YW2ZEE")G4/M4$>]T!D$0Y5:Q3U[]/X9)^UC6IL%TJT6H#'G1\I1V0*Y MP::MA)YS@KPOLO^03:"_4ZZ4?J<)0^H,I:SU]>X>!ZY'(>_4/2,#5PR=(.=- MAT"S+N@?ZY5DY[;B6)'+7+FY.$ @#[M,KN^N+IH,M2E'+]BE]/*.Y#]P5W/' ML0@2_+"7"/E!+^F)C&(W^U:&3S6;(L'6Z$P)@;!DL\#>S1'QA!=,:S2)T>CR M.&\J&SAV*TW;@8@A@M$KV=N;5W2REZH\$WAWFQ\M5:2<8FFTE I'+=08 5OA M"LS.'=J)>JE\WHS#2N8C"H?Y@^8(.HTS1E4 EX$UQX5(I@4VWE;))B[H[*IV M\DKV6V'$>.)8CF=AQ#+C8?@XG@8*#G&^2JF0-[6>:7%*+Z$H8I4*XTIIL43- MC8EZ\+Q%)H[;GR<",6 SF!R,Q]W!FW'\<# Z[AX>(^F0<<7QMF56)Y2#(]HE MSO[24I#)%(G)=KM30]">'$821:.Q]MAJI/*"$AZ?>)GLN&>/_6VJ=JM)&JNI M@D0K1Z,33+-JRB+"=;SW@!7UJ04.C:;S@+7%)1Y5*)/T3&_7G:*_=<,K<-S$ M>ZRT&HK=7/8V;S=7Y8OFAOA@WMRS<63/(4VW)Z6@1;%RQ&6^ M.2VR7,F0-\71J>^Z9Z>QU,G1BV=\[SI_\2RMRD@GZCH7117',M^]5%%Z]_S( M.ZIOO->;;4DW3E\\R^1&W:CR8W:=X^JTH1+J6"6%3A.1J_7SHPOOR<% MOVAU5W1^"])DE::?Z.)U^/S()8%4I(*2*$A\W:I7*HJ($,3XW=(\:EC2QN[O MFOH/K#MT6W%Q=BE?OWEQ?O;VY^/#ZW=MGIR78TN;3P+)X:5CX!UAXOGB3)N6V M$%=)J,(^@5/(VPCMUT*_].^E>*F"B9AZCO!=?WH/O6ECA"G3FQXR0ID&G[9I M%*J\@!%^KW2Y$S()QXNE#("-H MK3M]*J[A<2K/(0L+W-S_L%4LG4QVEFPA+N#Y0 MK\5X5I2Q)!967>JT#7(AT M+5XG09IG:4\?"UF5VS37?ZA"T!9=%)5, J989:), MA>.8@KV%F51@.#%2&S+$^A@4,TR Z*EDM1)3+1<5H5XC:%J8LJV':L,3Q& MG8@T@?ER$:>P ,"M53$15Y)V\5:^,[851*-(;.6M99)3$"T<:W"%4^$+?:LC MM:'?! >(4>::HSKNZ"2(JE G&Y*5OFH:(7:%BM;;&V"KXHRQ,B09:?A,*.VS M#F]96!E7"L&>3@M^P49MCF5"^(7>=_21I%VP6)-5)XCECE6$4+B8K<;'*U MH9!3P'BUKQY4G_0]MQ8?/^P:,'!GP&6M/T,)@RQSMB'QHB,JMUBRSV(BKFN3 MH138$31C&2KV0T3X$U17GU#.E;E$M*_=9!61OW7OP6D)=NEZ#1> ;4 QV2#> MX)XV'@(YHIU(U :.Q7&INYVU$"6"#L$:/B01,)*2-*9HM'>Z"$#&C5:BJ!>] X*&&L]B11U%OYY M[^AF"V>@:[E#00.\=/&\AGCI'5N?P6,ZHZ8P&8KP M>R5S'#)<,I#%MLEO.$(50$V(\E#8/]($,.1W& ^Q 4!56=DI8A"!Y.,GC:Q_ MU7=C'>)L$MXEJV)\XY*.\+U"C1>:W]:(YN)#6B*)-"2.!4JR\X;T#VJ5PUP[ ML;0J[SWPO<&3-Q(HH-JO?_L82/7ZOM;6\^N'^#4S,G.]3%".T-Z;]#4.T!H7[09%UOJ%,#GG$6'<.F M^9> U\_G+6Q13&0JT#C.'K#)8U%H3V.C?@=-#3N:1/]NBHK..X@)'&R#U5&BE69 MS6?#@+9&Q9.P)9 =M2F]4-K#NS;U2B9]7I/7D5WZZX3'>!6!UN'ZC3D"%-FH<),-IP!2L.I[DGK M,K)9F/Y\$M,DG'Q:<:5N@DP7[?[_?Y1C/G"_76I_Y;GT?JOF MH:DYY!2,[>;0J@<>!(@8GO WU"F6-,\!5THEG8[LX SE(@AHWD!6)!$.3;I' M!PBQDD656\29Z&Z&+E)WND5EY^@F*F\0FY)>;+;#R"#=)!:^LN3I ( 6_E9Q MU&?/3_.UTN3]%,YOK8',T9M-9'<=6"CB ;UL4V:PV,C,8A5U_*!IKH@1_G4& MT%**:>%4,,X!MV2#9RP^X(X5U!-3)XORT\I6RV6',ERI;='HPB$#*LMDB42: M\!'4:@ML2$@+I]&?S,-':/-8T+4_RT)WTL26KC<_?B_C[.D%2Y+PX.\KNN*# MC&IJ=B*,Q]J4G90HTXC&NYR&\65:<8B"I6FL^OWPW]#XUM_<4'%?PN7Z-12C M:9'5A,'3%A!<.G3:KX5#&]OKN7.VF'>N9XX_]5K+@NX*9?1:E\V]1YYS/I\^ M[E[//;]W[9TMVNNWJA0*H8LF50E/IZS]ND)X9\N>$-Y9MV><.N[9;,\.IFJ9 MUDUB/6D:EFM%!3.,5E2U&Y5EQ'-0&[%!A]8:IZN=HZDEUVF5FYG7A,8,.M,U M+,9YA"D>E-2K%!3:NR]23/UG'+8?1,9)Z:(=@Y*.MO^C;&&GH@V!L;C?"\"6 M1!O&)M\R7!J3T[PSIQBH$SLXLI'Z+_:7MXTP)GM\[$&__OZ57[FK\.0"QRLW MZHMD?V03\?1H^.C&Z/4#G=TO;/I6!B#K9YGPT*@>@LRG/4_S)[-9GPNVU=Y^L7P>>0M.LXW\R;+UG->47J-.E0?^>[C/;*SY61Z-F)%:+ _ M!)QU))@M)NYRCQS!Z*XVLK1&9IR=C*3+<:1OK#5TU\4;#S3_F; M'A[/SB:N3^_L:%A"?4&TZXY#'L*:8X*]K\*Q+P0B\XK$U%NM1%F:U^.2[HO <9%9'/35\Z5_J/(Q\NE.'@?+ ME6H+D="$.[E_=+;DH,%-.R2/=F(Z<>LX^*'WPDLG)""ICHU[H,Z,?%'ZA7MOWKE"GO*,RL-P+IP>KX/[\J\9X73B;X&A*=4N% M2]5HQV^ON,)SFK>E_O2\\R*6J=-P"4)0!=,/1MT2C5YYR*C@5\"W&N$Q:K*6 MD5&U5.P@@"K7JX]%;:MYS]]\/6KD<*ZD_"&R\?NS/SY4-2Q?SJ= M=OZ[%JM\P__0(U@!%>9O;,W=YD^ %^:_;^UR\P_"-S+?(%J)2*VQU9TLYD>F M,*LORC3C?\*MTK),8_ZY51)A@!;@^3I-R_J"_C7SQ/U!+ P04 " #P M@6=8_0_?90X( "(&0 &0 'AL+W=OU\LD2) 0> /3E1JHO>@5@V-.ZK/358&5,_7HTTOD*UEP/ M90T5?EE(M>8&AVHYTK4"7EBB=3F*PW R6G-1#:XO[=PG=7TI&U.*"CXIIIOU MFJOM+91RP/Q&WY]J>2&*5J- MW.C%JFJI43A1T:$\&(5?!=*9ZWO\!OW.LWMOS& MI_2KFB'BM:Y[#U0!=7H-ZA,'U]]]%D_#-"[(EO6S) M2]R_*MO+U%$T9/[IL>^_R^)P_(9]7@&KE7P4-G P;IEH-S*T$]QS_KN=_@*N=*S%T!%C/05EGZ!:04]!/ M3#\1NVN4@LK\^8+^ 4H7O;C,Q8GP23)_(DT2+*Q-Q%E09*&_<2#X0;ZT308 M)VYQ%B!F>M^2R'W[+ UNG+>:];-HA-DLPP*0O/CK[7(> M!5F2OG+C:3)VHTF:GC#'^3CTUIVG<>)&L^R9+8J=.FY]'$1)]LJ7(IY,W7B: M.EM\.AT(WEG.4 W_+,';-' M7C;(T2)B^-[*!JL,>8E,'C"H@FE M#!"(!18[HMPR6->EW )!S40JS/3@XC)XT.O22(,P<[X_HU\J%:.ID MG8R=">^\ R.S<96OK)L7\(CE7[WV(>11>HQ\Y]$G&,3[%HQB#R0LBBT5 M;5\<1IS;. R2T&E-F.24^B=HC,U?>E?F?;1Y*#C-9GNH&$X\7/V %?Y+VV>( M<#-O-/42S+<^]X"F\T0!WX V_Y"RV(BRM.XEK7>*RO!J2?&G/2,D :*";Y4Q M9M+036""P$C!L"!&\%LCCGOI>19D4X^/XQ<&Z31V'VQ;8H2/OR08U%T4/)UX&3/W\&4\B-SKI;I[=/=(D2";[O(*IS_S ;0Z!Y P% MQPHD\9R-IJ;!;!H>*OG_>NZ*Q1=CX.P@> ]G/L@J/\;JT"X'5CFPR9]N7"I( M[A B>;5E*WX<;Q9*KIFVN%;A_M(EBD. Y,NE@F7[^0R]=A:?+&?05PGS*[M6 M]["YRW:8"NUF"[;8U9"V. IHAM?8KCQAGC2 >?(,P7A(BE#2.B(1%DNZF?^* M73TS$@LE!5AQ8&>//PL#4%&T"&51(BD5J^S;))9*#BS\/G5 MXBV@1%>#O5LHMP$:C(M*&UL'ZA=23[!O+UI>2V4%POW\I5T-95:\9=OI,X=2 M !4F9))*8K$EOI !T2IS0/9M(MZW 2^UM(;X !OV(U_7>B60^K;1V%UJZKT, M**Q9T/9MOFN-@NFM.Y)N^MDY<&:@NMABRM\7'IU+R")@&V%6ED][/*3S'+:R MM6+VPD'Q8T?5"77Z>+QC^&]5W3^@5B3RV7R%:068K3V@A\-7?V'\]BQYP@*O/,.SPDL.$W?:,LL MV'':\8R\=L>[$*"@L3KL-4/)/I%B$^@U@' ;Q]'DSO[_),SCKJOJ^@ T2KX1-@YFWX?X( M$TIQV#JXQ9FKRF:Q8SE)7"=ER_-6I-Y0+NOX1>%>X?#NF']X1OB6MK@+YH6@ M>@P;9'OQ)$M1V*;GY^'#\,CI=4V7!3N<+IN"G!/K/#0UP0Y"CA:%P):J[:PW M0#4@SB,2$BM_DX"ZA3E&>]'&A,9JRGI")UN[F:9@7-/8"N50^]<&T:$0]OIX MAPQ08&Y00?,2F4%Y6MCT2A#Z "$6"X8GSTM9E M74^(0=I4>\M["W4)E;3F[O;!&LBMVKE1J[BQUQ2*$ 9]C;"74UN)YMIPW9FY M.,+P&-*X$H5Z\J])N8_L!1:SE*EZ&D:S)VQA6WXD;NT-A[>"#O,8+B4\&!Z[ ME1UYM^-K4$O['P#=@S:5:2_*^]G^;X:;]G;=+6__HWC/U1+S"K;4"R0-A]-T MP%1[[]\.C*SM7?M<&B/7]G4%'+V<%N#WA92F&] &_9\OUW\ 4$L#!!0 ( M /"!9UC!*46.KP( " & 9 >&PO=V]R:W-H965T M 7,O)+O9[]MO278[6"K]:G)$"^^%D&88Y-:6%V%HDAP+9MJJ1$DGF=(%LV3J M>6A*C2SUH$*$<:=S%A:,RV T\+ZI'@U49067.-5@JJ)@>C5&H9;#( HVCB<^ MSZUSA*-!R>;XC/9'.=5DA0U+R@N4ABL)&K-AJ,NW08=)P@%)A8Q\!H6> U"N&(2,;;FC-H4CK@]G[#?NMKIUIFS."U$K]X M:O-AT \@Q8Q5PCZIY3=P#Q&A![W74BK_*&638::+4$[:*)S6U\J1Y-XKATE_)L-9URPMG1Y&%Z M__WW9 +CR>/D]NX%IO=7CX/0$K4+"),US;BFB??01#$\*&ES Q.98OJ9("1- MC;!X(VP<'V2\P:0-W:@%<2?N'N#K-H5V/5]W7Z%%*=0*$<8H,>,6IH+)7876 M-*>[:5R/7)B2)3@,J D,Z@4&HY.CZ*QS>4#D:2/R]!#[_XL\3!/%;=AYL7!R MU(\[W4MXR1&N55$RN8*<&6"0T/5I/JNLTBLHM:+L7TS.-)=S8#(%W$@S;$$^ M R5)(]0"ZQ AX*UB@F<K(EZB1 MWGJ*,%MY[T8QE_Y5^+<1M[P\VD7M3V5Y(+5MDCO^G1K^J6E+A:F2O)9!QO%9 MJW].^6CM1>=UQN->ZVLOVJ>E11/+E.AGCEBU=[V-<*MK"]1S/YL,*:VDK1NX M\3;C[ZKN^H_P>G8^,#WG5)? C*"=]GDO %W/H]JPJO0S8*8L312_S6F$HW8! M=)XI93>&2]!\%$9_ %!+ P04 " #P@6=8EGK:/6\$ !0"@ &0 'AL M+W=O<@%3;K[3$LCBRU%NB05QW_?,Y2L.-O$0%\2D1R>.6=NYLG:^1^A8H[T7!L; M3K,JQM71:!3RBFL5AF[%%B>E\[6*6/KE**P\JR)=JLUH.AY_'M5*VVQ^DO;N M_?S$-=%HR_>>0E/7RF_.V;CU:3;)MAM?];**LC&:GZS4DA\X?EO=>ZQ&/4JA M:[9!.TN>R]/L;')T?B#VR>!?S>NP\TVB9.'<#UE<%Z?96 BQX3P*@L*_)[Y@ M8P0(-'YVF%GO4B[N?F_1_TK:H66A E\X\Y\N8G6:'694<*D:$[^Z]3_+DS(?VE=6L[&V>4-R&ZNKL,!K6V[7_UW,5AY\+A>Q>FW85IXMTZ2BPO553S M$^_6Y,4::/*1I*;;(*>M).4A>IQJW(OSB[N;F^O'FZO;QP$MP"W?P M-ISTS%%8J9Q/,S1%8/_$V?SCA\GG\?$>L@<]V8-]Z'].=C_<9#:DO0FGCQ\. MI^/9\6M'_>YCQ3BI5\IN2 P\+F N4.X:'[ N:=$$* AA2->VM5EI*[V, ML_C"1>A-OAP'](7%()%P#5KS)N:N3E"A@6S"U'G*5:BHQ""$ MI+>"ZCE'&! T,EHMM-%Q@Z A3CK2@HWF)V0C5BJ*A0M)R<+%2B*^4 O#*=P8 MSL%9+#?$(>I:#H9TAQ%(/QOEH1 G&&4Z#';5X=Z3##UBA5BU(48>?D\IPE4P M4#".6.C!S@M#D-GR&.R20&2"3IL(@>?:1>Y%]#(K!2DL4FW>>(^L0,J =-DA MP]P ,KX-O&6AR"N4K;!/\KO$4'6A_2@EU:7&C:1OC?%4@I'7'G^V6C? MUL6+T!1G"9?1/Y"*RKFB"Y+'(4L9=TF1'(AA[XI4[1I@;^M0K(;T#2UFDJ$4 MD9&R<::)77WO%NR@\U*KC:B!)I2N"PVV0+$M!-G+49+;WNA&;*Y7AFW27GI0R%6KDUV +V0IN.0SHHBM1^H M;HM*1A>>+5T=[]QK&?3Z6YQ7,>HFQ];H_]/!(B3RFB -A>^/B3\8#FE,ODR' MMWX[1CN_\C7[97K+)(8VMC_X_6[_7#IK7PDOYNU;ZT;YI;:2VA)7Q\,OGS+R M[?NE742W2F\&%#U>(.FSPI./O1C@O'1HXFXA#OI'Y/P74$L#!!0 ( /"! M9UA-2/K0L @ <: 9 >&PO=V]R:W-H965T8!Y+6[ 39-$:=[N(^T1-M$)=$5J3C>O_YF2#U3 MV\D!NWM?+)$B9W[SY Q]NI7E-[7F7)/G/"O4V6BM]>;39**2-<^9&LL-+^#+ M4I8YTS L5Q.U*3E+S:8\FWB.$TUR)HK1^:F9^U*>G\I*9Z+@7TJBJCQGY>Z2 M9W)[-G)'S<2#6*TU3DS.3S=LQ>=%$K(@)5^>C2[<3YX!GP&<*) H\QU"5\%[-/G\YM?[VX^/Y*+S]?DX>;WB\>;:W)].[_Z_7[^]>%F M?CK1P 273I*:X*4EZ!T@Z'KD3A9ZK?TADO@*OTN2VL#X-SK%/3$LDV$\$8^63VK"$GXT@&!0O MG_CH_.>?W,@Y.0(Q:"$&QZBW$%F1D@>>,8Y_0A[7G(A"\[)@&03C1I9:%"NB=%DE&C"12@'&Q8YH6'@E\PTK M=KC7G9XHDJP%7Q)()"4SNU*>"!/5.?O&2TID2:[NK^\HT9(PI;A2!-8:ZQ0) M-UI@6283T /P5K(J$ZZ "L"!D(!79 JQ*12!37LA=,R5U:T:&YE>KD,\&]LTS3RI,'>1^N10)XD5 L)<_L:P"3"UU6:@!6-5#BZDC)9B'2,X9FI'( MODY$D9DJR*F6U ;;R M2:1<&1@"C2H*- 2#F0K0P7,I"G192M85^&YG?DIN'RFX>_F-HVDL4* 'J#1, M%W#^(=0QY$ZET3$02.<<" :2,;1LAWN;!D, JEV/Q.2JN&KCO %I:%_>L[)A8T: M0]),N2?DBI<:*@N(MD[,6ALEYD4D!;1Y&Z-H=84GL=&P- I9"E"S@)*CIQ2] M9MIHII"ZC==C^L&U$*-9E?;BC1M@N [TL\<4PJB3:+;(, 5@"30FGZ'44BPS M?@PZ*I"O^01B&/HVT7ZL6;=N4O(G7E0<]-T<#Z([P0C;;"""D%$CQ.LIL,V6 M.\Y KQP/; +'+<\7 +XYEKN\.YGPOH'XTG/."F 9A MW,[M2;#-)Y'06.K VZ,WYU 6AXQX>LR[V0(ZPG;M_<3B2]U#_ M_!T>]HK9_)AZ;A]JZ--@.NU-3$$9H?\6:TTCZH:=VJ9@YFDG<>#3Z0\/0:\=Q1$.W0]XD2Z1!C1.U"VD<#=RXIYU.UEO+?<$AGV&V?1XX MH O2N&[?_5S/I9$?]F80D-?AFYNN$<_#5D+^#'VPXG^]\UUS. ;P6#=9'*O' M'.NW/\W$_R%%!3T[X3B.^V./!L[L+8X>>=VRJ&?#*.ST_II_SSJC37O4.CQ' MG-IU(-]U@08A'$Q[(Z<7.-:9TV-V&#@/Q/K FT!'/7AF!1PT+\AC7Z/_^2-G MZ@0T'.2J*'*H/PU>)7S$MJ'CT:G?'3@!'#=1/'N5Y&OVAFSH]VP^@Q36XW+H M>2RSP:GGNW$OD<60)6>]S';HV3?:(!S<&9"<#4]K)X[IS(O>;#.LEVO2=5W] MAEJM*Q;9 JI^F4+5$6 RN>=:V_GO=$9B9R:#*M!M$D?FB.+F,2J!^B:?RVLKZIY[VA^O=?BR1L(U @?!/U$"5:=O_FRN@5(* V!LVESS[56#NBQOYONT):\2)!91V_2]IW]3OI7EE+H9((/VOY_S_P)02P,$% @ \(%G6!/HY1-7 P 50D !D M !X;"]W;W)K&ULM5;1;MLZ#/T5P;L8.L"M;=E. MO#8)X"3=78"N[9IEPQY5FTZ$V5:N)"_=WU]*3IQL:[L\K"^619&'AQ1%:; 1 M\IM: 6CR4)6U&CHKK=?GGJ>R%51,G8DUU+A2"%DQC5.Y]-1: LNM455ZU/=[ M7L5X[8P&5G8K1P/1Z)+7<"N):JJ*R1]C*,5FZ 3.3G#'ERMM!-YHL&9+F(-> MK&\ESKP.)><5U(J+FD@HADX:G(\CHV\5/G/8J(-_8B*Y%^*;F,;0E!" MI@T"P^$[3* L#1#2^&^+Z70NC>'A_P[]G8T=8[EG"B:B_,)SO1HZB4-R*%A3 MZCNQ>0_;>&*#EXE2V2_9M+H1*F>-TJ+:&B.#BM?MR!ZV>3@P2/PG#.C6@%K> MK2/+7T\75)9G-R"GY MG%XMTD^SFVN27D_)QT5Z-7OW=7;]+TDGDYO%]:?YP-/HU)AZV=;!N'5 GW 0 M4/)!U'JER&6=0_XS@(=L.\IT1WE,GT6<0G9&PL EU*?A,WAAEX+0XH5/I0 + M/6]*V*: E0UK"Z;.R<>&E;SXP>LE2;-,-+56CZ6@=1 ][L"CSY/\#O"^3UJX0&].*/14).6&6] M$5X3O1*-PE2J-\38^^'%BXUC5K(Z \(TF:R87$).M'AL]3=#6/*Z-GG:229" M(7U3 3O)%)-L&XGR.AE6-!'%;W HN@7)Q=[X\@&;J +5";Y(KN'TIBCVHJW) M%%0F^=INXM]*3%IB[[7!8Q&),3'*,P>&/E-$B. :&=1&_;X%"7JT!0F0Z4O5YL];,)&0@MB-?,R>&_HF;C=YZ[<; MD-#X^ TPRJ%+8TI.J)L$%B)V::]_;/I;YP_9WA>\>D$8!UPLA]&YB''0OJ='_4$L#!!0 ( /"!9UAW*5(2 M A@ "I. 9 >&PO=V]R:W-H965TW=7VB[O1NLF^+LK*/3^X:9KECX\?N^F-7B@WJ)>ZPI-9 M;1>JP4<[?^R65JN"-RW*Q^/A\.3Q0IGJX,4S_NZ#??&L;IO25/J#S5R[6"B[ M>JG+^N[YP>@@?/'1S&\:^N+QBV=+-=?7NOF\_&#QZ7&$4IB%KIRIJ\SJV?.# MB]&/+T=GM(%7_,?H.Y?\G=%5)G7]A3Y<%<\/AH21+O6T(1 *_]WJ2UV6! EX M_.:!'L0S:6/Z=X#^AB^/RTR4TY=U^5]3-#?/#\X.LD+/5%LV'^N[G[6_T!." M-ZU+Q_]F=[+V9'B035O7U N_&1@L3"7_JZ^>$,F&LUT;QG[#F/&6@QC+5ZI1 M+Y[9^BZSM!K0Z ^^*N\& M7%U>O/N475Q>OO_\[M/5NY^R#^]_N;J\>GV=/?Q0EV9JM'OT['&#HPG XZD_ MYJ4<,]YQS&BA>MON[W /MX.FS3K M1[=44_W\ *KCM+W5!R_^_:_1R?#I'LR/(^;'^Z"_^&!--37+4CM"_K*N'! M M% G]-E3W MN.:O;O?YV-AT=/LSU'Q36?;G0VC4]TDALGEU5X+*JBLS@L6LGSA1&63 ASU19TH:[&S.] MR935^*LNR]5A?5?I8H"=C;;3>K%4U2IKK*J<8IB.P4U4"9QP#=JH2P/-8EQ- ME>".U8,]_'D2^?-D+W\^.TV(OG:-@171='>^]@>KE\H*\?#\3233=233-O[M M/RQPX2\ND)3FA] MK@Q]8B18#BX6VD(#8?A_:PT$$3:O@I>@ [.FQJ9'^BN>)OPX$UK -%MI90(K"&0O MJR>EF2MO**ZJ;%&[!CAZT:9S=86=MW3DKHV,EII#IN?>;^#J=07Q!U+ +W$X M.5'=[42!(+>XAY$'M =%IK7L&Y-8 DR$*AA?\J&C&)800E" _L],[K(@R Q7QDL M08)W93\ I\R4R_T9)0F?V,B5%^M$ J$#P&A"3.S?J.-Q/2'K0.(&\+C>G35- M@RLM6PO9!"55"\&TYG=/0+X+6G2R1G1.%\!)T0U$Y CC MQC2MV)N4MH,=NNRYYH\1S8KFU).$"%EI1H)#$O55N^Z9W"+>()5^HC"\((X' M<:Q>$#48]KR&C%:$%S%8B$*\W$584]W6;$"(/$2P3O$25P'\W(U9+B'(>=0J M6Y!D MNA2QJ]+[ADOQ+=E[=G+T?&L0M1]L,-SW I^MKW:\VE_=>0?-E =E9 D[?"%^ M#A-FR6'JQ;*L5UK[J,+8XI!T,\49?/6! MU$P9*_L'V9OX-ZEVH:'*9-2<83( 0-;(:?+DLTDQ1G -G<:9AY9^!< 8K^$O$%5G7U:(#!%R,D>C'++ M08\Q"_4K&<"5:,1*2%[@3F):K2X,Q2.650!2ZFH;DL'JB_,!3Z)VR0:.Y_4D M?.REDQX8,Q>WHR EY]1/#5I$0[0,^(L@ET0ZKY0F=X!-,"*3" TX\BD$EDA M[S M07COY3S/V0]O",Z%STTB1;IKITCUL-@"/!6HIH;GP;,'1_G9T3F?^^ D M/SL9$\->0486$[ _%&GX.?X8DQ$AUTOUN'+5,?&B[X6"O\][86NA2:V(K.)R M2:8AHA3D!6RG,5U-E8^R*1]U&TY:&PZ62"4IBK,BS"V<;K)+F+9#P5+HFZR( MB=@A2'Q(3J'OE^/J-4 NM1XW>7E74U[Q^78"1AY/[36>46M=4BH1&)/8?W:4&AE"W6"-$D M-DKXU%9(34N.N.8<(G)"7CM*DP6$)WT2@E"X-47FVI8 M?-8AF>[5KGJ(=WZ-ZE(QL!&0 L2'>%L@)?42%DP^TH@<0AV:!(M-PUWM="F M]> \/S\3[7HPRH=/3KPI$R8X9&>$Z/W5\>JO871'$A6MU8-1#YL=R(SV!8/G M,5(XW^O.+T).])&]$ZG>MIA@+Y#M]<\MD#NC%9[9[AEI8B>/32\$E!RA2P62 MH.DRYB]QGV20%- MZC_>T/H3**)PCJ6J[P/ND"LCRX(!+\):*51QE1C9:,%>WB-$$LIQU4*MN)Y( MLJU*?$TU".@_Y!*Q2%CN?5_?0*UY'5^5+#KV,9-BXA=()*:)HH!YKTC';D:Y M'I'#II1^7;D5C"V,E!-,56"+7^&C):>Y(I@>D@> 4IWT$3NDLJH79@H_#^HY MG[-[V.+NO#QRZ0:QGI1*R1;"9W%M*!:3 R;YQB6,0XP-#_'5.*F@R7;PU=R:@CQ\W-XO'L;JD M%E&EB+=A9KR$N$B%" M:&8P?Q39*I*=X/PIR&"#F]"6ZH_=[4AA4E4DVE$AHBNR^+J2545_'_>'?!VI MGLV" 'NYPBXY8#Q;=Q[>=0:-E%,52 M!<>[5:EY4"SLL PQ[&TL>U6P2THZ*;%&&2\/'2@Z:UOS'K=I7R6BTH)3!ZG$#80(:/^I#$]R;GK M[>H5@\GB@<.^?-1[E',! =#8R_O&AO@R,A)DC*/=L=HL)JUUO>A:J@2^\!VL M%3.3JV8YB18, 94L@K6A0@9SWU=,?="S(.EO+(<*.0GM]4__5HOETXL\]O'@ M(7;=,79!O)V"7:^GAG5'&J7=/: ZC[I,B%QERJLJW)Y;-DGALN>&8JKK>425D8HL?-*1Z9(<'Z22J!!F:XAV]4*) M6:0WS/BYC4)S/]Y+4F7?;FB,M)%AG;:)3^9S5BJP^E) [Y(9EMUP8Y.<97_A M%N(.?+VW+\G.1P1^$=,5DM=:2\;]8A-,*.IO#C,\<,&R7DJ1H%+E(8!GKIXU M=QRD=-,#<+QEJ'OY37Q!7&Z^EH\BV%GNH(:08)"]_BK';30:Z(86JM=OU;)< MM@N![4]G V!]+T_2G^0*).XM/G=WX"_ 1&7 MI$$$M^Y*A"6P4YPS0Z"IF,SWI-YC%7HS/,3 MPSVF28:MI,YE\Q +4TCY:FN M4/1?"OE\1D-6*IVBX#A[2H939_UZ7P_P??V-%L .IB9E M3Y:KRK?**ZFNL\16H;^C?>%XAF#(;9;HN-OI$@S3?">T=<7S2"87E<+G<1UP MR>'A$+M24524M2Y;%1@$)KX+W,'71TNVU;=U X6COU-^+ M7S3-[VRU9??9N'/"@@BAV'V6M+";N,C9ETCBZ W:>C4HIW8._*^!K!.%*/@F M-K$0II2%RQ..A#,6"^H+QM9+OA[K<0JWCEHZ+#5)"SX^BNLWL+R0R-;0P>$1 MC9#SQ6&I]>U;M_9QC!6 3BJM5R>)+:6[Q<%O:H,GM07K$?G=T[T*.C'3X1H%Q1+=B,XFT^G%1#:A![=;(;E1WMGY7] M"1DL'TKH2U!WA32AFE."GUWPU;9J[%\'NZV)G+22XFI/7XYG)61].'K$J3>= MD,20Q*=TVBZ)29YF#\>/I))#/I)Z+C5EOEFE%FD8*K4>ZO>:1A^6W-)=1V7_ M.73AAT>/PK?>+WL +IVH\9>)]<#2,L M_[3''NC7YB$RPD2+?%L\T>NTH%K4=Y6_"/>IH[OKA,5Q$+>%N_]\_-:-[8_V MC])?UE"1JO$H5_@B ),WK?4TVT3=JC/L2!A*8AGZ*IM!;*OV>J]2$HPRU MU4&42BH\9U7+!$H,KI.NMU0DMLX+=9T:)T&W'V:-#_KSM:/A#]Q5(XM!3*+* M RM&&(#;6D48I#DYCV*&8,D/*UQ57+)Z:Z:VEA= \NS3J^QZ557Z*Y"V,#B^ M1D@P>1TE?>FC]4G@KBP- S(>_9!GH_,?9/^(/J6%C7S7N(=<<+F!M;_HX#M= MZ!7-4\E[+_LN<02TQ^-PB2??YQ+C_X]+'(5+C+_/)48LN^(H28*I&Q"JA-3G M*ZGJUDVKL!C_*8YOBG8:Q_N7*B2_X/"%.@GBH*BP9XWFN)A&+))1"C@9ZI)R MVS(9C?^C3-BJ%GG'%X[G"4VY.ESEK:_^3S1/?;15]R8)>5$J (_14 MXL(-W>;7=MH9Y2)6.L@[\/KY@\>J+SRQW$].J23%E&=A3P'-X3SZVJ%Q8GB(WDSKOZP3+5(R*),$FW'@4^IV M^Z*?[J6HT;=>:$(2WA*W^LT;:6QO#X?V0^P2@'7([U/(O3S9[L>BJVK?8\CL M*+O37!<.!;!09PZOJMW6)3P5E7"ZAA#-]T$@;[0J?FN5I0HSO6:.XZ92,8NO M.# #Y+6ARC\37.,Q7,)2?MBY0M;=Q/J+E+I#.80GJ/T\L<_GR$PG^Z6$BZRT MXK6]UUG3ER[@?6VKDS<..[326HWYYN@CE1:!PP9-^SZ/.EN2R92Q8,V,*V3 M2%[U2SG:[R(#XK&,9/.4SF!7:T1*E_M$@Z90B-N* )>;(KF^CD64\QBR:=GK\#Z(BV_@=KKQ(!OGQZ.3Y#.;B/'3+=]L MUZ[QZ:B'0;HW?/[$9OA;.ICB=')V>B^I':GI/L,:O>JTFC_2T6OE:7ZMHN(1RJQ8Y"],B4#Z!WS MW>#W7SJ2"<-NDL.O5TUCS:1M0F1:U3Q\S!WQ>OJ%ZU"^/\F?:_^2]MY)F)[=R7WI/GD.$5;_ MH#GZN_Y?,U_OV@7%)[7]_C=[I^-L>F=9SH[RU*3AB_-\/#I/OC@YS\^'G%#:/CQ^-AZJX&)Z=]FN*ZOA^/3ON;GVR<_^;/S=7TWF\R!=?<82;XI7G. MT1,3N=W<46FC9^WBJS=K%FL/5Y'X*QJEZ,J^V+](VZ(WBCL*-#MP6/1E<*^/ M[-[U'.U_(Y/>K^#8\8JFA8ODYTF2W^&Y]@/^VW.0[WE $J9D;Q624.+74/CU MC9TO:WH%X>&;B^N7CV3VN=B^\/.21^<>7EQ_?L3@#X?'.7*D&?UN!D*:C_04 M'VLDJP\_U4O(]]GQV:/LC9I21!092SB]9E9P\+,= )9V>'\,K9OX.TH(S&[J M.TIA\@SX\%>'PY-[H/,CQ!Q+^(U]P>6ZK:CI\8K6XZNX-*7IN_I65$/4@LD* M@D5Z"0I'A\/3/+OV;SA$K,/QX[,ACK]:T'O-?AX.48$L8Q<>=K[J?I E?9&K M4]!O87'.-3=R.Y_XY7V/P.GQ-@2ZE;V#MZG)X^3GN^ TY_PC9?QC*%4CO^05 MOXT_A'8A/__5+9=?48.4SNG%N%+/L'4X.'UR(&W\\*&IE_QC8).Z:>H%_TFY MK;:T ,]G==V$#W1 _'FX%_\'4$L#!!0 ( /"!9UC"97/4P , (<+ 9 M >&PO=V]R:W-H965T-AN;<4XR$O5,(R6 HBBS2EXL<4$KX?6:YUW'ADNUCI#7L\S.D.5J"> M\J5 R:Z]1"R%3#*>$0';D35QKZ8=K5\J_,%@+XTUT9EL.'_6PCP:68X&! F$ M2GN@^/H.,T@2[0AA_'7P:=4AM:&Y/GJ_*W/'7#94PHPG?[)(Q2.K;Y$(MK1( MU"/??X5#/B7 D">R?))]I=OQ+!(64O'T8(P(4I95;_IRJ(-AT'=>,? .!EZ) MNPI4HKRABHZ'@N^)T-KH32_*5$MK!,OY&'.[*: M?UG,[^:SR6)-)K/9P]-B/5]\(S^>V*?%K330+R\]!6&%B;V^$AR+0* MXKT2Q/7(/<]4+,EM%D'4=& CXAJV=X0]]2YZO(&P37RW13S'\R_X\^LR^*4_ M_[4R5)PD?$M6;)>Q+0MIIL@D#'F1*9;MR)(G+&0@SV5?^0[.^];7ZDKF-(21 MA?=&@O@.UOCC![?K7%] 'M3(@TO>QRN\IE&1@(:.WI4H0E4(C9AF$>$J!D'" MF(K=>>B7G<^X5)*P+"R$@(A@#W@CAI!D#P((E:B_?O?W-Z"BXAM!MD"Z09":,3_K:0;IAZ*W [1JR7KG>]9F=![/TIV@]MX' M#W*:ZYH\M;';&#J]GO_!M,%NG5J MNG7>8$2:%ZHLBV8<-D06EN BEA0*:XU5SQ"P)#EBE8@5SM'NP!3=@0%=DPVG"@+;+8X9FHE0]P_%PV="]U1$I\OJ!MYIW0V, M=?]5R!<8;< *O ;*(/!-T3=BW?[#SZ\O^[0L\^F3^VVWUQ #QVQ@[6ZO65-, MMV'<:8A^KVELJ<5,/52;T:4>^Q\S+\ M'22P15.GW<,V)JJQKQ(4S\M1:\,5#F[E,L9)&816P/,MY^HHZ #U[#W^&U!+ M P04 " #P@6=8$^4%A-8& "C%P &0 'AL+W=O&A=;6=#>/*.B3EMG'X6F)><_'Q^I?K#S]?DQ>? M]*PR_N79M('6\&TZWVNX[#2()S1P0=[;NEE[W*+#%KC+$+LFB]'JU[5#='/6:*=T_7*H"PC M8Z#7D0;Z'XS&FPEH(,BEV6YS#% 1?)<4LE$ M)$Y3JI(L$HLLHTKD\&C9W&MGXF5$0I.\B.5I3G.>1O(DIU+P2"R%HBE/$$ 4 MJ_/36X01FTLT+DLIDTDD5HQF*H\72VF:Q:,%XU2HE'PPS?0*Q7'C[&(7JO1@ M/!>49:KG)(D+>EWU;ZP;?50Y(BS(3R@1 M1]YIMPAIGX:\E/.^>E90T4-D#M=5G-*)SV)H$4*& R$Z7_(,,>0_ L,DP"G/!5]26"!/.U' M#Q"7F3R).D\S6J@QCD$YIBR&:U%0+N)R">I8G![)&4T2-L(Q 6N)C.4@DUS% MD)89 !-C4:"X4'?/2L@&> M!$TE_+BR5+)5_3S'2,#K")B"P]+8@7:C.RXJT*PPL, 8QTCL6C(3)S*!W0)0 M[',,*!0C^SLS#?N=4O%&^3_BEB.V_@UN$8!)5IQ(4'ZB'UN1@$N2["3:#'LE MD]D(MR1@A2RNKP)P%0/;&/J7(@8]MF-LR6J$6[BBB1C@%L% %@-DI4ZJ][B. MPJ95/,\M(39'K*K %0/%CSVXB!?A;/>"?BI)U8F,@>,3U<=_"KNSI,\UZ%X AE2E M(R?4]'!"3;_ZA#I?AW.?)SB$/9Y&257J?1W/=*5K!&;H0#J^QL"!E&R=O2L7 M[6+=M5-[?S.SNR9>.R3]V9.I]L&%^'06$!IW5*<'S=?_&.7&Z\=K7PWX1\G] MNL1).-!.6<^K72!KV#@!\-T.S^;+UM3>=!5G6\CVID_ZG(JN.#M]S^(]Z.J8 MZ[!%C.2;+':NS=MSQ_[' []HO=!^GW/_MX/=*K_LS"&Z&6F0'[V]TGY-'(:5 M=UT<]>*NFPT3:]N$;W95EW_@J_:'ZX]C!T5Y+LF;#9BM\4\,QN/6N!:\0;/% MMMA=J'B4>E/Z96F.K/@"*H64+\?J2A& Q7G>_\^Q(?3WL4IB&+57@][ !X6=W>H!^GA!OI-=_%Z'-Y=7[_7 M;E7"ZLHL,96]RD%[KKL2[E[0G+37L#/;@)7:Q[71"^/" 'Q?6K1'^Y>PP.%> M_N)/4$L#!!0 ( /"!9UAN;\[4#0, .4) 9 >&PO=V]R:W-H965T MSSW>/GL>]L#[;:W-LHV*1I;:%-Q1UZQ"NS;(LRJHD"&+HEY8<*&"T:"R79O10)=. M"H77!FQ9%-P\7*+4VV$0!WO#C5CESAO"T6#-5SA#-U]?&^J%#4HF"E16: 4& ME\-@')]?GGK_RN%.X-:VVN"5++2^]YWWV3"(/"&4F#J/P.FWP2N4T@,1C4\[ MS*"9T@>VVWOT-Y5VTK+@%J^T_"@REP^#?@ 9+GDIW8W>OL.=GJ['2[6TU1>V MM6^W%T!:6J>+73 Q*(2J__SS;AU: ?WHD0"V"V 5[WJBBN5K[OAH8/06C/='&$YFE#\_08^FA&!9B5$D$O(>4V!_Q4B@V7GBMPE8'-M7$O M'9H"A-J@=8_*.#[1U?\'AU13/5KG.;D<8:DEE;50*W@N%%ET:2G8OCB'9T_Z M+$HN?MN?D@:+!9HF<9J1<4'*Q!?,X$J3DKFBPTQ6_;=TB-FVX8.V%BVT$N;; MM?KU0JF8\(%*WMS3$;TL:76;H:<0L[.3N*7M:=6*V<51RSYJ=G"/?[VD>6?6 M@;=Z@T;Y&<&9J@P?P&):&N$$VN]BXBXCSF??VZ/DX#QMQ6T,EC"XU8[+UGJP M?GS"NJR]0M'Q-?412;?[QV3W5^Y_4W:?]4Z2?N\'DWL7].T>_PS6SG#H3 ]; M5V^!9E4],/PQ62I7W\*-M7G#C.NK^ZM[_0":&UL[5=?;]LX M#/\J@C<,+6#4_Q+'Z9( 29-U ;JV:+(;[E&QE428;/DD>>GNTQ]E)[;2)L;U M87?W<"^V*)$_D11)B8,=%]_EEA"%GE.6R:&U52J_=AP9;TF*Y17/208K:RY2 MK( 4&T?F@N"D%$J9X[MNZ*289M9H4,X]BM& %XK1C#P*)(LTQ>+GA#"^&UJ> M=9AXHINMTA/.:)#C#5D0]35_%$ Y-4I"4Y))RC,DR'IHC;WK2:CY2X;?*-E) M8XRT)2O.OVMBG@PM5RM$&(F51L#P^T%N"&,:"-3X8X]IU5MJ07-\0/]4V@ZV MK+ D-YQ]HXG:#JW(0@E9XX*I)[[[3/;V=#5>S)DLOVA7\7:[%HH+J7BZ%P8- M4II5?_R\]X,A$+EG!/R]@%_J76U4:CG%"H\&@N^0T-R I@>EJ:4T*$?E+!^V?@/1]]X9G:2C3+$I(< SB@:ZVP?U!XXKV H,0+SCF \V1'&4,X2] \4SC;4# 6C:4D2J(IE3'CLA#DE/$5 M=.9$I MQ-?H8,LI5=O!EEN"X@,@K@$W!^= ]B,%/#D1E"<2E?9DBB2(2D@"A2F#\4KG M.+J@&?#R0H)'Y>4U^O N\MW@XS_^GV"&LY@@K! $#4E71-2! ^&HB,@%E00M M."MTA9!H4DCPBY3&U&.Q8C1&"R@BX()F?LD59K7#;;01'.0.6[]'86C[06A, M1'8WZ!MTSPZ#CKGNVQVW81C'<9$6#)JOYJ[Z86W7MV$)JT'GG&ML 1V*'K_Q>/VO__J'_E M4;<4LFY=R+JMM>=UT=6E^(E4'C&] Y5.*/HGUN=RJL:U[_-O!>>O_K\N;N=6 MF@2=2473TJ>W932;7M:1>-TS\#Q;=]0OV_[QKG[=K\7G6.-;->HX1W0IV&MBB!M4A57J7HN*-\C M+[1[?=.-7F!'GF],'"MS2L*WNWU3XDBGEM(3UJ4G;"T)31H>?+% MUX[WUM3]M']6_4ZPV#^1CY/VI0 DL7F3>'"XKKEH!N*+I::J=X/(7.B=5,\, M/F"*RJ(,ND+GMX;[]"SOZT X.N93A^88[0N$^*9LTB2*=<)7G4P]6_>!XZK] M:=BK)O(+%AL*=S8C:Q!UKWIP)8BJ,:L(Q?.R&5IQ!?E4#K?0RQ*A&6!]S;DZ M$'J#NCL>_0502P,$% @ \(%G6+>]8I+P @ .0< !D !X;"]W;W)K M&ULK55A;]HP$/TK5CI5K10UB4-"2@$)*-,JK5L% MM/MLDH-$36QF.Z7]]SLG$-*)HFK:%^([W[U[S^;._:V0SRH%T.2UR+D:6*G6 MFY[CJ#B%@JDKL0&..RLA"Z;1E&M';22PI$HJZ;N@4+./6L%_Y'N2P+TJ= M9QP>)%%E43#Y-H9<; >69^T=LVR=:N-PAOT-6\,<]./F0:+E-"A)5@!7F>!$ MPFI@C;S>N&/BJX"G#+:JM29&R5*(9V/<)0/+-80@AU@;!(:?%YA GAL@I/%[ MAVDU)4UB>[U'_UII1RU+IF B\E]9HM.!%5DD@14K3R<_''XLYF4TGT[NGT?C[E%PLV#('==EW M-%8P<4Z\0QO7:/0#-(^2>\%UJLB4)Y"\!W"06L./[OF-Z4G$6XBOB._9A+K4 M/X'G-WK]"L__2&\9*S0\E"\D2:/Q?2!"$=M"A;4_HV5'0 M;3Q/P!,A:TD)2&9:W$:QNI1<$51!!"J437S0M3W/;9M^%!WHE7@84A0$BDTN MW@!4LW7M-4O//60LA&8Y64NAL-J1L]['A9YO=SM^R[ZV_>!@C\P-,!YC19RP M_W[PR]\VZ/>9=N.W/!@3R0DF28YJH!W6=TH:F4%-@V[!_O(?\LF M'!^0PW6%;FA'?J?M\5R;1N[?Q(_UB],:9P7(=36T%:F*UI.M\3;OPJ@>AX?P M^E&Y9W*=X8'DL,)4]ZH;6$36@[HVM-A4PW$I-([::IGBVP;2!.#^2@B]-TR! MYK4<_@%02P,$% @ \(%G6(=;)UD! P _08 !D !X;"]W;W)K&ULK55K3]LP%/TK5I@02!EYM6D+;24>14,:K..Q:1_= MY+:Q<.Q@.Q3VZW>=-&F0H!+2OB2^Q_<="3YS,F.+8 M\W2204[UD2Q X,Q2JIP:#-7*TX4"FE:DG'NA[\=>3IEPIN,*FZOI6):&,P%S M1729YU2]G@&7ZXD3. UPRU:9L8 W'1=T!7=@'HJYPLAK55*6@]!,"J)@.7%. M@^.SGLVO$GXQ6.O.F-A*%E(^VN JG3B^-00<$F,5*+Z>X1PXMT)HXVFCZ;1+ M6F)WW*A?5K5C+0NJX5SRWRPUV<09.B2%)2VYN97K;["IIV_U$LEU]23K.C<* M'9*4VLA\0T8'.1/UF[YLOD.',/0_((0;0ECYKA>J7%Y00Z=C)==$V6Q4LX.J MU(J-YIBPFW)G%,XRY)GI_/;'?'9[_X>'-S3!0=]./8, M+F)3O60C>%8+AA\(!B&YEL)DFLQ$"NE; 0_=M1;#QN)9N%/Q I(C$@4N"?TP MVJ$7M25'E5[T42E;@(3/O55KK]-[7L=?E6!@9GNK\7Q/[)#I>]UF5OE_HG7'Y"!QH=DDB\5]I 2N22F S(4G*\H$RLR $3 MB,A2(T,?'I/]O6'H1R?_[8W["?D"5+6G#6CWUCY"72K*D"ES"1 M\#*UWCA+L"& KJIA M,$Y?SU:PK/V%\*+*=AMVDH;Z,@&KJ#?MB)^^XHW-H\39(R+SFUFY8"'KF$T;JSH6N:2V78WQIH& ?# MT/5'O<,M,(AQB0[P_NEPB0#3^5[]V(W[PRXP_QBNJ5HQH0F')5+]HT'?(:INMG5@9%$UN(4TV"ZK M88;_)U V >>74IHFL NT?[SI/U!+ P04 " #P@6=8(DJ%&W0$ (% M&0 'AL+W=OY(<[3BXHM<4JK0URS-Y=A:*E5(X$G8^M2_?B*M#R1N /1E>R,4?:DQGG7S1Q MFXPM1QM$4QHKC4!@>*37-$TU$)CQUQK3JI?4BLWY!OVC\1U\F1%)KWGZF25J M.;8B"R5T3LI4W?/5+W3MCS$PYJDTOVA5R8:AA>)2*IZME<&"C.752+ZNX]!0 MB)P#"GBM@(W=U4+&R@]$D7 MTYLI.GL@LY3*\Y&M %1_LN,UP%4%@ \ N!A]XKE:2G23)S39!;#!FMHDO#'I M"GQUX7NVB9_"\0RY2V#79YEFEY[?KZ7*XD 6)Z=B"?)=4 M/%)K\O:-&SKO.ZSR:ZO\+O3)%,HK*5.*^!REVD(4?LFPH[W'OU? MXY^4B&JK$6P4S694U)M5"]W3E"B0N"-",2IK_F]J2<66?."*I,CL#[H&[Y]= M_)H4#%38WX -?4D0Q?)%(WRUX$_([;G^L$'C'O:"!NWUO,BOZ>F2"_5.49&U MH04>KN=^L$4=#MU_^7+ E#!R=TP)AWZ#]GO>(#CYQIG8H]N\:N2Z(SX?;;E$ M!6$) AU$,E[F2B*6QVFIMY_E""!1!BZ7@D*C5MM<3AF9L929S2=Y@N+#&R!\$]X?X..;) Y(P&>O<0N )?7TV?)-P>1"!G_>X M?M^)6KG^/O<[--[]/7M1 ]Y0IVK$./ :-.Y!0NYT/V=P;"/V<53/W09*T*CS M%S7BH8]W3 D;A]B/1OSM&O%>"OCA3MR=X?#D M=;IW:'W8,5/QVP0VJ0L877:A%04L(J&)I*9 STSCX*6$QG!,NK]VA+_/QEQ] M@LFV(^Q5IQ9$J'F)=GN>V^SEP6#W:Q2%6F5[WW/#;>7!P1 X#2IR/2TH"0RS;9ZJ*FY]3/79?6ZLQ6OWL@^$;%@ MN82"GH.JTQ] 7Q'5NU-%*%Z8MYX95XIG9KJD)*%""\#W.>=J0^@%ZL>_R3]0 M2P,$% @ \(%G6,K8N$K< @ QP8 !D !X;"]W;W)K&ULK55M;]HP$/XKIW2J6BEJ$B>AK 4DH$Q%Z@LJ[;:O)CF(U21F MMBGTW^^<0,K4%DW3OL2^\]USSYU]E\Y:JF>=(1K8%'FINTYFS/+"\W228<'U MF5QB22=SJ0IN2%0+3R\5\K1R*G*/^7[+*[@HG5ZGTDU4KR-7)ABK%>^V=9ASZ'M?^+ M@ZLXET'JEA><<-['277H*PUH=E-E6KE3>1$ M:2]E:A2="O(SO?YP^/ TNH+1S\GH;CJ:0O_N"NX?KT M^2Q'?=KQ# 6UKEZR#3"H [!/ @0,;F5I,@VC,L7T3P"/V#:4V8[R@!U$O,+D M#,+ !>:S\ !>V)0@K/#"STJ0)&J%*8PV]-(U:N!E"OH7C>H%G=[Q4=#R+P^PCAK6T2'TWI3:,UWE"'(._Y[! MX1@[7-S'E15N_H8+B:0>U88,B0N=PESFU.RB7,")*$DC5YH\]>D%'!^UF1]> M_K>5W@(6,^)CW\-.:=^%_3 85@U$QY;X"Y:I5-2R2ZF%T8WY%V"1&P71GB)D M;OPU@BFG-P^&;][%;;E!%+W3,K<=M&":267 H"H@1QH83:U>WSD$[GD8OM.& M;G#N;^^OL0S<.&9O8NPRUH:_O*"WQ*+0;4?AGB(FA=_>*3YZE][><*%2+JH1 M:B]]59IZSC3:9DKWZ^'T9EZ/^%NN%J+45)8YN?IGY[$#JAZ;M6#DLAI5,VGH MWJIM1G\:5-: SN=2FIU@ S3_KMYO4$L#!!0 ( /"!9UC'(HF$M@0 !D. M 9 >&PO=V]R:W-H965TQ%Q=UN9:+\Z:317,,6&J(1;(:68J9,(TB7+65 N)++1* M2=ST'*?33%C$:U<7=NQ17EV(5,<1QT<)*DT2)E?7&(NWRYI;VPP\1;.Y-@/- MJXL%F^$(]?/B49+4S%'"*$&N(L%!XO2RUG?/KKMFO5WP$N&;*GR#\60BQ%BUQ@'%L@(C&ZQJSEILTBL7O#?JM]9U\F3"% Q%_B4(] MOZR=UB#$*4MC_23>/N+:G[;!"T2L[!/>LK7M7@V"5&F1K)6)01+Q[,W>UW$H M*)PZWU#PU@J>Y9T9LBQOF&97%U*\@32K"M-I&+N-F4D98T&Y&>OAJ- M'P:_?'SX]6;X-/H)AK\]?QK_#OW[&QA][#\-3Z[[H^$-#![N'H?WH_[XT\,] M'(W9)$9U?-'49-^@-(.UK>O,EO<-6ZX'=X+KN8(A#S'6_"6[T>=MNE\1'M6K:S95\RTFX9_R'08B<1-A/W8KD&*ON4)\]A M$U75Y.?5Y%>6@LESP6EC%8AIE@Q*EA8LL(:157(HZH:FA,:7HE&V]HJ4APM^#^ M@\K:O.V.T<,S#Q<>R3'-WC>>4"0D<,&7J SSE$=$>KN_W;I1W,KM>J?;+LA^ MW6NYN3PFW ERG$8Z'SMRZZ?MUG%1;KO>CNQVNEOYGKH+G$[I3PP4;T[2.GY% M$FZGMT/"[123LE5W.OY&KDC.=IZ<[_$PM6("7-6J^%'/@E%#*\O/S0B.^URU0/;4ZST*XG*&?V4J+H M;Y-RG77N^6A^[^EG[?YV>79IHMYF%G$%,4Y)U6ETZ922V44D$[18V.9_(C1= M)>SGG.YN*,T"FI\*H3>",9#?!J_^!%!+ P04 " #P@6=8M2I:7A$& " M% &0 'AL+W=O M//)LP?@7,0>0Y*DJ:W$^F$O9G Z'(IM#1<5KUD"-?Z:,5U0BR6=#T7"@N6:J MRJ'ONO&PHD4]&)_IL5L^/F.M+(L:;CD1;551OKR$DBW.!]Y@/7!7S.92#0S' M9PV=P3W(WYI;CM2P1\F+"FI1L)IPF)X/+KS3RUC-UQ,^%[ 0UC=1FDP8^Z*( MF_Q\X"J!H(1,*@2*KT>X@K)40"C&UQ7FH%]2,=K?:_1W6G?494(%7+'R]R*7 M\_-!.B Y3&E;RCNV^ 56^D0*+V.ET$^R6,UU!R1KA635BADEJ(JZ>].GE1W^ M#8._8O"UW-U"6LIK*NGXC+,%X6HVHJD/K:KF1N&*6CGE7G+\6R"?'-]\O/KT MX2UYN/CC[3TY>J"3$L3QV5 BM)HPS%8PEQV,OP?&\\D'5LNY(&_K'/)-@"'* MU OFKP6[] \B7D/VF@2>0WS7#P[@!;VB@<8+]BE:9ZP"\D"?0.S2K^,.=W.K MU#@5#WG#T6.LPQR\@_27H8ZV$. MI-G *SH\J?!(QC"?A(2I'Z;O#F MI[W_!,I7\4/0^U!-@.L(6$]0D: >OGIXY*KE'&KY_05]!SEP6O;T2^*'3ARF M]D#DA&E@#7BI$T9N/W OJ82>2IP@-)-3!RNF]2_TS+\')G'AK-.L'T4CC$:> M(0,GMA9'6=+8D-"C3V)[1NS$9N! PD=] MPD<'D_2*50VKT<5"I>':8_M3_C":2OEL U$E=F^X3E^Z6LK**YU/F.Q=3E$. M:E)7#\0/KP8FF:\M05$" 5+\]^4NE/2TSD![/$/80I*2(:KM\E$<692'Z3GJ MZ9OZ$ M/PQS$/K]=V1X[RGNQ3A;MGP'DV=%J!>:>G(->8N=#N[C!)ZP=4,I'=P0"FRY MBG))H&I*M@0XF4 -4[0-AY)**[T,:F)LPR,VH4UEEU:S?&1YH?>&58[N) ^!O6M#SC2I=-9UQM7R^G7%F M8=<)7:.UJHU&J5]!8&Y^[D.9]MEF5>,D'6U49S>VZOM'/&<<6C[%2CNRJ,3: MZ+[UO5%HUI%8P#=4F_>,Y8NB+'5X,1V=12UI/5/Y)RPCA Y6!=LJ >[HKAG MC0HS!=-" <'7MM@=I4>IDR86CL%SG2CQS0]]N#IATY-6P',36Z[QW'@7& ;R MAFS0T"+ORXFU$T?V/N['GJ'VAIME=XLU=,)X$\M);/"ML-DN)"]1<.R$0BO8 MU%#BC!)W6\G_Z[UJ6@_FP,NMY-T>^;]?-JF*\P^JYJZTZ+,L% M[A[/I5&-E6K>:+W4'DG>"-W)Z&;*=];=E&?UFM9I#,666NR-3A3%5K"B%WVZ M$ETQR#"G=?NOGW7\9/G M)ZG-16H,6'3&VD[K5J;?M9W0VKD.95+-WPHUJ>;,K/BPC?(]0$_#]E M3*X)M4!_Z3C^&U!+ P04 " #P@6=8=(%/PKD$ #"#@ &0 'AL+W=O MNZ[*%KQDZD@L>07_/ A9,@VFG+MJ*3F;-8/*PJ6>%[DERRMG M-&A\MW(T$+4N\HK?2J3JLF3R^8P78C5TB//BN,OG"VT<[FBP9',^X?KK\E:" MY78HL[SDE*8- M H/'(S_G16& @,;W-:;336D&VN\OZ)^:W"&7*5/\7!1_Y3.]&#J)@V;\@=6% MOA.KSWR=3VCP,E&HYA>MVM@H<%!6*RW*]6!@4.95^V1/ZW6P!B3>&P/H>@!M M>+<3-2POF&:C@10K)$TTH)F7)M5F-)#+*U.4B9;P;P[C]&@R_N-J?'V/3J\O MT-WXR^G]^ )=7$[.O]Q,OMZ-)^C@GDT+K@X'KH;9S!@W6R.?M\I M(K9<%GEFRH*T@(VQ%%(W%NQ4"2'5'*EVF-J6SNX)KZ$/* 851TTVE>8S-#5; M%_&GK*AG'*AH+G]?SP!18E9G&F@\\JKFZ@CMIZP7')V+@S9U(A;D2$0 *\G'+9R:#YI1BQ:F;>",H54@NQJM:L#_(*0$2M($ = M'B,SH>>?_++GWPWY\8_D7P),$DT.+?UN_7\^U;$IW%+FBJ.)*&I3&-7]^1LB MF'H$$Y]L^'P:8#_:]-$@Q4&8=KZS6H&*E-H"2[ 7ASA,4\M#@Q#[A-@Q:8*# M-.H\M_44Y )*RC1HX$?4,/9Q2H+>#D-#M+># $>!U]GW0K,"59VT^V0H3D(/ M8@/+YV,"2:<6GR8NI9!'V/EN.L'F529*C@X*H?X+A>TIFY]B2FRJH8^#.+8< M,2Q&Z+^G6G&$2=@O6PQECON, Q_'B?_N(E%,+!J@+*^'.H#UIWZ3YI(%^TF?(G^ C3?&?+[X+#L= EJ^[./185L)ID__3./Z'%A58 M=3)VFMHVQ8&7O$?H$>W#(JN&4=BO^SY])WW18@NMY[-#U,2#?M=O--C"06Q9 MGK5Q6C'/=M5A0SRPUS?4!&MDT6LBX*!Y!<^4XOK7'SFQ%^!PHU=%D8?].-@+ MO*.VH4=Q[/<'3@#'390F>R'WU1NZH6_5/($69LWRUG-79X-3SR>IU>MI%V]@.) '(9/.T]M(4)S3:![KM8]6U[A4EE_/F]J10)NI*MU>,SMM= MT$[;>TD?WM[NKIBFUM!BV=Q2ID+#G:=Y7<#:<6D" MX/\'(?2+82;HKJVC?P%02P,$% @ \(%G6(@_,W3@! >AD !D !X M;"]W;W)K&ULM5EM;ZLV%/XK%KN:[I6Z@LE+TRZ) ME(:VB[2^J&DW[:,+3F(5;*YMDE;:CY\-!$)"W#+1+PF8.O M8H6Q!&]12,7(6DD97]BV\%R7$D]8(^',5KB.9;/ M\0-79W:!$I (4T$8!1PO1M8$7GBNHQU2B[\(WHB=8Z!#>6'L59_,@I'EZ!7A M$/M20R#UM\93'(8:2:WC9PYJ%7-JQ]WC+?IU&KP*Y@4)/&7AWR20JY$UL$" M%R@)Y2/;_('S@'H:SV>A2'_!)K=U+. G0K(H=U8KB C-_M%;3L2.0^>8@YL[ MN'L.KGO$H9,[=#[KT,T=NBDS62@I#QZ2:#SD; .XME9H^B E,_56X1.J[_M< M_P'WUV ^N[F;7<^FD[LG,)E.[Y_OGF9W-^#A_L_9='8U M!]\]+!$)Q0_P#1 *GE8L$8@&8FA+M1 -9_OYI)?9I.Z12:$+;AF5*P&N:("# M*H"M(BC"<+=A7+I&1 _[IZ #3X#KN!WP//? ]V\_@,!+)5%9L\#IY^'<+5P- MC/=Y&%@/4XFV4]RT3HK;/8)[ET0OF .V .KYYT@2NMS&*L"_AK O,]Q^BJM3 MPGK<&=KK76*,,^LL="%BY..1I=*,P'R-K?&OO\"^\WL=/2V!54CJ%B1UC21- M(I9H/H($@P5GD4H/]%4 E2J!SW% )/ 1#X#DB J4)B%Q OP0"4$6! < "64@ M5@#_3,@:A9K;.D:S1?1V&1UTSO=(/33J#_INU<@SAO,_R>H59/6,9,VB&!&N M5:-5%7.M*_D.U..=QA\?TU/O0$_.7N@?6GB] W)*BTHP_2*8?H-@")6(+LE+ MB-4M%;C^+O8-:\CBZ'\8A\FB$L=9$<>9,8Y;0DF41'7K-3HV?$JG;8)Y+8%5 M"!L4A V,A#W4ZO8$8"&)*A'40YT(O$A"$*I:HU8'9OP.>,>(USE.C8Y-.6P) MK,+A><'AN5ETZ.V8Z(R.3477)IC7$EB%,.B4)93SQ;+[8(*SX[HS>S;EL2VT M*I$[M2@TQCEE49Q(5=D(MI ;Q+$J9@Q)T(S65)"MHGEMH569=$LF72.35Y^7 MGAG(D/+,GHT):PFM2EA944-S25TKO>.IT(S66'JM%MUMH569+,MN:*Z[&TC/ M# 0=@_9:*I9SQKZB](9E[0W-Q?<0)N,%7M7)B^1R:!ZO:)D+J]6V-P M]19C*H[P:(1O+,8VT;RVT*K4EIT -+<"DV"MWLQ$Z X99Q36,GA8_[MNU]GO M >!AB>\ZL-?;:P1JS&!OX)[5=P.P; >@N1^XERN5H CU650?1:M=0:MH7EMH M5>K*Q@":*_<95;E=U6,Y>X#1@^8^?>K$BG'YF[*-E*5*6S(ZUO?G$^Y*YOQ\ ML+^;4F,%G5Y_7S!?4?##LN*'YI)_5UV=3.L)\F6[N"^#K7;EL8[<8+3X@3-)M\[WQ2WCA M99\!2ICLJ\0MXDM"!0CQ0D$ZIV=J/3S;Z,].)(O3K>\7)B6+TL,51@'FVD!= M7S FMR=Z@N)SR_@_4$L#!!0 ( /"!9UCCN:5OS@0 P? 9 >&PO M=V]R:W-H965T<3W@.[$WC7(2EDP]IPU)LNAXV4C MHB'U909!U,^6CFD89DAJ''^7H$[59Y:X?_V&?IL7KXI9$$''+/PS6,K-T+EP MP)*N2!K*![;[2LN"\@'Z+!3Y7[ K8ST'^*F0+"J3U0BB("Y^R4M)Q%X"[+AJH/#F:/]W=73_\!>YOP7SR93JYG8ROIX_@>CR^?YH^3J9?P.S^VV0\ M^3P'OX,QBWT:2T[R5_80B&?P*Z:2!*'X33V>JFDZ)R$5ZKH8.N4#5ZI19GVY M?CFBFV)$J&5$$($[%LN- )_C)5TV 5Q57E4C>JOQ!AD1,?7/0 =^ LA#'G(TTZ/CX=&JKI5&^LD^-U6_#&);/@'S /XG5(P=C M1$K6U2N1$)\.G34 MJB$HWU)G],M/L._]H>/))ABV!-;@L%MQV,W1.VT<-B8R5Q-9QUW7)G6_9+K4=>0-WNT_=NQ'8%-$HLE\5V3<6.4^3) QRD4WB-2<1N M\ MSE3#UQ9A1#MUJM@$PY; &BR>5RR>6Y#9N4WN;()A2V -[BXJ[BZ,,W!&><:= M\EZ9>!+.EJDO09)R?Z-LC@ KSB*PI?&2:=?] OQB7Q%GV?;3$)8VJ'.@K7>" M&L5=5L5='BNO1PSFKW%,7Y2[X DKYHJN(B/BJ=/$)ABV!-9@$GJU@?,LB*P$ ML42?531L"ZU)X)X#AA^IM!*]*1!X>2 U;51F)QM:TT>UB VBND)TK-SR;4RP ME7Q/;F;(DR>,331L"ZU)9VW 8<>&XJQ:;ZMHV!9:D\#:?4.C0?W/BNOJ%'>X MN9G'<#)C'V&Y8>VYH=ETO\=81.)T17R9BN-I1(_,W[3W%?:,QVS)M'58-M54T; NM MR5]MJ)&-[]G(Z@=MJVC8%EJ3P-I?H__/7YN[.IGF=QQV29\VZD"6[MXQ843Y M.C]N%YT?9![7Y@8# "N"@ &0 'AL+W=O,AD:K+UZ:(.1(O-0H#T[&LNAD2&AF=5CHVY9T62V1 (YQR$$D8$O[II.OP_[P=@Z? M8(9"\L25":?1&DCDP43ZR*'O$[Y& 9<#E(0&X@-< (W@P6>)4+-$RY0*52]H MNCNL7H;EO()E.S!BD?0%W$8>>G\*F,K'W%%G[VC/*54"U6)!O0UO1$Q<;!MJGPGD&S0Z M[]_9=>MS"6XUQZV6J9^"FPG64D&]R3<=I]YLM,Q- 48MQZB58MR&<<">$4%@ M3#C1&[1P[5*5$T-5SQGKY\YL_0UP&SENX]R9S03KQYFMVO7BS#9SC.9_9Q9^ M0==U>8(>X).Z3X0Z*PZ 25+&E!)BR%+ESLQIM>Y,]?G_@6NWP#7M@ZGN54: M_3S,^RQ(Y.K62-, 2XQP167Q<6R]^![%&?RKVB5VY\:+N? MYYP[OSO%,Q,?;AN[]'8XB;CR\@!OV'^EUCPJ(4)44KI0$N"R)))9-9&/YL58 M-RM!#M.S2FZD2*C:] &NE*EUU5 K\ZPXRCJ2Q6E!LF12E3=ITU<%)7(]07U? M,2;W';U 7J)V?@-02P,$% @ \(%G6/KE9 ,(! F0\ !D !X;"]W M;W)K&ULK5=M;^(X$/XKHUQUVDI[Y)4$>H $I-U# MVE)4RIWNHYL8B)K$G.V4[K\_.PEI2$VV*^4+Q,[,DWEFQN.9T9'0%[;'F,-; M$J=LK.TY/]SH.@OV.$&L1PXX%6^VA":(BR7=Z>Q ,0ISI236+<-P]01%J389 MY7LK.AF1C,=1BE<46)8DB/Z8X9@H]V>RPU],CJ@'5YCOCFLJ%CI M%4H8)3AE$4F!XNU8FYHWOFE+A5SB[P@?6>T9))5G0E[D8A&.-4-:A&,<< F! MQ-\KGN,XEDC"CO]*4*WZIE2L/Y_0[W+R@LPS8GA.XG^BD._'VD"#$&]1%O-' M,D*96%!4F4%O_HK71$3<%T+RA8I8+55' N M*-BE@OU9!:=4<'+/%%1R/_B(H\F(DB-0*2W0Y$/NS%Q;T(]2&??%LN[A;SZ?()IO/YPV;YM%A^@]7#]\5\<;N&/V"&6!0 M2D/PHSCC.(1;1-,HW3%880KK/:(8OOB8HRAFUT)AL_;AR]4U7($.3+YE$*6P M22/.OM8VGO8D8P)6;%Z=K4ODH9G5BNCCH >V^14LP[(5!LT_KVXIU/W/JYLM;.PJWG:.9U_ 6V8) MIH@3>J/R;:'KJ'5E";IA!Q3@L29J#,/T%6N3WW\S7>-/E5^Z!/,[ COSF5/Y MS&E#GRQ%^5VD 4E$9W!';F-;?RFML:^YK70-RR M\HX1)1"?RMY!E+V\CJD\6B"[M3!:KC7P&BFAE/*:*:&2,H<74L*KR'GMY&05 M%] !T159=A[X-!IF,UJ"ED7*=!3"4S4-,: M5+0&OQ2SL+RL/A>U@<+3CM6(QUPIY=@-+EMTSF\=5*=5,:H60U7,]==S- M6J]F_OR\-IN:TGA397R_:;Q*RO::UG^4$M;W+UAOO5MOM>;M- PCV>NC6+2/ M+(@)R]0GL,3I*'4[1?.[0COWX7OW9K8V.I-;57D&_!;$F>AV84M) J)1.60< MY6.5J.B_5OW*[]=[#Z.91#\5\5M%"NIZ;681+>DNG_V8,#Y+>=&<5[O5?#G- MIZK&_DS.G?DL] Y3#*WWB.ZBE$&,MP+2Z'G"'EK,@<6"DT,^&3T3+N:L_'$O M9F=,I8!XOR6$GQ;R ]4T/OD?4$L#!!0 ( /"!9UBCY[>+> P "1\ 9 M >&PO=V]R:W-H965TM#N8;+O7'EM)C#I65E(F'6!__$J.QQ0IBH[JMS+1;.Z+Q^6S;?58[GK?G-;U0_+ MMGM9WRV:Q[I-'K8+1HA:/"PWNXNKR_U[[^NKR^JIW6YVY?NZ:)X>'I;U MY[?EMGI^+8Z4]>:AW#6;:E?4 MY>V;B^_I=XX2V[?8A_RZ*9^;P<]%WY>/5?5;_^*?ZS<7I/^3RFVY:GO&LOOO M4WE=;K<]JOM#_GN@7AP_M&\X_/D+_8=][[O>?%PVY76U_<]FW=Z_N3 7Q;J\ M73YMVP_5\X_EH4>RYZVJ;;/_MWA^B=7=)ZZ>FK9Z.#3N7C]L=B__+W\_9&+0 M@*J)!NS0@,4-Q$0#?FC 7]M '!J(?69>NK+/@UNVRZO+NGHNZCZZH_4_[).Y M;]UU?[/K#_Q-6W>_W73MVJL/[WY]]_,O[XJ_%V[3+._NZO)NN3\@U6WQH?Q4 M[I[*XFM7MLO-MOFFB_KEQA5??_5-\56QV17_OJ^>FN5NW5PNVNYOZ8F+U>%S MW[Y\+IOX7,J*GZI=>]\4[W;K*80I&C7_W6^:?_E M^.F*&4F4$)>+3\-LC.,X9<):%<:Y%,\R:>4Q+NB#//9!YOM0M67_I=DL?JH^ M;K:;]G.J,UG&W../A#D0+,B=.N9.X4I((5.(A#D0+$BA/J90__$2>FFJ!D/> M2JHTB2IH'$:I5,9&<2X11ZPB7*4KR!R[8+)=<&7S6UL])GN0;3GWH"-A#@0+ M,F:/&;.XNK'(%")A#@0+4DB)EU7DCU?.H>UPK#.E+--1Z23B."5"Q*63XFG! MM$V7#AV(0YKMQ4UUVSXOZ^21SS>=>^BA-(>BA6EC/FT,5T$'%BJ/2)I#T<(\ M>@U,L_KP1!'Q<7&P[@P4*[A$'+.,DEC!I>*TI=Q,%)&7H32O0V_ZO-3-XJ:M MZNY:.MF7+&'V&$#2'(H69L\+8"J!M015PE":0]'"/'HQ3+-"\40MJ?'8)Y0- MKEX.&4G$T;Z:XEH:Q]%>RY&)6O)ZE)X4I(OKZJ%X7U?KIU6;[DP6,7L0(&D. M10O3Y[4P-O4*F6?5XHIALXH2C.D$6%U,BCBK#1\64B"-, M:)HN)N8U*LMKU&XT/&Z7GYMBN5L7-]73;IWJ3AXR=QA :0Y%"Q/HY3&CN')B M4+T,I3D4+;7*\FKU M^]6J;)JJWDST SI+"Z4Y%"W,G%?(3 #K"*J5H32'HH5Y]%J9G9@MSM:13-2' M)GQ41XDXRQ-UE(CC1I"ITY)7JBRO5/_5WI=U\>.R7O=3#XO^\FFSFN@3=-H6 M2G,H6IA%KY29!M845#)#:0Y%"_/H)3/+SQ_G:\J,SR7,$AG/@2?C.(E7FUPR MCA'")VK*"U:6%ZSO=FU9/]:;INR$WO:I'Q+I#D'G+7,"7)&% MBF8HS:%H81Z]:.;Y.>5L01W:!A,'C% :7Q1=IP(Y$US%IZDD45@A)R;'N5>M M/*]:4S55_*]XW9)MGCU[@$!G?5&T,*\#YP/2^H#U/F#-#W^&JN9>5?,S_ ^' MMJ'*HTK%2U").*$8E:,R2\0Q8]3$[#GWFI;G->U$E>66=?/$V6,".@N,HH79 M]-J: ST1'*JNH32'HH5Y].J:GV&,X DK ]=JL!Q[R$@B3DE);%Q;B3A!Q&1M M>6W+\]IVHK9RJ[YYXNPQ 9T41M'";'J-S8&^"0X5VE":0]%"UYX7VN(,ZX08 M6QTZ.2>TB6HK%4=,)Q!CWUXBCEK!)JZXA)>Y(B]SIVKK]&)P'CQW:$!I#D4+ MD^HEMP :*P148D-I#D4+\^@EMCC#6"'&1@@E"1\Y8Q-AG32,A6$J3!$V,=LN M!N;>O+J=NOIZQ0)QGCQ[8$!GD%&T,*M>;0N@VT) =3:4YE"T,(]>9XLSW!8B MX8Z@C*A8'R;BC%0T7A].A2DAQ42%>8TK\AIWZLKK5:O&>?;LL0&=44;1PKQZ MU2V )@P!U=M0FD/1PCQZO2W.,&&(L6F"$B7HJ,82<9RQN!9=*HYUQ3CA:))> M[@TN@;X-"57=4)I#T<(\#F[R.\.W(<<^BWXFP\0S]E5[@RKW#'%?7J]>4\>?;P@,XO MHVCA7<%><2N@D4-!A3:4YE"T,(]>:*LSC!QJ;+O@DE$:W75UG8@3FG,=W7GB M4G%,D<%T8]@++W-57N8F:RRWNISGS1X1T&EE%"W,I1?;"NC<4%!=#:4Y%"W, MH]?5Z@SGAAH[+;J"(;&--Q%F#(UO,7:I,&TFR\I+6I67M,FRRBTLYWFSAP-T M,AE%"W,Y>(X%\D$6V"=98!]E\6?H:^7UM3K#M*$2)@NI-8UO@4S%":UM/*.1 MBF.$DHEI>>75KU>J\JDU?<[UB53G/G3LN MH#2'HH4Y]1I; VT;&JJOH32'HH5Y]/I:GV';T&.C!654TU&!C>.L43H^?R7" M#%5FXNXN[;6MSFO;]/76J]:4\^39(P,Z@XRBA5GUBA7GT M4EN?X=O08Z-%=\(9+2DGPB@U6L;6PQ3."CTA$/7@F6UYF9NLL!/KR7GD["$! MG4U&T<)T>KVM@78-#1794)I#T<(\>I&MS[!KZ(2]@E(IXEF-5!SG)#[)N21/ M$C%AF3=>XIJ\Q$T6UXS5Y#Q^[@"!TAR*%J;6*V\#-&X8J-J&TAR*%N;1JVUS MAG'#C(T66C$;WUZ9"#/4J/@4EJ+)2?.\\4+7Y(7N^Z>/V\VJN"E7;57GUY/S MI-D# 3J-C**%6?12VP#M&08JKJ$TAZ*%>?3BVIQASS!C.X74W(X>0YB*DY*S MV)Z1BA-"B0E[AO'2UN2E[41-O7I%.8^?/4"@$\LH6IA:K[@-T+AAH%(;2G,H M6IC'P:.:SS!NF,2S,8@V(Q]4*HY1/CYW)>($I6+J>=->Z)J\T)TNM.RSJ*'3 MRE":0]'"QU%[S6V!A@T+%=A0FD/1PCQZ@6W/,&S8L<%"2BMBOT8J3)F1R3 1 M)J0U$W9>Z[6MS6O;Z=K*K2WGH;/'!'1*&44+$^J5M@5:-BQ4:T-I#D4+\^BU MMCW#LF'')@NA>?S4W.M$&%=$QRM?J3 [O"TL[(*7N38O/32@ M<\HH6IA7+[PMT+YAH2H;2G,H6IA'K[+M&?8-.[9;""E5?!66"A/2F+C$QF%< MDZG%+^L%KLT+W,PUV"M6F//PV6,#.KF,HH6)'6Q9@MRS!+MI"7;7DC]GVY+A MOB5G;5PR=ETH)N+ZN4[%<29%7&?).,&G]ORA9+!S"TH&.YV0O J>+KH3Z\\GP/,'"'3^&8:+$CO8!(4@=T$AV&U0H#@' MPT7)'.R$0L[9"H6,;1G"VMC?>YV*DT;0>)HQR1.3/F!*!GNAD+P@GJZV&0O2 M)SYD_F#![I>"PD5)'NR80I!;IA#LGBE0G(/AHF0.MDTAY^R;9RQ>"5M,=@]^:&L[_:[4#?%JE.&[=D_^Z=E?;?I*G-;WG9(\FWO=%6C_L]FC]6;5L] M['^\+Y?KLNX#NM_?5E7[Y47_ <>-P:_^#U!+ P04 " #P@6=8?U!L1S\# M ">"@ &0 'AL+W=O4 FCR7!5=#)]=Z?NFZ*LFAI.I%[DE9=R)!W;L5L8#L= %XW KB5J4)94O(RC$:NCXSF;@CF6Y-@-N/)C3 M#.Y!/\QO)?;<&B5E)7#%!"<29D/GRK\<^YYQL!:/#%9JJTV,E*D03Z;S/1TZ MGF$$!23:0%#\+6$,16&0D,?O-:A3KVDI/G]>!V'+PHP,. MP=HAV'?H'' (UPZA%5HQL[(F5--X(,6*2&.-:*9A8V.]40WC9AOOM<19AGXZ MOKM^O/[Q<$W.R%AP+3&J9$0+RA-0Y'0"FK)"?<+9A_L).3WY1$X(X^1G+A:* M\E0-7(T<#)*;K-<;5>L%!];S W*#"^6*7/,4TET %\G7"H*-@E'0BCB!Y)R$ M_F<2>$'80&C\?O>@A4Y8!S2T>.$!O'%.>08F2LDFH 6C4U8P_=(4K@JMTXQF M+O&EFM,$A@[>4@5R"4[\\8,?>5^:I!X);$=XIQ;>:4./1Y QSAG/\%K9 [1] MIEI#4.%V+:Y).\NX$T31P%UN2WMKU(^"?FVT0[E;4^ZV4AY3E6,N2@ S26JV MC*9+RQS/-N%"FSF1QH:K+PHB)I%1+6( MJ%7$52D67*MFKJ8Y!VG3O1$FI@7+J$F@BBC\JQG;OX25H.@-U;/ #\)]14UF MG8O^@7WIU9)ZK9(P-?S/.>J](=/!^.XQ;C**#FQ!O^;;;]^"))$+C#L\X^NJ M,'.:\R-T#K(FS* Q6;;B_NOM/Q+83@@NZA!]_1TZ(/CBF(*/!+8CV/=> M7TZO/7N\4_(:IMM^+ANMWAQ,=^NE+T%FM@!2^-1@"JB>S'JT+K*N;&FQ-SXR MQ9>M(%YAJLKMADI,Y(H4,$-([[R'E&15#%4=+>:VGI@*C=6);>980((T!C@_ M$T)O.F:!NB2-_P)02P,$% @ \(%G6(=+/H&R P =0\ !D !X;"]W M;W)K&ULM5=1;^(X$/XK5FYUVI46$B3"-*7G0\1DDR<0XYL%%Q%3.!5+4R8"V#QSBD+3MBS7C%@0 M&_UN]NQ6]+L\56$0PZT@,HTB)AX_0OP7^K@ MY Y.ENB&69;6)5.LWQ5\382V1C0]R+3)O#&;(-;+.%$"WP;HI_K7@]$=N1_< M3*_(^&HPF=Y=C:^^?IN0!AFL6!"R60@-W"R-"0N!C.(52(6+J"1Y?PD*#>0' M-)U.+LG[=Q_(.Q+$Y)O/4\GBN>R:"@GJ,*:7D_FT(6,_0^82O"9QZ$=B6[93 MX3Y\N;M==C=1ED(;N]#&SO"<9_%FBDS 2T6@ I ?JR3YYP:=R$A!)/^M2G@3 MX:PZ@CZC%S)A'O0,/(02Q J,_I]_4-?ZJRK]$X&5Q' *,9PZ]/X@XD(%_\&< M#+E45:EN_%N9OZX>J[[=IG8+5V*UF\2A6<=UVFYA56)W5K [JV4WC;&&A1F] MSUB[*O?>!L'="4PM9X]<;90W*MPJQ4FJ9(9' MQQ#-0%1M_Q.#EJ0X+Z0XKXTRYC$\8@$6#_B)7:18YLC_9,BD3[#D$4\/X'L: MH%BZ2E9)4XO_VHIP(K"2%.U"BO9O+X_M4XIQ(K"2&)U"C,Z1Y;%S<#*IW:'V M?@4Z-*LYP-3:?N:M(XI+[NS^BEQN]U)V.TT(K2_?S4F3?.8K$+'N+HC":BY3 M\4ADL;WPF$U\U+BA0$389Q2=2&4^M>%>NZ].A5869]N%T-_?AM"3]B&G0BL+ MLNU$Z+&M2 Y0VL\M&[?T_GZN#?361+9-"SV^:Z$O:5OJX[PUCVWC0H_I7.AA M3X*+83O[C6%]D-[8S2QN>-M)HHGV35IQA5> MNK*AC_=B$-H WR\X5T\3??,J;MK]GU!+ P04 " #P@6=8'Z6EIJD# "@ M$ &0 'AL+W=OFSQ;J2&)?HUSR=5= MHO+D^.;A8?;]]NX.3.YGX.'YZ_43N+U_GMS?W%[=78/)?'[]/ =G8(HX_T62 M%9C$+$LD8$MPPUBT(92"CS,L$:'BDXK[-I^!CQ\^@0^ ).!YS3*!DD@,;:FH MZ@?:84GKJJ#EOD%KAL-SX,'/P'5GRZ:Z;;JD!5E=RJ2FZ.Y[U5I5)K MG9 BLU>?J;OP4J0HQ"-+M9G _ 5;XS__@+[S5YVLCL ,D5XETFM"KT1^!BO. M1.U+*P#Z.8!>(%[&@=MS+H;VRZZ(MBB#7:]BUVMD-PG#+,XHDC@")$X1X6HQ MD8 JIKB6:P'G[[ X"P)GL,>U+Z@ +\!ZX3B7G*BW5+<\-#TU76MM_<;5$FMZTUPV9OKFWNQVQ!2:BNA)+QUQNUU!O!3Y[V M':&9I=A^"T#__?W=J=EWA68*W=H];#3:H_I[<#C;?*^W/R=;HDQ^6Z>&S59] M>G\'!Y_89W5TV\(*OO;.]E'OW?]&?$42 2A>JCSG?* >+$=+@:2I?F.&PO=V]R:W-H965TRT,]N"Y'O6]HQC:)J9-,G$Z?:S8F2;*1<7R7&ZOW[%)6! ELWVY$L"^)S' MAU<@Z;4TWD?Q#[YA3*"7P _YQ-@(L;TP3;[&WR M; MO/5&)!?,Z7A+UVS!Q+?M?2S/S(+B>@$+N1>%*&:KB3'#%P[I)0EIQ#\>V_.# M8Y3T/7MX^SVZOKRQD&SQ<)Y7*"/:!9$L?#^I4\^0]>AH.':2PYGG#/!$0U= M],!\*IB+9LOE+MCEQWE6^DB\MYF@GL\_2-RWA8W>O_N WB$O1(^;:,\HJ];@D6J+-EI]0!_^% MB$4ZBH+FYZ<31;I]?CI6I#MGI^.^1HQ.\7!T4E[G"*_1TJH6RA!=-2+IYR[X MEB[9Q) =&6?Q,S.F?_Z!^];?*G4A838DS &"5=JA6[1#5T>7[2"[/B_T!/OH MRV[5E6]-T3#T:,-DS%[*3,:+YVFW9XW-YT.]M=_;5F](F ,$J^C=*_3N:?6^ MBB/.D]YK%PJ5LEEV_T!9W!^,ZMKV&OHKHFQM)6U% X)51.L7HO6UHAWK^%4" M]IL"=H:8U 141)'>J!9E:ZMJ*R 0K"+@H!!PH!7P5DX+CS]S@X889#08UA1K M!G7QJ!9D:ZMH*Q@0K"+8L!!LJ'_B#J<7[$7.G3E323=LOHB$U-_6H>)AJP?9 MYY <;='_4Y)1(EV: T!XI6;8W2J&&]4VLQ(.I!/2<'Q$'39>#&KPNXZ?6:4;:^E-;"O87;PZ7=PR?\7IL!46'5%"(J M7)]"1"!'EXOX%OX0EP81G^D0X^0'>ZD>WWA;]/TTY 5)7E8L-Z1AM4)H#1:OJ7_I/HO>?I^8II.DYDU]# MZV,L:9I.19BM+Z:U=&_A.DGI.HG>=;:9J>2H0WU&A-370A110\NJKX7HRVHM MXEN81E*:1J)?A=.OAY#F\IIB0401I5@1T1?26C90=V<>[.V0T[9UNJF&HV6B M2[:MH;A:;-R9I=M5:M(B'GCNGAAE&7Q4F _'P51>+U)/F"8IO3]#]02P,$% @ \(%G M6+5?)O^6 @ 70< !D !X;"]W;W)K&ULK95K M;YLP%(;_BL6JJ96V<@OT,H*4AJR-U*55DZZ?'3@)5@UFM@G=?OULH"QM:5I5 M^P*^G/?E.05M<$9) +PG+$834T1O;IV-?Q=SV9)D/#TD! (9;: :O;!L9 J392&+]:3Z-[I!9NCQ_=O]>YJUR66,"8T3N2 MR'1H'!LH@14NJ;QAU06T^7C:+V94U%=4M;&6@>)22):U8D60D;RYXX>V#EL" M>_"*P&D%SGL%;BMPZT0;LCJM"$L0&36>+T>Q\>G8Y0:/Y?+*8HZ]H(B11-8,$C3+& M)?F#ZY

5!?DP"!]B.0F%!QH&)OYQ':WSM >XCD:)&R4N \$8$I%:Y^J!FW M:&<-FO,*6@3Q(7+M+\BQ'+='/GZ_W'DJ-U61NDHY7:6VJX.YR#U4Q!WT)-BJO5NG.L0EMQ[$"<[,-OM/Z@^"##GSP M%KC7!]ZH_-W@.ZT_".YUX-Y;X'X?N/<"W'./GW'O=/X@M]]Q^SNY9^H(4LVB MS&4?O?_B>W%.CI[COPP:V"?_@AHL&ULO59KC]HX M%/TK5K9:M1(S>9$06$!B,E-MI3[0,#/];)(+6'7LK.W S+]?.X0L#Q-5VJI? M($[N.3[WY/KFCG=<_) ; (5>"\KDQ-DH58Y<5V8;*+"\Y24P_63%18&57HJU M*TL!.*]!!74#SXO= A/F3,?UO;F8CGFE*&$P%TA618'%VQU0OILXOG.X\4C6 M&V5NN--QB=>P /5N2U+3@I@DG"&!*PFSLP?I7X-J"->".SDT34RJ2PY M_V$6G_*)XQE%0"%3A@+KORVD0*EATCK^:4B==D\#/+X^L'^LD]?)++&$E-/O M)%>;B9,X*(<5KJAZY+N_H4DH,GP9I[+^1;LFUG-05DG%BP:L%12$[?_Q:V/$ M$2 87 $$#2#X64#8 ,(ZT;VR.JU[K/!T+/@."1.MVGQ('SZ]S.X^/Z#W]Z PH?(#ND'/BWOT_MT'] X1AIXV MO)*8Y7+L*KVW87"S9I^[_3[!E7WN(;M%H=]#@1>$%GCZ\_#@%.[JC-NT@S;M MH.8+K_ M]E6+^ HMR)J1%(, M)HX^61+$%ISIGW_XL?>7+?%?1'9B0]C:$':Q3Y\$SL&6X1X6U3#3";;3*(JC MOK9^>ZS=$A;[231HPTY4]5M5_4Y5+\!R+E#&=;/(06!SWGNZ9ZA*,(ET_2&N M-B!LNO?$\;&@@>][9[)M46&2V%5'K>JH4_5]!6@E>(&@*"E_ WOI1!>.#?TS M=9BNM%=,MH)(W:XS+44-6V6CAZ:$KEOT/TE.O$E:;Y+N;L$5IF@M=-;Z\UMW M2JF/Y<$J6Z[)12W'?CCHAV!*^V>4;[B$&RBK5OWR!7IR$_7.MECC?"Q+O3*Q[--"8:?(+%FNB>S^%E09Z MMP/-(/8#VGZA>%G/.$NN],147V[T4 O"!.CG*\[586'&IG9,GOX+4$L#!!0 M ( /"!9UCMX<&#$0, 'P( 9 >&PO=V]R:W-H965TJ(*AX+]9JN<#*[)("E-:!T]P#<%<#]*,!; ;S*:*VLLC6BFL9]*99$FFAD,X.J-A4: MW;#<[.*]EOB4(4['X\F/\=7DX0^YN!N1JY^/-^/;J[L'[T?D^.@+.2(L)P]S42J:IZIO:Q1BZ.QDE?2R3NKN23J"Y(QXS@EQ.Z[7 M A]^'.YNPFVTW]3 ;6K@5GS>OAI(; JIWPBZ(5]#5=2ESIDL)E7(XM),U4;"6WPMZ3K"ELB6JYZU% M;:CT&Y7^097? 5\[<\&QMEDAQ0*,QM8N\G?21]U@NY(M0;V@VRXQ:"0&!R4^ M"$UYFZ)@)YGC1:'O;FEJ"_-[[I[M#1M5X4%5%TE29B6G&D]@"M@5":/U78"[ M33,A-?M;+;0I#W>4:,\.JA\XPW3G,L3DD/KX8QV MFL,/ C_:DMH2U7-"9TNIO78WF'OYELH9RQ7A,$5&PO=V]R:W-H965TX)I1Y:6)M,Y$FO%4593 32+9U3<3C!"J^'GF!MS',Z;)4QH#3I"%+N )U MT\R$GN&>I: U,$DY0P(6(V\\^D4+58Z\$P\5L"!M MI>9\_0VZ? X-7\XK:;]HW?GZ'LI;J7C=@74$-67N3QZZ.FP!@J,=@+ #A,\! M\0Y U &BUP+B#F!+C5TJM@X9421-!%\C8;PUFQG88EJT3I\RT_8K)?0JU3B5 MSN;?9]/Y]6\TOLS0],?-^>QB>GF-/J$,]#'**7'=804:UUPH^L<9I@_ZW$E M^QDH0BOY02-NKC*TO_J ME&C*"BB>$F"=7Y]DN$ER$K[(F$%^@*+@(PK],!H(Z.SU\' GKT>'KR03=2W M++)\T:Z6"7WIA7JT79G>M[31UU -U=GQQ,,\1E!.94-R&'FZU1+$"KST_;O@ MR/\R5*.W),O>B.Q)_>*^?O%+[.E_)YMLG>RA,CJZ0TMG9'25!D$;==G MP,L_/CQYZI4->7T^"7LOEQ'>NM UB*451HERWC+ECGUO[;5W;"7GF7VB-=E) MZ#\:)^@71"PIDZB"A:;T#XYU3,*)I)LHWEC9N.5*BY =EOI= 6$<]/J"<[69 MF WZERK]"U!+ P04 " #P@6=8TT+<.*@% !B'@ &0 'AL+W=O6+/I&B_)'1%?UC=, MWED52A2G).,QS0 CB_/1!3R;.XYJD$?\'9-'7KL&2LH]I=_4S?OH?&0K1B0A MH5 06/Y[('.2) I)\OBG!!U5?:J&]>LM^A^Y>"GF'G,RI\G7.!*K\]%D!"*R MP)M$W-+'/TDIR%-X(4UX_A<\EK'V"(0;+FA:-I8,TC@K_N/O92)J#=!DH $J M&Z!V W>@@5,VR#-G%@L0+P=1^\S#S'5<>VH]U'5T@\:>-ZF"&OR\BI]GY%=,\B3&]W$2BZ<^ M;EZ76P#=%C=C+R_,L5]I\(T:_MJD]W)IT@58Q!G.PCA;%C.=@_\&I_QE@>G7 M9+7S;>SUA9K&E:;QGIIP%,5JN\$)D*6*R:U'RJ.LJS6C CS),A?25%:5D$0F M]>.=ZHW\7JA^4JF?[-X8\JVWC_ODD)O#@< :,H-*9F QP(G\;]RK/38 MYF,F1[%??-!9C8XS::_&H#.ZKCUV^W<*:.O":!OIWJTH$R>"L'0'QQ*GWG\0 MP!;'GB#/#08XUHHW-'+\3&5"=]&#W?0X8Z_-KR?*1\X 0:0)(N/4GF.^ FL< M1T :"8!3NLD$E_8A3#:R\BL?(7T&2*6 #2-R'0NU!R2-73J6BUTYDG!X^O"S M7N'HD"OG4&C-1&KO (UU>_:I4ARJE"ZD_>YW7DYWQ;BP,]K=*-<.AJ:CKO[0 M7/Z_YJ:91"?X0;)=$NGSU9N$7N;Y:CH!AIV @R,Y*9X(9ORX5Y^9 2J: @A! M6EA,""+<5^CG.Y"<$FF\!?(5$#<-IG8AT&Q#.GF*8AZJI0%D*LB.!/5FI>@O MJ!>X4]NUVSOE4-S0.M>>!)I-R2U))/,(W&"F%FPOQP,9C%+)6]@5J/T*'+^B M9,,#N8E2ZEMX$ZC-"32:@A>5[1*ROK] 6"MWI;">*.0-S45M,Z#99^Q?N+O& MP7-0FV2/NT #KR%(FPMD-A?[%&[4M0S0G[2-Q:ZH)D'M+!#\:0LW,IJ>YRZ? M0Z$U$ZD=$#(:@[T+=PFS8\GT10TN&:3=!3*[BQ]0N,T,GCVH9CW&\M_,D38W MZ)GFYK5%N^RO58R=H+T#[8YK*M(V!)EM2/Z-KY_:@3YPE +>XG,)TMX$^:^H MU>B@MN10:$VIVI8@\W>4E]3J$K*^I2#DM-\8^J(F:*C,:'.!S.9B[UI=XC3* ML-?9';M!<)"C]A/(["?VJM5=EX#\H&V_^Z("=V =.]I,./9/6ZL=H\]Y]K?K M Z$U$ZE-CV/^G+)OK2YAFDO&]UNCW1,9+]@XD M=XMD[WJY=FJG+,_T,J^MTV5_G9?F27N\!^*\UHA;M=.ZE+!E?HC)0RH$3?/+%<$182I _KZ@5&QO5 ?5L?+L?U!+ P04 " #P@6=8R5>)6\8$ M #Y&0 &0 'AL+W=OHBSPO=#-/V_9V4"04:+V&I*%[!=C&^"7 7Z1Z(Y9D=8=EG@RXFP+N!ZMT/1%49LB M6F5#<_TUSB173ZF*DY.'+]>S+S-P >XW""J)F"*7]57)07X>$)6Z)[$!Q7Q MP3'B@8GX+BH\( []!G$K=$_B044\.$8\-!$/VL0A\AK$K= ]B8<5\? 8\[)>UCQ'EIY?V-J1S(1'[:( M!P@V*V[%[LD\KIC'5N9?L_5&JIV4YFI_)4*:DHA;25SX7G.=6J?IF03T:AGU MK&GL=#.E^(FF5+XJ:Y'B/"%&=?1:Z0QB.&BD8Y^O;SY[M@!:\RG\W 5;7&Q4 M6E@((LU*#]NY^(/F3E2.VE>(* B&U:A#CK5P0ZO:31Y8OKPH5#D]K+Z1*6HQ M]=5NWV3:'C6(XT$'TUHXH5TY9RO&Y?NI&@0U\IN_=\,H'T9>!]5:*J%=*[NI M?@8SB271_DC;H'N:JU\XQ2F8,D&U)S?F8I_M.DGX1JU^\J+.)+W(>HNS(?9G7O@'9?4.G M$45MIZ#*'C?96]'[LM]K!=@=Q9]:(,R'^-.>XL]QC$>U'4'^3VYYG.BT7U;K M'+T#5#LB=+1[8-S!4;M]$$1-&V_'[LN]]B;H: /!N($C0PEWQM M--#1)H)Q!T?M+D(<-,^T=NR^W&O91T=EW[R#MSL)R&_VRNS8?;G7JH^.JKZQ M"8),JM_2GW.H/JI5']E5OUM_XO9Q*8B&3?8GU7UWKR^O_Q3Y _,ES87:.!<* MWKN,%!N^^Y]A=R/9NFC5/S$I659$ZX'J.<+QN3;C>[^5__V3/X#4$L# M!!0 ( /"!9U@:LWB&PO=V]R:W-H965T,OX@<0*)M04O1LW(IE]>V+=(<"BRNV!)* M-3-GO,!2=?G"%DL..#.@@MJ>XT1V@4EI)5TS-N9)EZTD)26,.1*KHL#\]18H MV_0LU]H-3,@BEWK 3KI+O( IR.?EF*N>W;!DI(!2$%8B#O.>=>->]V,=;P)^ M$MB(O3;23F:,O>C.*.M9CA8$%%*I&;#ZK:$/E&HB)>-/S6DU2VK@?GO'_MUX M5UYF6$"?T5\DDWG/ZE@H@SE>43EAFSNH_82:+V54F"_:5+&Q;Z%T)20K:K!2 M4)"R^N-MG8<]@!N\ _!J@/=1@%\#?&.T4F9L#;#$29>S#>(Z6K'IALF-02LW MI-2[.)5(%@1MT[?6^H^,HWPN__HMZ M(S5HI 8GI4XQ55LD\;9]2RIPM+=FY :'PHZ#O(X;M>L*&UWA:5TYX_)2 B\0 M!76[(%J?G=&1 C?V_0.9QT&^&SOM,J-&9G12ICG7;8JB8T5N&'H'DEJB M0L_KM&N*&TWQ24V[ H3] F2F .GI HR/3EC@=X+#/!Y'A7['.11M[UVE^AG[ M@?F"E$+MYESAG*M8$?#J::@ZDBW-[3IC4A6/:>;J-06N ]3\G#&YZ^@+NWF? MD[]02P,$% @ \(%G6/A\'D2C P ] X !D !X;"]W;W)K&ULM5=KC]HZ$/TK5FY5M=)V\X(L;"'2 O=1];6"V_:S209B M-8FI[<#VW]^Q R&P(;NLN/D L>,Y/L=CCV<&&RY^R@1 D8702I1:W=JV MC!+(J+SF*\CQRX*+C"ILBJ4M5P)H;(RRU/8<)[ SRG(K')B^>Q$.>*%2EL.] M(++(,BI^CR#EFZ'E6KN.*5LF2G?8X6!%ES #]6UU+[!E5R@QRR"7C.=$P&)H MW;FW8[>K#&,:2I1D(>O[:@ M5C6G-JR_[]#_,N)1S)Q*&//T!XM5,K1Z%HEA08M43?GF']@*,@0CGDKS2S;E MV"[.&!52\6QKC.V,Y>4_?=@N1,W #4X8>%L#[]B@<\+ WQKX1FC)S,B:4$7# M@> ;(O1H1-,O9FV,-:IAN7;C3 G\RM!.A:.[+Q_)Z.MT^O7'AR]_S\B;"2C* M4OF6O"/?9A/RYM5;\HJPG/R;\$+2/)8#6^&\VMJ.MG.,RCF\$W.X'OG,0WP(8"/ABK6W8SWR6A$G$%T3W[TBGN/Y#83&SS?W6NCXU2+Z!L\_@320EB#5;X^@\W<-XWB;P0 MV('D3B6YTX8>?L(VX0L2"8B9NB+SG6H249R4J=]-\DO,KL'4 68==AU\!O:Z MKNNI40>$NQ7A;BOAL2%*%L@M1797!!Y63% 32V)T7!/==L3/5)2[2&^C;I.# M6NU?Z*"@TAN 10"S)0O", MR(0+]4Z!J ELC%0E:% 7UG/[O2-ACT?Y02?PFW=@KV+<.\LC>*E*A1%5^V+> M%C1ZC]@<.Z)MQ '7?L6U?Q97NL9+@WO97JM[)S!7Q 3M1JG> MHV/@'6V[=OR7\M_G"6[KG8Q!"U-@,CUQW;0;G^VJ_R,]%\[/1,.J\<] MWL<732WL6OV0@5B:LDJ2B!>Y*I/RJKY,P7+4/](EG:E+]C!E/8C)TA*7 MA:2P0$CG^@8%B++$*AN*KTR5,N<*:Q[SFF!9"D(/P.\+SM6NH2>H"MWP/U!+ M P04 " #P@6=84E4.RDL, >E@ &0 'AL+W=OV]GVN G('23S*3X0?)NTVR3W#O[4@$% M/ 6;VB8/=_;#KXT-1L8HN/MO^J(%8OUDZ#E8]K&4LZ)N>= M69HN/W6[R7@F%CPYB98BS'[R$,4+GF9/XVDW6<:"3]:-%O.NH6G][H('8>?B M;/W:=7QQ%JW2>1"*ZY@DJ\6"QR^?Q3QZ.N_HGZNW[SV9NYYXD81?,_ M@TDZ.^^<=LA$//#5//T6/5%1OJ%>[HVC>;+^FSR5VVH=,EXE:;0H&V=[L C" MXE_^7'X0.PWT_H$&1MG J#>P#C0PRP;FL0VLLH%5;V >:- K&_2.[:%?-N@? MV\.@;# XML%IV>#TV%T:E@V&QS;0M.#89??UR[5S=7-ZRKU?D([GB<GW73[/WD>]4=E_O^ MN=AWX\"^ZP;Y$H7I+"%..!$3&>AF'\3VTS VG\9G0RG:8GQ"3/T#,33#;-BA MT?'-C8;F]O'-]8;FCKKY%_ZBVG=7W?HJ>LPZUP[NNW=TYTVMZ;&M]6%#:W;T MYZ:?-C3WCV\^4 21N4TI<^V9AU(JC<;?9]%\(N+D-R)^K(+TA6017B3!Q_S; M?$+&T2([Q"4\/T@T17[1A=7<17[0_)0L^5B<=[*C8B+B1]&Y^/O?]+[VCZ:H M16(V$G.0F(O$/"1&D1A#8CX(DQ+%VB:*I=(OKK.AD(CC+!O6*;,]2O!5.HOB MX*_Z5WJ1&8797YOYZ._Q0M>R/V?=Q]V0/VHK6[E_;6,9B;E(S$-B%(DQ).:# M,"F6>]M8[K6+Y26/R2.?KT13#!?68"^C;.3ZB3-AB]!.&T*Y?[>%VW]J_C5+6SECK4-8B3F M(C$/B5$DQI"8#\*D(!YL@WB@#.)O8KF*Q[-LB$VBAWR0O8A"DA3Q7 TK"%]$ MJS!M"FCL);O0T;7^XY2%[I4B,'?L6_/T-3:VVH12X MI]O /54&[DWQ91MOXW?RX?#PX71O)WJ6U:]][2K[:QM\2,Q!8BX2\Y 816(, MB?D@3 KTX3;0A\I OYQ.8S'EJ=B,+W9"OBG6AWNC!V.H&;58;]AH,#!KHPSE M?K6-823F(C$/B5$DQI"8#\*D&-:UZJJYIHQB0],&Q3B9L' LPO75\.LY;[R6 MI[;:#BJ@F@W5'*CF0C4/JE&HQJ":C]+DW-BI*.F__OIWV0Z M1EX$CYNJK"-UT];9@=0JN5#-@VH4 MJC&HYJ,T.6>J6JVN+M;>U.\S( ]13((D6?'L\$)6899,Q0B,!-OCS<&!%[(" M.()J-E1S2DVZJ<+HU2ZSN= ^/:A&H1J#:CY*DW.BJO[JZO+O)B<>>3#G]W.Q M3HF'5;J*!9G&O+E:IN_7=HW36D",U!VW#FEHL1BJN5#-@VH4JC&HYJ,T.?2K MFK&N+AKKP^& .(OE/'H1HCS/N-Z4D0^>9D KQ5#-AFH.5'.AF@?5*%1C4,U' M:7*.5.5I_?0-3C.05+\G(-/U_"CVJN5#-@VH4JC&HYJ,T.2^JDKGQ!I.0#6@I':K94,V!:BY4\Z : MA6H,JODH3YFB^"[UL*<\G'M0'2]"Z-U1SH)H+U3RH1J$: M@VH^2I,#O*I[&^JZ]Y_KU8+$Y"-_%'%^?6E=V/LXR6=C//"@G+"\OM04;L=5 MQ?D$?^+Q)"D:'$B1_?G*?>.D?FFI8:N>6=_*;MC*ZI_4IWTXZK?;.JBAA6NH M1J$:@VH^2I.#NBI<&^K"]6V4\OF1X9O.>$J*'S2&<-'3[L2ZX6!O:8F&K09& M/3;MAJUZ/6-8CV!H_1FJ>5"-0C4&U7R4)D=P57\VU/7GNU#P.*S?Z#V.DL9[ M+HS]*:CZL#>L3XE3]]EZ, *M*$,U%ZIY4(U"-0;5?)0F1WU543;4,Y[OPEB, MHVFXOO]N+_*3#^2I'*V0S6BE*&OE7^]ERX/GK>J>S<-3(=0M6V<-M*8,U5RH MYD$U"M485/-1FIPU54W9.';Z=!"F<1 FP?CP.@&E):]68)BG]4,%M-P+U1RH MYD(U#ZI1J,:@FH_2Y/44JW*OJ2[W%I?VG1^K( MU$:;%57[R^XUSE[QO"GRU MU_;")52SH9H#U5RHYD$U"M485/-1FIP?5478?(,9UR9TQC54LZ&: ]5FQBY._2OJP695#S:M-QA6(0N((ZAF0S4'JKE0S8-J%*HQJ.:C M-#EGJA*SJ2XQ_]\+L);^[C6KT_H*FV4N0*=*0S4'JKE0S8-J%*HQJ.:C-#D7 MJLJTJ:Y,7ZT6]R+.\R"IC;>:SS?V)U/K]8+QJ&&C^FK:KV_BJ'>\=7A"R\Y0 MC4(U!M5\E":'9U5V-M5EYU9+#IO[5>>&-8?5/;;^2H86G:&:"]4\J$:A&H-J M/DJ38[XJ.IOJTJ_S/ ZRH4G*GTF<%]'R:K.(4QY4D\DVV= XBZ#DY?F3>[^Y M0[T3K=, 6D6&:BY4\Z :A6H,JODH34Z#JHIL8A?A-IL6V#;J=61UIZW#'EI' MAFHN5/.@&H5J#*KY*$W^=6-5'=E2UY&KL _EH?FK"5#"N\,?:[!_:ZBZ_[89 M -4[7:]B(F5+.A MF@/57*CF034*U1A4\U&:G"55;=@R?OV%?PLZX1BJV5#-@6HN5/.@&H5J#*KY M*$W.F:JD;!U14D:MJ:KNJW7N0 O-4,V!:BY4\Z :+37I\O:P/H)FT#Y]E";G MQ,[O-U86VW9&6TFZKV6Q\$H(5LJ.9 -1>J M>5"-0C4&U7R4)N=+55U<;T:9A>;9A- MMZJJ=ZQU:D KXU#-A6H>5*-0C4$U'Z45J=%-9D*D-D_YQ=E"Q%,Q$O-YDAT/ M5F'&YW60[:O92.LA7\K^TZ71Z>Z]_EG_9.OYZ]V*N3A;\JGXPN-I$"9D+AXR M4CL99&D0YPMV;)ZDT?*\HW?(?92FT6+]<"9X=KS*-\A^_A!%Z>9)WL%3%']? M[_;%_P!02P,$% @ \(%G6"R/7NBO!0 $2L !D !X;"]W;W)K&ULM9IK4^,V%(;_BB;=:7=G6&S)(1<:,I/$[$"[7$J@ MG4ZG'T0LB&=]R=H*+/^^OF%%P3F*IX%(V>X^1;NA1"DA]A M$*4GG:64JV/+2A=+$?+T,%Z)*/OF(4Y"+K/3Y-%*5XG@7A$4!A:S[9X5MD/(K7,O C<9V0=!V&/'F9BB!^/NG0SNN%&_]Q*?,+UGBTXH]B+N3= MZCK)SJQ:Q?-#$:5^')%$/)QT)O38=8[R@*+%G[YX3C>.29[*?1Q_RT_.O9.. MG?=(!&(A?3R)F0B"7"GKQ_=*M%/?,P_#L&]"M KJ%,V4JA0\NEWP\2N)GDN2M,[7\H#"SB,[2 M]Z/\N<]EDGWK9W%R/+^]FOU^=O75/;V9_T)._[@[O_V;3"Y=,C^;W)Q^GD[F MIRZ975UN^4OV"LB4?'2%Y'Z0?LJ^O9N[Y..' M3^0#L4BZY(E(B1^1N\B7Z4%V,3N^7<;KE$=>.K)DED+>$6M1=7=:=I?MZ"YE MY"*.Y#(EIY$G/%W RG*O#6"O!DP9J.B*Q2%QZ %A-G,:.C3;/YPUA+O[AU,@ M&Z=^G$ZAY^S2JQY-FC\;?A\(\L_7K DYER),_VWRN]3K-NOE5>@1F.B-6,2)1SPN&S,$@]MF"/>D M& K$/CH@.\<2+' 9/QT2.BCCH<'4J[WI@8)5>=MI#AC=UARX*X4YS &\V2.> MV([9G'YM3A]4O(TE#XA7C9,F>\#XMO;TW[SX@V%WL#4ZWC9B/<:ZS2-D4",_A6;7W!4M.-V>!6:JIH 4]X\<_#K@)MD/@B[O.B."R+8B/\P0JM+4-2 MTRUCRC+V?^9Z0W3A%J.06:! :[.0U'2S%$A3D"^-D[\A_((G&8S8D%NHL(RE MIKNE<)G"O&RF ?H671FU^]LE"A.I72PUW12%UM1 M*^UNPG8IG!PVRD/5\CX0%%9'%7-Q5+3S52<3F%0WY,@^GL1!";3NUAJNC&*ZZD![/_ ]4WS/C"O61H P2$S6C\8RCTKV6&JZ98KL&;P.;2 (0W3A M%CV"S$(E=RPUW2Q%[@PF=R-"P.%SLGZ&J MN5AJNIF*[AW#8OU>"%&)&! "OE5K8]Z#\!U%^(Z!\/= "(/$U4*66TAV5GE8 MH+5C[X'VSL8&%WAAW4 0ANARCP"T8 ,+M#;K/=#=4>CNP.AN(@A#>+5K 'RW M4($>2TVW2P&] ].XF2 J@2V"<+9+%"JR8ZF5IE@;>P5#D3P6>RY3LHC7D2QW MS=57ZWV=DV(WX];U*3UVR]V92J;<+'K!DT<_2DD@'C))^["?)9"4^R_+$QFO MBAV)][&4<5@<+@7W1)(WR+Y_B&/Y>I+?H-X%._X/4$L#!!0 ( /"!9UB$ MZ%96'@, (T( 9 >&PO=V]R:W-H965T*RG.^ H8[&1<553@5 M2UNN!-#4@*K2=GN]P*YHP:QP8-9F(ASPM2H+!C-!Y+JJJ/@UAI)OAY9CO2S, MBV6N]((=#E9T"3&HA]5,X,QN6=*B B8+SHB ;&B-G*LHT/$FX-\"MG)G3+22 M1\Z?].0F'5H]G1"4D"C-0/%O Q,H2TV$:?QL.*WV2 W<';^P?S7:4'$_^>?Z_ELTG<=_DNGWAYO%?V1T%Y'X>C2?GHU'\30B MD_O;V?0N'BUN[N_(&9GP:L49,"4)STB<4P%G8_0^-3OX)*BYTCDD7*2X2B69 M/NMU()\B4+0HY6>D>8@C\NG#9_*!%(PLTU@HQ^M*>Z+*6/W)&,$R3GQG"_$[;E>1T*3M\/=#GCT=KAS M0HW77K%G^+QC5ZQX\I3S,@4A\8I_K@OUBZ#51V^NZPKJ(_SN(W1MNI(KFL#0 MPN(C06S "C_^X02]O[OL>T^RZ)W(7EGKM];ZI]C#&?JGZ#.!YGEC&2:,LPU( MA9ZN6:$ZWW--VC>DNBYOP@OS4C:[)AT&]8.+_NN@Z##(=SVG#7HEJM^*ZI\4 MM4!!C\ @*U17\C4XV#GRS+GL>WO9=T7UG3V-45>4$UQTYQ^T^06[?&WS1UH[ZE8EDP24K(D+)W?H$IB;KYU1/% M5Z8=/'*%S<4,<_Q> *$#<#_C7+U,] 'M%TCX/U!+ P04 " #P@6=8W)"Y M]^,# ">$0 &0 'AL+W=O59&.P<;PAXW[! MEM#[^IS'LFZ#+66O? D@T+08MZA*R#RGSEE*1:RR!8F M7S' D1:EB>E8EF^F.";&:*#K[MEH0- M+(6J,$>#%5[ #,33ZI[)DEFX1'$*A,>4( ;SH3&V+P+;4P+=XCF&+3^X1RJ5 M%TI?5>$Z&AJ6B@@2"(6RP/*R@0DDB7*2$+BYP'VOP,L%&K69I:(Y!%C@T8#1+6*JM713-QJF M5LOT8Z+>^TPP^6\L=6(T>[R;?+ZZ^Q),'V:_HNG?3]>/_Z#Q;8!F5^.'Z=GE M>#8-T.3NYGYZ.QL_7M_=HC-T2\D&N( (S00-7]%XBUF$,(G0$XD%&JM7&8OO MZ+< !(X3_GN-1K7DLOYG9"*^Q SX[A(3]+BD:R[]^, 4,D<5J1GF^5QF^3AO MY&,[Z(82L>1H2B*(R@:FA%,0?!^ MN=V0C5N\;U?[N6^];PVYCFNF\^IU:OBYX"LD M3;.@);,2+Z_@Y36YC_;]-N^>+["("8G)0@XW"28AU+',/'WMJ4;>S:CK=@?F MYA!1XW-/1=2260E1MT#4;43T%\-$5#^UC$/WB(-M]2H<&LU/Y="268F#7W#P M&SD\ZWY2A\$_PG!F]YP*AT;S4SFT9%;BT"LX]!HY3-17D=23Z!V3<*P*B$;W M4T&T9%8"<5Z .#]M[ 2_6#@.#_BXW6K?([;' TN06-@'TR[7Z3=;YQBONJU M%D1GXPTPN79$>H! MK5?HUG_PR24 MF_8..Y/3\;Q*=VI^]JF@VG(KDSI8S=H?G8MRI0JPX.$[G>JTG#?KE3ZO:JN@ MII7G=ZS]F%Z.W]G'[WQP#LF%I? ]N]-WJ_$W/N#DU]F26QG'?K%J-Z[M&J>2 M7%H&TN^X?A5(JVO1MMS*0/:K4?O$Y>B/IY3QVK7\54T^QXM B:XSLU M?_-@XYH"6^@# (Y"NB8BVZ$5M<4APUAOK2OUE^KP06^(]S;9R<4-9G*LY"B! MN;2T.CVY1&3984!6$'2EM\5 " 1!0 &0 'AL+W=OXW.T$_))E8@:7BK&U< KM:YO?5_E)59$78L: MN5E9"5D1;5*Y]E4MD10.5#$_#((;OR*4>W'DYF8RCL1&,\IQ)D%MJHK(UQ$R ML1MX'>]M8D[7I;83?AS59(T9ZF4]DR;S6Y:"5L@5%1PDK@;>L',[ZMEZ5_"+ MXDX=Q&"=/ KQ9)/[8N %5A RS+5E(&;8XA@9LT1&QG/#Z;5;6N!A_,;^S7DW M7AZ)PK%@OVFARX'WQ8,"5V3#]%SL[K#QT[=\N6#*?6'7U 8>Y!NE1=6 C8** M\OU(7IIS. "$X1% V !"IWN_D5.9$$WB2(H=2%MMV&S@K#JT$4>Y_2F9EF:5 M&IR.L\5T_/UN^B-)Y]DYI#^7]XL_,)PDD-T-Y^G5:)BE"8RG#[-TD@T7]],) M7$&F1?X$Z?.&;@E#KF')J59PD: FE*E+. /*85&*C2*\4)&OC5"[G9\WHD9[ M4>$140GFU]#M?((P"#NPS!*X.+O\E\8W/ENS86LV=+R]8V:/",_2I;I\3^9) M.MLOMZHF.0X\TQ *Y1:]^..'SDWP]838;BNVZ]B[I\26@A4HU3F@$:U?P9PG MJ))(O+)7L8!<5*8]%;$W_#T#W?]@H-<:Z)T\[?&!-L 7&^-[&O&PO=V]R:W-H965T7;A)T !GMI-T_WZV(2P!)ZJFO 1LSCD^]YIK;L9;RG[Q)8! MSU59\XFU%&)U:=L\6T)%^ 5=02V?S"FKB)!#MK#YB@')-:DJ;==Q0KLB16TE M8SWWP)(Q78NRJ.&!(;ZN*L+^7$-)MQ,+6[N)K\5B*=2$G8Q79 $S$-]6#TR. M[$XE+RJH>4%KQ& ^L:[P98HU02.^%[#E>_=(A?)$Z2\UN,LGEJ,<00F94!)$ M7C8PA;)42M+'[U;4ZM94Q/W[G?JM#EX&\T0X3&GYH\C%IN"($7)WTG8MUF*WKY^ MAUZCHD:/2[KFI,[YV!;2D=*ULW;UZV9U]\CJV$7WM!9+CF[J'/)# 5N&TL7C M[N*Y=D\JII!=( ^_1Z[C>@9#TY?370,]?3D=GXC&ZW;'TWK>$;WIFC&HQ:4I MLPW3-S/5<7')5R2#B27/ PYL U;RYA4.G8^FK)Q3+#V3V$'&_"YC_BGUY!9R M8*0T):PA!IJHCL--XOJA'X_MS7XF#*C C[U#5#I$X=@/G YUX#WHO [X-2C[VS+;#SG9XTO8C%:249Y5^54WVP\&B M'AZ-<,^_ >6%@\0/46X0ATOLG&+IF<0.4A9W M*8O_M\[BP19]4,71VVX#*NJ_T^D0% :!>:]'G?'1_Q79:&C(<_I%9@ %KM]S M/02-8K-I[/S[3#LO*+*\?5&-7UIGZ,W%@_/-!,-N&/5B,,"BX$B9X;UF Y^, MHFTH!'E&JUVG88P%#T_A43PX\@PPS_5QV(_%H!:&>[ F&GNOBZJ +70WRE%& MU[5H&I!NMNMXKW2?UYN_5IVP[L[^R31M]#UABZ+FJ(2YE'0N(NF)-9UI,Q!T MI7NU)RIDYZ=OE[*;!Z8 \OF<4K$;J 6Z_P?)7U!+ P04 " #P@6=8HIG/ M-#8% #[% &0 'AL+W=OWC$3;0B51I2@[WJ??478D1Z38=.@; M6[+O3K_CP_U/G.^Y^%IO&9/HHW+.?[JPF> M//[P*=MLI?IAMIA7=,-63'ZN;@7X,LE"91#:_$E M8_OZ[!JI5.XY_ZIN;M*KB:.(6,X2J4)0^-JQ)PO.Z_43[HVT83U#2 MU)(7)V<@*++R^$T?3@-QYH"]$0=RN:2KJ8"[Y'0EE# M-'71CDWK#=EDI9K&E13P;P9^5+QDI:P17Z-K MMF9"L!3=T0=6HY?73-(LKU^!X>?5-7KYXA5Z@;(2W6UY4],RK>[DJ?L,1J(;#M(-!VGCN:/Q3AE+^H!H M73-97YJ2.D;QS%'4UKNL*YJPJPGLK9J)'9LL?OT%!\YOIA1_4K G";M=PJXM M^N)-#AN9E@E#4!)0 JEG$N4<,C=.YC&8WP93%6*WB -_/MN=IZ/;8->+.Z,G MF%Z'Z5DQ;\H=+$HN#BCA-2S.A%:9I'GV+TR5 E?3536BXB/8+M=]C^,[%W-&^H/-:^=@Z-F+Z&X'ID@*G;^".404<96"E7-(?=+9AL MA!TOT$<1!P,\@XWGF/G"CB^T\EVSM(%J?Y\SQ!Y OV".7Z-*9* [67Y K*AR M?F!L>L]*MH;E*UA.)4M-&80:W9!?MPA'UF[4X4?V+98DHH%UFD!M!?AV%9C8 M(GWD7,<;X.E&A(QMKK@#C*V 'RLF@*KJ^?G^HCR%>L(9 MN\/2:;(B$1X![;4)V\5I)6$?M[5=*1(4?2$.4.WW5(RT&JZ^#KSAVC088>R/ ML?8"A>T*U;.>1/3[M+K@Q$2CM3[U?S8'N-P.PZ+&VV$&OY4[XV,:>D" MA1W/B8:)Z69QY(TH&>ZE#-NU["]6UY?H2Z>V]+&_,:+J8C7%810/44UF3C!6 MSWI9PW9=^P!O:<\=5%V6H@!KH :K,')'.'O]PM'SF^)'<V0P MY>MI SW'^-(GN@9.,6R_(:;)+';'QO/LA= NEK>"531+N\[3B*C+WY3X[I#0 M9!6," _I19+817*T1)_MU LCM2Z$4^)Y@<9ML@M"?Z2ND%XRB5TRM?IG;3R) M+I=3[$?>L$,VVH5Q.+82>BTD=BW\P,ND =;RAZAUF3-3F^PLU+T@$KL@_N @ M!]K+NQG79&? G9V=3*ECP?=4;+*RAA>--3@Z%R%$$,>3MN.-Y%5[6'7/I>1% M>[EE-&5"&<#_:\[EXXTZ_^K..Q?_ 5!+ P04 " #P@6=8]+ZV=8X' X M00 &0 'AL+W=OR\G;L/%4N0G^I/S-5OP.RY^K&]2>=3?J@3ABL=9F,0HY?.+WB=\1GV25RA* M_!WRQZSV&>5=N4^2G_G!=7#1<_(KXA&?B5R"R3\/?,JC*%>2U_%?)=K;MIE7 MK']^4?^SZ+SLS#W+^#2)_@D#L;SHC7HHX'.VB<1M\OB95QWR<[U9$F7%O^BQ M*NOTT&R3B6155997L KC\B][JD#4*I!]%4A5@30J8&]/!;>JX!Y:P:LJ> 69 MLBL%!\H$FYRGR2-*\])2+?]0P"QJR^Z'F)R_77Z[^7!*K(N6S MC\C%[Q%QB&NXH.GAU8FA.CV\.K;TQMW^,FZAY^[[9>)9LN+H.WLRL2WK>N:Z M^61QEJW9C%_TY&R0\?2!]R:__X8'SA\F+I!B%$A,8^9MF7DV]F#1IIP=623OGBR><1.1P0Z1T6#4(+);!CL# MKT'$>LU'$AENB0P/()*/B%G*Y1T"R2F_-DQ,@^A /,/=K@]'XP8?0Z%=/M8> M',EGM.4SLO+Y*O.;SVRUSI9ARM'E)I/?9_F-3?!TG899G9TQ;D8[,3$FS;BQ M7D+;V0=(3*,UWM(:MQM-6ES)D N3P 3)KHH=],Q9:L([M=9LBPY(3$.''96O M.>W@'1AHE:Q]B-G;;@L*2DTG5J8LE-J*1WB230 (D$ M;408A;^J G*"XT_K,"T/Y;VO0/Y:&E%=4GVJ&A*_27FWT >,G<9\9N_=L?2( MHD>L]'[$*9\EBSC\)>&$92Y:3PG>RY-R=N-9>3.0/I1%(N094M6,@,C.,'2: M>%XM0JU%] ZK=!M;,],JL/[:R.DZ" M3:KQ^T,0;5(U"J>D 5>Z-O0Z&!4,F MSU-0-0JEIH-3R3BV9^.26'GKDK&3/ZK)T\XXGY#X$Y.6G^T=BW99XN!Q;D:= MPI'N<[53NTIKE*=(W+'*W+$]=;_.YZ3\Z<4M?^#QAJ,[V40HI_FWU[=W[XP0 M@?+J"B:D&H52TV&JI!\/NP0T4,)=@8-4HU!J.CCE!K#=#AP=T';9 V(9U"- MJ>D4E4O ]H3^*D^_BMQ-=M@:A1*37\2JFP"<3K$+H',\Z>@:A1* M30>G7 .QNX;C'R%6PO6DM/D T=YV:U*G< A$.01B=PA:?/I&(E:!UL,,4HU" MJ>GPE-L@79[N$U"7 :I&H=1T<,IED%,]XJ^$Z[;;;7I/>^.M49W"5Q#E*XC= M &@!.C B@1!P5G^Y.?#;?/=G;;DWJ%%[ 55[ MM7N!*C[O^7,2!_MC%/3- Z@:A5+3 2J'X/I=8A34'8"J42@U'9QR!R[ $B%S MC.XN]AD[.W=14$, I::S4H; M1N"SHMCW%U?L+MTP7X1K9&=PABXRABXKZPG M2M#5=O&!$0FH+P!5HU!J.COE"]PNOL %]06@:A1*35\ZJWR!=RI?X.VN+<)# MK[EX%M090*GIK)0S\.S.8%I?L793K%A#V(@&U"" JE$H-9VA,@A>%X/@@1H$ M4#4*I::#4P;! S (EG64K\B[^]=1VFNVQGB2K0*UO0)V]V"*8=-;]4N[3NNA M"&H@H-1TALI >%T,A =J($#5*)2:#DX9" ]BCX$EANWROB6&0;T%E)J.47D+ MS^XM3#%LVOIU:==I/11!S0:4FLY0F0UOU"6&09T&J!J%4M/!*:?A';*/H4,, MO[*AP1;$H,8#2DW?BZ:,AV\W'J8@-J[WLNNT'8N@:A1*36>H#(F/.P2Q#^I" M0-4HE)H.3KD0W[Z*J6L0OR)/++N2[%5;3W\R01+P=Y ]O_+&'R/U!+ P04 " #P@6=8 MAAX*;T8# %"@ &0 'AL+W=O"R/DQ" MQ';..;[GVO'U9,?X3U$ 2/1.!*;JL+\]S64;#=U!LY^X)&L M"JD'W&2RQBN8@_RZ?N"JY[8J.:F "L(HXK"<.E>#RW2D\0;PCT^0>,GTGH9*X7Y1[L&ZSDHVPC)JH:L(J@(K9_XN(:K=1TPR33L)5] M0O6RSR57;XGBR>3N\^S+_0UZNOIQ,T?GZ!$R1C-2$FQ6A2W1'@)/Z,' MSK;$K/<34S^)R\Y;$.A*HKG$N$)KXB"6@=RE(3$KQ7DWS=9ZB M=V?OT1DB2JQ@&X%I+B:N5(YT7&[61']=1^^_$/W 1_>,RD*@&YI#?BC@JE2T M^?#W^;CV3RJFD%V@8/ !^9X?6 *:O9[N6^CIZ^F#$VZ"=G4#HQ>\M+J=Y;%E MMV:'=K8^<2[%&FOAG$WD=;9OZG6/J?Q ZR%K99"T^I)_NM M2^KL29V]#PA+)-K=K<805[O:EM1:/#+B^M3=)GXPC,*)N^UFRX**HC X1*46 ME.F/%'KNJ*HPZFM?-M870&%)I,U>K1UW0HK"\:CGS@(: M]U.0_@-TX"UNO<4GO7UF^B#8J&JR* '!LRJ/PK[WX^/91^.>C6/,V.]938\Q M<1C930Q;$\.3)K[( KA9$UO@PZ,)_5[8QXCSGK/4 O&CP![VJ U[=#+LNW9' MH?6^5-@,C(XW]7C4W_JS8U3@AX.XY\.B%<<=5&W$[13("OC*7#0$RMB&RKHV MM*/M7>;*E/#>^+6ZX]17DK\R]07I'O,5H0*5L%22WL50Q<3K2T?=D6QMRO"" M25743;-0]S3@&J#>+QF3^XZ>H+WY)7\ 4$L#!!0 ( /"!9UCCQ(.3K@( M (P' 9 >&PO=V]R:W-H965TBXHDR,G5ZH\<-W (3YD1#NS85T9!7BA(&4X%D5118O(R!\M7(\9WUPAU9Y,HLN-&PQ NX M!_583H6>N:U*1@I@DG"&!,Q'SKE_%H<&;P$_":SDQA@9)S/.G\SD*ALYGDD( M**3**&#]6L($*#5".HT_C:;3AC3$S?%:_<)ZUUYF6,*$TU\D4_G(.750!G-< M477'5Y?0^+$)IIQ*^T2K&COH.RBMI.)%0]89%(35;_S_5T+O$LU3 M47(SO?[Q.TG0.+E-+JX>T/3Z_!8=QJ PH?((?46/]S$Z/#A"!X@P])#S2F*6 MR:&K='2CX:9-I'$=*=@1R0_0#6HY[_ M!05>T.M(:/)^>M!!C]]/]_>XZ;5?HF?U>COT)KS09UGB^CBP#-V!(@+T$5-= MQ:[%^MUBIEF&PO=V]R:W-H965T7B;S\VWRZ2DR^>B_+.:*U6C[XLLKZX& M\[I>7@R'U72N%DGUOEBJO/G+8U$NDKIY6SX-JV6IDEE7:)$-21"(X2))\\'H MLOOL8W:5!Z*XL_VS=WL M:A"T-5*9FM:M1-+\]TV-59:U2DT]_MJ(#K;?V1;DQ667U?//^B-@GQ5F]:9%7W+WK>Q 8#-%U5=;'8%&YJL$CS M]?_)]XT1.P7HO@)D4X!8!0C94X!N"M!#"[!-@<[JX3J5S@>9U,GHLBR>4=E& M-VKMB\[,KG23?IJW[3ZIR^:O:5.N'DUN/WR\_?0%77^2Z/[VU^LOMQ+)N\GX MU]\F7^]O)^@=FJBGIIUK=)>O>UG;6M?+999.DX=,H;I ]VI9E'7W[K>E*IN0 M_.FE6(7>2%4G:5:]13^@-$=?YL6J2O)9=3FLF_JWM1A.-W6]6=>5[*DK)NAC MD=?S"MWF,S4S!89-XMOLR4OV-\2K*-7T/:+X1T0"0M'7B41O?GB+JG75'14< M'RY'7N0<,O)P&>R6,;*EV[:FG2[=U]:;EERW5]M(.VWJ:HZU''/+M3/21;5, MINIJT$PYE2J_J<'HO__!(OC)91VDF 02,VQD6QN93WWT:;5X4"4J'IMY;]OQ MJY?N_H^G^]RLA44GW,[(WT;T:!"1FF"2V)@GOB/S4+.Q5DJGJPF6$@!Q^D&(22,SP+-QZ%OH[UHMG M+LO61?E.WR$1#P1C5@_JQU%,6!P+,TZZ]&+"8[Z-,W*(MCE$WG;7RV2:3XN% M0F^RHJK>.GM!!-D+(,4DD)CA8+QU,/;V@CT.N@R,>_,)#BCF]J3B"",!Y\3J M$?VP6' TT- M1A^*8O:<9IDS6='+(:0B(':J!X5)?T5.351#&O93VFU>JW)9II5"DR);M4/< MW<)>F:,'!Z2:A%(S+=2,B/V0Z/]Q@$&Y$%1-0JF9QFDTQ'XV]/Y"P$[.:^G# M'F>.0$H8%;V1YE)D,>.Q>VDA&@J)'PIO5E7S257YAY!?Y-B> *HFH=1, S6. M$GS&$")>ECW:.$@U":5F&J?!EWA9T#^$-F7-Q3;D/(ZM(>0*)(Q3'%A#R*D8 M1VSG][B9B(9.XH?.SZN'+)VBB9K61?G*. +=[@15DU!JIHN:<8F?<5\91Z" M"ZHFH=1,XS3@DE=V0;WCJ ^M/*1Q[U>P*X[S9BVR1Y$CCC'!@CV#2%,K\5.K MXU3G'W0HX?FUC^X=H/N84&JFKQJ227C.L )%8U U":5F&J?1F'@)\I5A%1U( M>*[ CO"P/;!H8C+&1B9V_93$B#*_6#Z_$;CQ049D'5))2::::&6>J' MV:,W'JD#1YE]$C!V1<6Q_>O0$458$.WI(#M'^?ZS_%=W'2GLX3WLZ?V_0;-4 MTRSU'^"_MNM(^\?T8<"X/?C'CC@A AK:7.:OSJGI:@:E?@;U[3G2/C(*06AO M-CPH3/HKK=SA>EYA,KZY,D#$E)[ M\7#$,<9%;%\;X:_.J>EJ0F6G$RKKHV=(A0VH!T5)?S5.35/S*3N!3X\XH/#+ M'SU@0"$52LVT5D,J.P=2&2BD@JI)*#73. VI[ Q(97VD=!Y0N.)V1< M\RF'YE,.RJ>@:A)*S313\RD'YE/>I\K(GC@<,;WK-ATQ8L]%FUS#*3\33CDH MG(*J22@UTSL-I_P\..6.[=.8]MN^'Q:QV$98Z:_,J1OC-ER#N2QJ!J$DK--%!#+_??XG3,TLQ! 1=434*IF39JP.7^ZVF/ M69K#_G**&8WMW2-G'.7]Y=D5)^(8[YF$-7MR_P6N)ZS/H!>]@JI)*#733(W MW'_1Z_'KL^N^*-;O)8X;G@BSS\$W4;LWRL5!N.>N**&!5 3G+=,"]-I74#4) MI69ZI^E7^&_%NNY<:V\D:V_"3=NKM9J)8YGD?Z.')$ORJ4(J2Q=IGNS=Q1'%]C:3,P[CR)Y)_#4^U1&-L,*/L'>M!YL;C]&MSMV9.NA]7*!J$DK- MM%&SLSB3G04H.X.J22@UTSO-SN(\=MX4WYU'WU&^>R?CQA1''*,BM.G97YUC MTQWN/&=DH/W1C^^GVF3#7W9-0K,]O\(5FPD@_=ADV*Y?G;+^DU=++NGF3P4=5TLNI?SAM%5V08T?W\LBOKE M3?L%VR?HC/X/4$L#!!0 ( /"!9UB>\NUVLP( ,( 9 >&PO=V]R M:W-H965TBH25Q8"R=R"\LSU/>_,S0EE3MBS:Q,1 M]GBI,LIP(D"6>4[$\P SONX[;6>S,*5)JLR"&_8*DN #JN_%1.B9V[#,:8Y, M4LY X*+O7+4OHZZQMP8_**[EUAA,)C/.EV8RFO<=SP2$&<;*,!#]6^$0L\P0 MZ3#^U)Q.X]( M\<;]AN;N\YE1B0.>?:3SE7:=RXI=JG H?KF_'UW>/,+J[ MN9^.KQY']W?P&8:N?0PJ'_X>'VT? MQIRI5,(UF^/\-8&K VZB]C=1#_R#C!'&+>BT/X'O^9T= 0V/A_L[X-'Q\/:! M;#K-&70L7["';XHK9"7" %FWA%]CS& M-+H'EKVS[^YCH@N8@BD67"C*$ABQJI!J?7?)&)Q2QE.212R5CMY&Q>_#Z M3E"8:ZF;!/ %2)*AA-DSR$K=73I6?!>6S_2E5>BU//T05]OZ'&,4_<>HRL?= M*H\YBL2V&0DQ+YFJ:DZSVG2R*UO WZP/=(>K&M(_FJH]CHE(*).0X4)3>JUS M'9BH6DXU4;RP17C&E2[I=ICJ+HW"&.C]!>=J,S$.FKX?_@502P,$% @ M\(%G6$]9Z[0L! 81, !D !X;"]W;W)K&UL MM5AML4UZ]4R:I'&1#(D[__4E ML &9.BW]8B.Q^[#/8^VRWL&.IM_8AA .7N(H84-MP_GV4M?99BF:YUMDT)#G*G.-*183AZC,-$&PWRO;MT-* 9C\*$W*6 97&,T^\3 M$M'=4(/:Z\9]N-YPN:&/!EN\)G/"%]N[5*ST"B4(8Y*PD"8@):NA-H:7/G2E M0V[Q&)(=.[@&DLH3I=_D8A8,-4-&1"*RY!("BZ]G,B51))%$'/^5H%KU3.EX M>/V*_C$G+\@\84:F-/H:!GPSU#P-!&2%LXC?T]TG4A*R)=Z21BS_!+O2UM# M,F.YF+FWH!\F\G>?\U3<#84?'\VGGZ[\Q?45F,W &7@<7R_& M#[/;&S"^\<&7Q?AZ]O'?V ?" M!#QL:,9P$K"!SD5<$EU?EC%,BAC0D1@@ I]IPC<,7"4!">H NB!4L4*OK":H M$]$GRW-@PK\ ,I"I"&AZNCM2N/NGN\,.-F;U&YDYGGD$[Q%'&2ZR) G EPQ' MX>I[F*S!>+FD6<*5DA>0EAI25I-+ML5+,M1$N6 D?2;:Z,\_H&/\K9*K3S"_ M)[":E%8EI=6%/IJ0=9@D4KL)CG"R)"KI"@@[AY!U\WED>H8ST)\/)>E\SELE MZ0FL)HE=26)W2B)R[@=Z%/[.H1Y0'NR:'O8)HOF=D?PD3Z?BZ73R'$?B'2P&HBNI6(;O^ER.U3RC[!_)[ :E)Z ME93>KY(55[3362: ]"?2&ZCU-21!R<$W9D8/6C?;6FM,KFM\76EW)?3,)?T,W M"7MM)WM%\_M"J^NY[RAA#RUEB7&8%39RFH5/865YR&YFF ++,HYEV+X-A-U] MX)N+.6SWA="S6IP4W2.R49.3PLHTW".<]BT?[.[Y3B_FCJ+XBO=)DXS"#'G0 M:+)1H7D7QA$Z^^8+=C8DIU1RM]V&NY[7I-&V:I]&7V%5.XT%"?U@]A 3<8+D M#(>!O)04?]BKW6I.-,ZG(XW]B9P?Y3.-/4PQ?/HL#F:8,!"1E8 TSET14EK, M&PO=V]R:W-H965TSG9!!%Q": M^H7X['OO[I[#2[AE_$GD !(]EP45D95+64UL6Z0YE%@,6 54G:P8+[%4(5_; MHN* ,P,J"]MSG)%=8D*M.#1[PP+D8S7G*K([EHR40 5A%'%81=:M.TD"G6\2?A+8BKTUTI,L&7O2 MP5T668YN" I(I6; ZK&!&12%)E)M_&XYK:ZD!NZO=^Q?S.QJEB46,&/%+Y+) M/+)N+)3!"M>%?&#;K]#.,]1\*2N$^47;)GC&!T2+'$<T+R=4I43@9S_$+V@@T!VY>(9H"2HA("R9J#N@C>EPDZ/+B"ET@0M&/G-4" MTTR$ME2U-8.=MG6F31WO2!W70_>,RER@SS2#[)# 5DUWG7N[SJ?>2<8$T@'R MW0_(?U=&>4=35@*Z_,:$N.J3KJ$8 M&@IMBYOXQO>NU2UN]C7IR1I[[O@P*_DW:S0>.Z,NJYG"WON#EL#7QN@$2EE- M9?/&=[N=E]X:"WFU/U4>VUCB7YK&H.\Q7Q,J4 $K1>D,KE5/O#&])I"L,C:P M9%*9BEGFZCL!7">H\Q5C&PO=V]R:W-H965TNJY,2ZBPG/ :F'Z2B<&4M &>RL_.5Z8>)MP"\"K3P9(U/)GO-G,]EDL>,9(:"0*D/ M^G: .Z#4@+3&GY[I#%N:Q-/QD?[-UJYKV6,)=YS^)IDJ8^>3@S+(<4/5CK?? MH:]G9G@II])>4=O%AI\=E#92\:I/U@858=T=O_3G<)*@.><3@CXAL-[=1M;R M'BN<1(*W2)AH33,#6ZK-UG*$F9?RJ(1^2G2>2C;Z>#,0Z$G@C+ "K83 K !] M[$I&KM([F#@W[6GKCA9X)TK\P;M7]&&9>1 L@;3?W?JGVFB5\5K]?\B=[C@PQU3"B-AL M$)N-_ZM2>0.BO"%]P&V>^Y[88W!97']RXWSCWHI][ MTA\J$(7M@A*EO&&J:Q7#ZM!H5UU_^1O>=>D'+ K")**0ZU1OLM"O4W2=KYLH M7MMNL^=*]RX[+/7/ H0)T,]SSM5Q8C88?C_)&U!+ P04 " #P@6=839T& M*2,# #L$0 #0 'AL+W-T>6QEO@I9\!Z!@*Y$*W 'O&&T:"BQC M MK^W$+7;&)U#4C.]6E54XTW35[5V0C8.[V2 3I7.FVS!=LC:-!H(5($?SV1SN M1E4Q@,:HT@YR3F=*4J=A[=$,+.V4"7$+_?ZCV.%>%EMUZT#59#NT@IJAI_$3 MX-]F\]S;M*_CC2K^H,SGA=V.='-H4':C6<&7;KXL6@$8>Q=GIU4E5I\$G\F2 M^,L9DN_PSB0V0:/)@@O#93.;\SQG\LDA;.D-G=A7 MV1U^NSYG!5T(<]>"0[(9?V,Y7Y19N^H&$M&LVHR_PO:Z:?N*96-QF;,ER\?- M5,\F;AC9@8W:7."PCUR[*XQ@/AX+(X!A<3 %F(_WPN+\3_OIH_OQ&*:M'T3Z MJ$\?]?%>(63L/EB_[XQ^ U!+ P04 " #P@6=8EXJ[', 3 @ M"P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(% MBD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L M'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO M8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( /"!9UBHM1AI MJP4 ( L / >&PO=V]R:V)O;VLN>&ULQ9I= M?*W5E[NZ_D*^[OGF\UE*-S8VZ%44KZTKO[';<2O&U^7F\VR0/LI%W MLI3M]^M1_WG0Y(LU]_75>*_FCKEI>9H6JR_)Z-#D>N!6J ME<5ON[,.,N=W3;^GY7B3CUN'MI[)LA4J MY*VX4?5A+ZMM=QE]%V/C-OHZ/'X>B_A:_9\RUIN-+$18%X>=J-IC'94H.\"J MN9?[9D0JOA/7H\=3"*_6A%:M+A)AU?%2^MSN3O57L_7QKEN-:]10O9;Z@&+K M'AP/,DCB+(E8Z.^Q,69^2PEMWZTHF1!_6R5'A^LB0<*!=DH-TD2?F!1 M1/PX[#N65/>!N1_?L&E$B=EA3R"M3)"]AR+5A^]'WW.'46R'6[HW' !A6T(%%8R*+(Z$U'V .F-.IS2LBR($HZ MIPTPP?$'LBBR8$[#E5878^2B]ZZ?LR3NL=^O3)]9D#0L9&F 2>JS96)"]K"0 M[0%CVB8FI!4+62NGR$=>Y%Q_<5"]LJ9#'CVB4.>L9 ]/8R,8YIL*S6)!C;&3'@/%PT!!MR#$V MMF.@'#;$!&>YD!UCYK"SCQHRBXUM%BA.#&L(F<5&-@LL0,?$A$1C(XL&QG1- M3$@T-O8 !L3T3$Q(-/9S3G-]OC(Q(=?8?V:B2\?<4#9\NU5BVY]$Z@U)Q8,Y MC0VYQD%VS4_,H*Y:Q8N63'G)JT(TY$4H3$S(/0ZR>Y[*:A?$?^"R-#$A]SC( M[H&SFIG('<@]#K)[8$RSWW3 -19D"\&89K_I0!9R\*?-?D^^H6AUNQP8W8$< MY" [Z(GH>T&RPV['E8D).70,Q3?NXD'U<[#$0B&G:QP77^+'' M0""FF=I=R#\N]A@(Q#13NPOYQT7VSV!4?D&6JNX8=&K75R/,?,_(A?SC_L%% MG#ZZ[_9UU??I>G0Q2.TNY!\7V3^_8/KKM>S.X>7QW2WS!13(/QZR?W[!3$51 M5X4LY6F\9F)"_O&0_7-VE>RLA3S(0AZVA<"Y(]-"'F0A#]M")TP6SY)T<5R& MZ@?!A>C&P28F9"$/VT+0BME@)LZ#+.0A6TAG2O+0D*50_;_K(G;3'D59-SIW MFI#@FV;(#F)5(]*KV6U);Y2O-J*/@R;C)" O%Y X_[DYNV;M=C(2JQC M??U&[R]X62P5Z3Z.+^4X;K>POCF49:#W)554\_7C"[2/+_^^_1=02P,$% M @ \(%G6,A!-T#(HPS=1Y +Z1 I MTA@\%3$D>/E7'X@AGWZ50SONNU/=[?NZ^#@>3G75[,:Q_Y%27>_*L:UW75]. MYRN;;CBVXWDY;%/?KM_;;4FZ7.8TW,YHGI]N9RY>/_OR/Q.[S6:_+C^[]>]C M.8W_&)S^=,-[W94R-HO7=MB6<=6DC\/U=$V7@]R=)S>+E[=5,[R\29/F#E(( MTOF##()L_B"'()\_*" HY@_*$)3G#[J'H/OY@QX@Z&'^H$<(>IP_2)8HXY(@ M:8(U@=:"7 N!UX)@"X'8@F0+@=F": N!VH)L"X';@G +@=R"= N!W8)X"X'> MBGHK@=Z*>BN!WCIYV2;06U%O)=!;46\ET%M1;R706U%O)=!;46\ET%M1;R70 M6U%O)=#;4&\CT-M0;R/0VU!O(]#;)ILE!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$ M>AOJ;01Z&^IM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>OMDLYM ;T>]G4!O1[V= M0&]'O9U ;T>]G4!O1[V=0.] O8- [T"]@T#O0+V#0.] O8- [T"]@T#OF'RL M)- [4.\@T#M0[R#0.U#O(- [4.\@T#NCWIE [XQZ9P*],^J="?3.J'2KWV?*WQ^=])]7B^MUP??UE^G9RP M<\$YW5;4Y[]02P,$% @ \(%G6.(A,D+Q 0 &2< !, !;0V]N=&5N M=%]4>7!E&ULS=K+3L,P$ 707ZFR18WK)P_1;H ML. '3#*E49/8LETH M?X^3 A((*E"1N)M&K>VY$X]T5CV_>_84)]NN[>.\6*7DSQB+U8HZ&TOGJ<\K M2QTM)LV3:ZV^>?8N'Y>!&IC M,;G8;1RRYH7UOFTJF_(Z>^SK3RG3UX0RGQSWQ%7CXU'>4+ O$X:5[P->S]T\ M4@A-39-;&]*U[?(NMFU93,\MQ7)_B2]Z=,ME4U'MJDV7CY31![)U7!&EKBUW M18_V)Z=\P[3[Y ?GCV7V!>:=M\'YF"<6Z/=Q;R,93D]]+D0A-?M?\3TQES[X M_6B8=DWU#[/S]3ZYL![G$=GX./R./\[XO?XO^Q @?4B0/A1('QJD#P/2QS%( M'R<@?9R"],%G*(V@B,I12.4HIG(45#F*JAR%58[B*D>!E:/(*E!D%2BR"A19 M!8JL D56@2*K0)%5H,@J4&05*+)*%%DEBJP215:)(JM$D56BR"I19)4HLDH4 M626*K I%5H4BJT*15:'(JE!D52BR*A19%8JL"D56A2*K1I%5H\BJ4635*+)J M%%DUBJP:15:-(JM&D56CR&I09#4HLAH460V*K 9%5H,BJT&1U?RGK/?.K?\X M?GR6G6WZMWPV_B-N\0)02P$"% ,4 " #P@6=8!T%-8H$ "Q $ M @ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( /"! M9U@?!^[7[P "L" 1 " :\ !D;V-0&UL4$L! A0#% @ \(%G6/9^8 27 M!P !C( !@ ("!#@@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6,YJ%2/E! T1, !@ M ("!.1D 'AL+W=O !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0# M% @ \(%G6$T_$7=U" ($@ !@ ("!8B0 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6+:JTE?) M$ (C< !D ("!'E 'AL+W=O80 >&PO=V]R:W-H965TY"E8@8 !T4 9 " @=EF !X;"]W;W)K&UL4$L! A0#% @ \(%G6!L),AOQ @ 3P< !D M ("!&PO=V]R M:W-H965T&UL M4$L! A0#% @ \(%G6%3?UZC8 @ ] 8 !D ("!Z7D M 'AL+W=O&PO=V]R:W-H965T" !X;"]W;W)K&UL4$L! A0#% @ M\(%G6/T/WV4." B!D !D ("![(\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6,)E<]3 P APL !D M ("!:\0 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ \(%G6$V*M8E&! *0\ !D ("!L]( 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G M6")*A1MT! "!0 !D ("!C]T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6+4J6EX1!@ @!0 M !D ("!.NH 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6..YI6_.! #!\ !D M ("!B?H 'AL+W=O7Y@8# "N"@ &0 @(&._P >&PO=V]R:W-H965T M&UL4$L! A0# M% @ \(%G6*/GMXMX# )'P !D ("!"@ M"@ &0 @(&Y$P$ >&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6!^E MI::I P H! !D ("!&!L! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6,UAVVN$ P ,@L !D M ("!0"'!@Q$# !\" &0 @('[*@$ >&PO M=V]R:W-H965T&UL4$L! A0#% @ \(%G6--"W#BH!0 8AX !D ("! M C$! 'AL+W=O)6\8$ #Y&0 &0 @('A-@$ >&PO=V]R:W-H965T&UL4$L! A0#% M @ \(%G6/A\'D2C P ] X !D ("!X#X! 'AL+W=O$0 &0 M@(%W6 $ >&PO=V]R:W-H965T&UL4$L! A0#% @ \(%G6+98] !: P *PP !D M ("!&%\! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ \(%G6(8>"F]& P !0H !D ("!VV\! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M\(%G6)[R[7:S @ P@ !D ("!:G\! 'AL+W=O&PO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " #P@6=8XB$R M0O$! 9)P $P @ $RF $ 6T-O;G1E;G1?5'EP97-=+GAM 7;%!+!08 2P!+ (04 !4F@$ ! end XML 84 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 85 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 87 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.0.1 html 279 340 1 false 75 0 false 7 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONSOLIDATED BALANCE SHEETS (PARENTHETICAL) Sheet http://www.pcconnection.com/role/StatementConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (PARENTHETICAL) Statements 3 false false R4.htm 00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME Sheet http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 00300 - Statement - CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME Sheet http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME Statements 5 false false R6.htm 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME (Parenthetical) Sheet http://www.pcconnection.com/role/StatementCondensedConsolidatedStatementsOfOtherComprehensiveIncomeParenthetical CONDENSED CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME (Parenthetical) Statements 6 false false R7.htm 00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 7 false false R8.htm 00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 8 false false R9.htm 10101 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPolicies SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Notes 9 false false R10.htm 10201 - Disclosure - REVENUE Sheet http://www.pcconnection.com/role/DisclosureRevenue REVENUE Notes 10 false false R11.htm 10301 - Disclosure - FAIR VALUE MEASUREMENTS Sheet http://www.pcconnection.com/role/DisclosureFairValueMeasurements FAIR VALUE MEASUREMENTS Notes 11 false false R12.htm 10401 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS Sheet http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssets GOODWILL AND OTHER INTANGIBLE ASSETS Notes 12 false false R13.htm 10501 - Disclosure - ACCOUNTS RECEIVABLE Sheet http://www.pcconnection.com/role/DisclosureAccountsReceivable ACCOUNTS RECEIVABLE Notes 13 false false R14.htm 10601 - Disclosure - PROPERTY AND EQUIPMENT Sheet http://www.pcconnection.com/role/DisclosurePropertyAndEquipment PROPERTY AND EQUIPMENT Notes 14 false false R15.htm 10701 - Disclosure - LEASES Sheet http://www.pcconnection.com/role/DisclosureLeases LEASES Notes 15 false false R16.htm 10801 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES Sheet http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilities ACCRUED EXPENSES AND OTHER LIABILITIES Notes 16 false false R17.htm 10901 - Disclosure - BANK BORROWINGS Sheet http://www.pcconnection.com/role/DisclosureBankBorrowings BANK BORROWINGS Notes 17 false false R18.htm 11001 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION Sheet http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensation STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION Notes 18 false false R19.htm 11101 - Disclosure - INCOME TAXES Sheet http://www.pcconnection.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 19 false false R20.htm 11201 - Disclosure - EMPLOYEE BENEFIT PLAN Sheet http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlan EMPLOYEE BENEFIT PLAN Notes 20 false false R21.htm 11301 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.pcconnection.com/role/DisclosureCommitmentsAndContingencies COMMITMENTS AND CONTINGENCIES Notes 21 false false R22.htm 11401 - Disclosure - SEGMENT AND RELATED DISCLOSURES Sheet http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosures SEGMENT AND RELATED DISCLOSURES Notes 22 false false R23.htm 11501 - Disclosure - SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS Sheet http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS Notes 23 false false R24.htm 20102 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 24 false false R25.htm 30103 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPolicies 25 false false R26.htm 30203 - Disclosure - REVENUE (Tables) Sheet http://www.pcconnection.com/role/DisclosureRevenueTables REVENUE (Tables) Tables http://www.pcconnection.com/role/DisclosureRevenue 26 false false R27.htm 30303 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.pcconnection.com/role/DisclosureFairValueMeasurementsTables FAIR VALUE MEASUREMENTS (Tables) Tables http://www.pcconnection.com/role/DisclosureFairValueMeasurements 27 false false R28.htm 30403 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) Sheet http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables GOODWILL AND OTHER INTANGIBLE ASSETS (Tables) Tables http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssets 28 false false R29.htm 30503 - Disclosure - ACCOUNTS RECEIVABLE (Tables) Sheet http://www.pcconnection.com/role/DisclosureAccountsReceivableTables ACCOUNTS RECEIVABLE (Tables) Tables http://www.pcconnection.com/role/DisclosureAccountsReceivable 29 false false R30.htm 30603 - Disclosure - PROPERTY AND EQUIPMENT (Tables) Sheet http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentTables PROPERTY AND EQUIPMENT (Tables) Tables http://www.pcconnection.com/role/DisclosurePropertyAndEquipment 30 false false R31.htm 30703 - Disclosure - LEASES (Tables) Sheet http://www.pcconnection.com/role/DisclosureLeasesTables LEASES (Tables) Tables http://www.pcconnection.com/role/DisclosureLeases 31 false false R32.htm 30803 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES (Tables) Sheet http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables ACCRUED EXPENSES AND OTHER LIABILITIES (Tables) Tables http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilities 32 false false R33.htm 31003 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION (Tables) Sheet http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION (Tables) Tables http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensation 33 false false R34.htm 31103 - Disclosure - INCOME TAXES (Tables) Sheet http://www.pcconnection.com/role/DisclosureIncomeTaxesTables INCOME TAXES (Tables) Tables http://www.pcconnection.com/role/DisclosureIncomeTaxes 34 false false R35.htm 31403 - Disclosure - SEGMENT AND RELATED DISCLOSURES (Tables) Sheet http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresTables SEGMENT AND RELATED DISCLOSURES (Tables) Tables http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosures 35 false false R36.htm 40101 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Sheet http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details) Details http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables 36 false false R37.htm 40102 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Concentration Risk (Details) Sheet http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Concentration Risk (Details) Details 37 false false R38.htm 40103 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Restructuring and Other Charges (Details) Sheet http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Restructuring and Other Charges (Details) Details 38 false false R39.htm 40104 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Basic and Diluted Earnings Per Share (Details) Sheet http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Basic and Diluted Earnings Per Share (Details) Details 39 false false R40.htm 40201 - Disclosure - REVENUE - Disaggregation of Revenue (Details) Sheet http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails REVENUE - Disaggregation of Revenue (Details) Details 40 false false R41.htm 40202 - Disclosure - REVENUE - Contract Balances (Details) Sheet http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails REVENUE - Contract Balances (Details) Details 41 false false R42.htm 40301 - Disclosure - FAIR VALUE MEASUREMENTS - Available-for-Sale Investments (Details) Sheet http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails FAIR VALUE MEASUREMENTS - Available-for-Sale Investments (Details) Details 42 false false R43.htm 40401 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Carrying Amount of Goodwill (Details) Sheet http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Carrying Amount of Goodwill (Details) Details 43 false false R44.htm 40402 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortizable Intangible Assets and Related Accumulated Amortization (Details) Sheet http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Amortizable Intangible Assets and Related Accumulated Amortization (Details) Details 44 false false R45.htm 40403 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Estimated Amortization Expenses (Details) Sheet http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails GOODWILL AND OTHER INTANGIBLE ASSETS - Estimated Amortization Expenses (Details) Details 45 false false R46.htm 40501 - Disclosure - ACCOUNTS RECEIVABLE (Details) Sheet http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails ACCOUNTS RECEIVABLE (Details) Details http://www.pcconnection.com/role/DisclosureAccountsReceivableTables 46 false false R47.htm 40601 - Disclosure - PROPERTY AND EQUIPMENT - Summary (Details) Sheet http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails PROPERTY AND EQUIPMENT - Summary (Details) Details 47 false false R48.htm 40602 - Disclosure - PROPERTY AND EQUIPMENT - Depreciation and Amortization Expense (Details) Sheet http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentDepreciationAndAmortizationExpenseDetails PROPERTY AND EQUIPMENT - Depreciation and Amortization Expense (Details) Details 48 false false R49.htm 40701 - Disclosure - LEASES - Lease Cost and Other Information (Details) Sheet http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails LEASES - Lease Cost and Other Information (Details) Details 49 false false R50.htm 40702 - Disclosure - LEASES - Future Lease Payments (Details) Sheet http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails LEASES - Future Lease Payments (Details) Details 50 false false R51.htm 40801 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES (Detail) Sheet http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail ACCRUED EXPENSES AND OTHER LIABILITIES (Detail) Details http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables 51 false false R52.htm 40901 - Disclosure - BANK BORROWINGS (Details) Sheet http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails BANK BORROWINGS (Details) Details http://www.pcconnection.com/role/DisclosureBankBorrowings 52 false false R53.htm 41001 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Narrative (Details) Sheet http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Narrative (Details) Details http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables 53 false false R54.htm 41002 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Dividend Payments (Details) Sheet http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Dividend Payments (Details) Details 54 false false R55.htm 41003 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Components of Share-Based Compensation Recorded as Expense (Details) Sheet http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Components of Share-Based Compensation Recorded as Expense (Details) Details 55 false false R56.htm 41004 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Nonvested Stock Award and Unit Activity (Details) Sheet http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Nonvested Stock Award and Unit Activity (Details) Details 56 false false R57.htm 41005 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Stock Equivalent Units (Details) Sheet http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Stock Equivalent Units (Details) Details 57 false false R58.htm 41101 - Disclosure - INCOME TAXES - Provision for Income Taxes (Details) Sheet http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails INCOME TAXES - Provision for Income Taxes (Details) Details 58 false false R59.htm 41102 - Disclosure - INCOME TAXES - Components of Deferred Taxes (Details) Sheet http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails INCOME TAXES - Components of Deferred Taxes (Details) Details 59 false false R60.htm 41103 - Disclosure - INCOME TAXES - Additional Information (Details) Sheet http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails INCOME TAXES - Additional Information (Details) Details 60 false false R61.htm 41104 - Disclosure - INCOME TAXES - Reconciliation of Income Tax Provision To Total Income Taxes At Statutory Federal Tax Rate (Details) Sheet http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails INCOME TAXES - Reconciliation of Income Tax Provision To Total Income Taxes At Statutory Federal Tax Rate (Details) Details 61 false false R62.htm 41201 - Disclosure - EMPLOYEE BENEFIT PLAN (Details) Sheet http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlanDetails EMPLOYEE BENEFIT PLAN (Details) Details http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlan 62 false false R63.htm 41401 - Disclosure - SEGMENT AND RELATED DISCLOSURES - Segment Information Applicable to Reportable Operating Segments (Details) Sheet http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails SEGMENT AND RELATED DISCLOSURES - Segment Information Applicable to Reportable Operating Segments (Details) Details 63 false false R64.htm 41402 - Disclosure - SEGMENT INFORMATION - Concentration Risk (Details) Sheet http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails SEGMENT INFORMATION - Concentration Risk (Details) Details 64 false false R65.htm 41501 - Disclosure - SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details) Sheet http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details) Details http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts 65 false false R66.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 66 false false R67.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 67 false false All Reports Book All Reports cnxn-20231231.xsd cnxn-20231231_cal.xml cnxn-20231231_def.xml cnxn-20231231_lab.xml cnxn-20231231_pre.xml cnxn-20231231x10k.htm cnxn-20231231x10k002.jpg http://fasb.org/srt/2023 http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 90 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "cnxn-20231231x10k.htm": { "nsprefix": "cnxn", "nsuri": "http://www.pcconnection.com/20231231", "dts": { "schema": { "local": [ "cnxn-20231231.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "cnxn-20231231_cal.xml" ] }, "definitionLink": { "local": [ "cnxn-20231231_def.xml" ] }, "labelLink": { "local": [ "cnxn-20231231_lab.xml" ] }, "presentationLink": { "local": [ "cnxn-20231231_pre.xml" ] }, "inline": { "local": [ "cnxn-20231231x10k.htm" ] } }, "keyStandard": 313, "keyCustom": 27, "axisStandard": 23, "axisCustom": 2, "memberStandard": 32, "memberCustom": 43, "hidden": { "total": 20, "http://fasb.org/us-gaap/2023": 12, "http://xbrl.sec.gov/dei/2023": 5, "http://www.pcconnection.com/20231231": 3 }, "contextCount": 279, "entityCount": 1, "segmentCount": 75, "elementCount": 637, "unitCount": 7, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 904, "http://xbrl.sec.gov/dei/2023": 37, "http://xbrl.sec.gov/ecd/2023": 4, "http://fasb.org/srt/2023": 1 }, "report": { "R1": { "role": "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets", "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS", "shortName": "CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheetsParenthetical", "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (PARENTHETICAL)", "shortName": "CONSOLIDATED BALANCE SHEETS (PARENTHETICAL)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_N2AgyQIxU0KiL6INgmVOyQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_N2AgyQIxU0KiL6INgmVOyQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome", "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME", "shortName": "CONSOLIDATED STATEMENTS OF INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R5": { "role": "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome", "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME", "shortName": "CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R6": { "role": "http://www.pcconnection.com/role/StatementCondensedConsolidatedStatementsOfOtherComprehensiveIncomeParenthetical", "longName": "00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OTHER COMPREHENSIVE INCOME (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity", "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sIbuAnmtRka9vSUqInFiSQ", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_sIbuAnmtRka9vSUqInFiSQ", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows", "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "longName": "10101 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.pcconnection.com/role/DisclosureRevenue", "longName": "10201 - Disclosure - REVENUE", "shortName": "REVENUE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.pcconnection.com/role/DisclosureFairValueMeasurements", "longName": "10301 - Disclosure - FAIR VALUE MEASUREMENTS", "shortName": "FAIR VALUE MEASUREMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssets", "longName": "10401 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.pcconnection.com/role/DisclosureAccountsReceivable", "longName": "10501 - Disclosure - ACCOUNTS RECEIVABLE", "shortName": "ACCOUNTS RECEIVABLE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.pcconnection.com/role/DisclosurePropertyAndEquipment", "longName": "10601 - Disclosure - PROPERTY AND EQUIPMENT", "shortName": "PROPERTY AND EQUIPMENT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.pcconnection.com/role/DisclosureLeases", "longName": "10701 - Disclosure - LEASES", "shortName": "LEASES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilities", "longName": "10801 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES", "shortName": "ACCRUED EXPENSES AND OTHER LIABILITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "cnxn:AccruedExpensesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "cnxn:AccruedExpensesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.pcconnection.com/role/DisclosureBankBorrowings", "longName": "10901 - Disclosure - BANK BORROWINGS", "shortName": "BANK BORROWINGS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensation", "longName": "11001 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION", "shortName": "STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.pcconnection.com/role/DisclosureIncomeTaxes", "longName": "11101 - Disclosure - INCOME TAXES", "shortName": "INCOME TAXES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlan", "longName": "11201 - Disclosure - EMPLOYEE BENEFIT PLAN", "shortName": "EMPLOYEE BENEFIT PLAN", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.pcconnection.com/role/DisclosureCommitmentsAndContingencies", "longName": "11301 - Disclosure - COMMITMENTS AND CONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosures", "longName": "11401 - Disclosure - SEGMENT AND RELATED DISCLOSURES", "shortName": "SEGMENT AND RELATED DISCLOSURES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts", "longName": "11501 - Disclosure - SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS", "shortName": "SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "longName": "20102 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ConsolidationPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "longName": "30103 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.pcconnection.com/role/DisclosureRevenueTables", "longName": "30203 - Disclosure - REVENUE (Tables)", "shortName": "REVENUE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsTables", "longName": "30303 - Disclosure - FAIR VALUE MEASUREMENTS (Tables)", "shortName": "FAIR VALUE MEASUREMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables", "longName": "30403 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.pcconnection.com/role/DisclosureAccountsReceivableTables", "longName": "30503 - Disclosure - ACCOUNTS RECEIVABLE (Tables)", "shortName": "ACCOUNTS RECEIVABLE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentTables", "longName": "30603 - Disclosure - PROPERTY AND EQUIPMENT (Tables)", "shortName": "PROPERTY AND EQUIPMENT (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.pcconnection.com/role/DisclosureLeasesTables", "longName": "30703 - Disclosure - LEASES (Tables)", "shortName": "LEASES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables", "longName": "30803 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES (Tables)", "shortName": "ACCRUED EXPENSES AND OTHER LIABILITIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "cnxn:ScheduleOfAccruedExpensesAndOtherLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "cnxn:ScheduleOfAccruedExpensesAndOtherLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables", "longName": "31003 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION (Tables)", "shortName": "STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.pcconnection.com/role/DisclosureIncomeTaxesTables", "longName": "31103 - Disclosure - INCOME TAXES (Tables)", "shortName": "INCOME TAXES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresTables", "longName": "31403 - Disclosure - SEGMENT AND RELATED DISCLOSURES (Tables)", "shortName": "SEGMENT AND RELATED DISCLOSURES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails", "longName": "40101 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Unit_Standard_segment_aqh36pNehUepcJXjBRGH_g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:CreditAndDebitCardReceivablesAtCarryingValue", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R37": { "role": "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails", "longName": "40102 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Concentration Risk (Details)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Concentration Risk (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_cnxn_SingleCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_agF7carzd06Zuwgyf6dd7Q", "name": "cnxn:NumberOfCustomersExceedingRiskBenchmark", "unitRef": "Unit_Standard_customer_lcxlc8DyOUOpdpaiSZZtAQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "cnxn:NumberOfCustomersExceedingRiskBenchmark", "cnxn:NumberOfCustomersExceedingRiskBenchmark", "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_cnxn_SingleCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_agF7carzd06Zuwgyf6dd7Q", "name": "cnxn:NumberOfCustomersExceedingRiskBenchmark", "unitRef": "Unit_Standard_customer_lcxlc8DyOUOpdpaiSZZtAQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "cnxn:NumberOfCustomersExceedingRiskBenchmark", "cnxn:NumberOfCustomersExceedingRiskBenchmark", "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails", "longName": "40103 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Restructuring and Other Charges (Details)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Restructuring and Other Charges (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "cnxn:RestructuringAndOtherCharges", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_RestructuringCostAndReserveAxis_us-gaap_EmployeeSeveranceMember_ga7elFj5p0mjWHSv-PoEMw", "name": "cnxn:RestructuringAndOtherCharges", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R39": { "role": "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "longName": "40104 - Disclosure - SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Basic and Diluted Earnings Per Share (Details)", "shortName": "SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES - Basic and Diluted Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_ZZxH4wGzME6DlHGrkfjOzg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R40": { "role": "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails", "longName": "40201 - Disclosure - REVENUE - Disaggregation of Revenue (Details)", "shortName": "REVENUE - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_cnxn_NotebooksAndMobilityMember_xcH1auXr8E-W4yA4ViAN5A", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R41": { "role": "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails", "longName": "40202 - Disclosure - REVENUE - Contract Balances (Details)", "shortName": "REVENUE - Contract Balances (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "As_Of_12_31_2022_Hb5colgNSk60z27gzVRabA", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2021_a7rkJrz9Q0OLnCGYiPqmQg", "name": "us-gaap:ContractWithCustomerLiability", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R42": { "role": "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails", "longName": "40301 - Disclosure - FAIR VALUE MEASUREMENTS - Available-for-Sale Investments (Details)", "shortName": "FAIR VALUE MEASUREMENTS - Available-for-Sale Investments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "longName": "40401 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Carrying Amount of Goodwill (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Carrying Amount of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:GoodwillGross", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:GoodwillGross", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails", "longName": "40402 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Amortizable Intangible Assets and Related Accumulated Amortization (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Amortizable Intangible Assets and Related Accumulated Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails", "longName": "40403 - Disclosure - GOODWILL AND OTHER INTANGIBLE ASSETS - Estimated Amortization Expenses (Details)", "shortName": "GOODWILL AND OTHER INTANGIBLE ASSETS - Estimated Amortization Expenses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails", "longName": "40501 - Disclosure - ACCOUNTS RECEIVABLE (Details)", "shortName": "ACCOUNTS RECEIVABLE (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "cnxn:TradeReceivablesCurrent", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "cnxn:TradeReceivablesCurrent", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails", "longName": "40601 - Disclosure - PROPERTY AND EQUIPMENT - Summary (Details)", "shortName": "PROPERTY AND EQUIPMENT - Summary (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:CapitalizedComputerSoftwareGross", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:CapitalizedComputerSoftwareGross", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentDepreciationAndAmortizationExpenseDetails", "longName": "40602 - Disclosure - PROPERTY AND EQUIPMENT - Depreciation and Amortization Expense (Details)", "shortName": "PROPERTY AND EQUIPMENT - Depreciation and Amortization Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails", "longName": "40701 - Disclosure - LEASES - Lease Cost and Other Information (Details)", "shortName": "LEASES - Lease Cost and Other Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:OperatingLeaseRightOfUseAsset", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "cnxn:NumberOfFinancingLeases", "unitRef": "Unit_Standard_lease_787d7K6__kKYzY5WQuXylA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R50": { "role": "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "longName": "40702 - Disclosure - LEASES - Future Lease Payments (Details)", "shortName": "LEASES - Future Lease Payments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail", "longName": "40801 - Disclosure - ACCRUED EXPENSES AND OTHER LIABILITIES (Detail)", "shortName": "ACCRUED EXPENSES AND OTHER LIABILITIES (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "cnxn:DepositsCurrentIncludingCustomerContractLiabilities", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cnxn:ScheduleOfAccruedExpensesAndOtherLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "cnxn:DepositsCurrentIncludingCustomerContractLiabilities", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "cnxn:ScheduleOfAccruedExpensesAndOtherLiabilitiesTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails", "longName": "40901 - Disclosure - BANK BORROWINGS (Details)", "shortName": "BANK BORROWINGS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "longName": "41001 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Narrative (Details)", "shortName": "STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:PreferredStockSharesAuthorized", "unitRef": "Unit_Standard_shares_ZZxH4wGzME6DlHGrkfjOzg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:PreferredStockSharesAuthorized", "p", "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:PreferredStockSharesAuthorized", "unitRef": "Unit_Standard_shares_ZZxH4wGzME6DlHGrkfjOzg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "us-gaap:PreferredStockSharesAuthorized", "p", "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails", "longName": "41002 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Dividend Payments (Details)", "shortName": "STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Dividend Payments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_2lvSkw6B5kaoSjcLJO0uxw", "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "unitRef": "Unit_Divide_USD_shares_N2AgyQIxU0KiL6INgmVOyQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_2lvSkw6B5kaoSjcLJO0uxw", "name": "us-gaap:CommonStockDividendsPerShareCashPaid", "unitRef": "Unit_Divide_USD_shares_N2AgyQIxU0KiL6INgmVOyQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails", "longName": "41003 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Components of Share-Based Compensation Recorded as Expense (Details)", "shortName": "STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Components of Share-Based Compensation Recorded as Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails", "longName": "41004 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Nonvested Stock Award and Unit Activity (Details)", "shortName": "STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Nonvested Stock Award and Unit Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_PIoEqA10oU6LH9RAYv9gyQ", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Unit_Standard_shares_ZZxH4wGzME6DlHGrkfjOzg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_o0vya6wSHUeb6VYyknlr2Q", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "unitRef": "Unit_Standard_shares_ZZxH4wGzME6DlHGrkfjOzg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R57": { "role": "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails", "longName": "41005 - Disclosure - STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Stock Equivalent Units (Details)", "shortName": "STOCKHOLDERS' EQUITY AND SHARE-BASED COMPENSATION - Stock Equivalent Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_PhantomShareUnitsPSUsMember_y5-adn-zaUG0fblUAjybtA", "name": "cnxn:EmployeeShareBasedCompensationExpenseForPhantomStockUnits", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_PhantomShareUnitsPSUsMember_y5-adn-zaUG0fblUAjybtA", "name": "cnxn:EmployeeShareBasedCompensationExpenseForPhantomStockUnits", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails", "longName": "41101 - Disclosure - INCOME TAXES - Provision for Income Taxes (Details)", "shortName": "INCOME TAXES - Provision for Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails", "longName": "41102 - Disclosure - INCOME TAXES - Components of Deferred Taxes (Details)", "shortName": "INCOME TAXES - Components of Deferred Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails", "longName": "41103 - Disclosure - INCOME TAXES - Additional Information (Details)", "shortName": "INCOME TAXES - Additional Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_0FjHK9-CjkGuPnZihx-hJQ", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails", "longName": "41104 - Disclosure - INCOME TAXES - Reconciliation of Income Tax Provision To Total Income Taxes At Statutory Federal Tax Rate (Details)", "shortName": "INCOME TAXES - Reconciliation of Income Tax Provision To Total Income Taxes At Statutory Federal Tax Rate (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlanDetails", "longName": "41201 - Disclosure - EMPLOYEE BENEFIT PLAN (Details)", "shortName": "EMPLOYEE BENEFIT PLAN (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "longName": "41401 - Disclosure - SEGMENT AND RELATED DISCLOSURES - Segment Information Applicable to Reportable Operating Segments (Details)", "shortName": "SEGMENT AND RELATED DISCLOSURES - Segment Information Applicable to Reportable Operating Segments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_aqh36pNehUepcJXjBRGH_g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_aqh36pNehUepcJXjBRGH_g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "longName": "41402 - Disclosure - SEGMENT INFORMATION - Concentration Risk (Details)", "shortName": "SEGMENT INFORMATION - Concentration Risk (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_GeographicConcentrationRiskMember_us-gaap_GeographicDistributionAxis_us-gaap_GeographicDistributionForeignMember_nLhBbXRNAUiscQxgL6F-LA", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_fbjBnWhGyUeEbVAFGOuv5w", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "us-gaap:ConcentrationRiskPercentage1", "us-gaap:ConcentrationRiskPercentage1", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_RevenueFromContractWithCustomerMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_GeographicConcentrationRiskMember_us-gaap_GeographicDistributionAxis_us-gaap_GeographicDistributionForeignMember_nLhBbXRNAUiscQxgL6F-LA", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Unit_Standard_pure_fbjBnWhGyUeEbVAFGOuv5w", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "us-gaap:ConcentrationRiskPercentage1", "us-gaap:ConcentrationRiskPercentage1", "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails", "longName": "41501 - Disclosure - SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details)", "shortName": "SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "As_Of_12_31_2022_Hb5colgNSk60z27gzVRabA", "name": "us-gaap:ValuationAllowancesAndReservesBalance", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_cnxn_ContractWithCustomerRefundLiabilityMember_2jWzo0SoqUOV3XEo_gBlvw", "name": "us-gaap:ValuationAllowancesAndReservesBalance", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "unique": true } }, "R66": { "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": "Uncategorized", "order": "66", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_VT6Y5w4rvUSbTMIv_8DgiQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_aE5If6JwEESo_z8nvyJcyQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R67": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "67", "firstAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_-ndjZZXyR0mnPpXYH6ov1Q", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_-ndjZZXyR0mnPpXYH6ov1Q", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "cnxn-20231231x10k.htm", "first": true, "unique": true } } }, "tag": { "cnxn_AccessoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AccessoriesMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to accessory products.", "label": "Accessories" } } }, "auth_ref": [] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17", "r735" ] }, "us-gaap_AccountsReceivableGrossCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableGrossCurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Gross, Current", "totalLabel": "Total gross accounts receivable", "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r205", "r301", "r302", "r700" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net", "totalLabel": "Accounts receivable, net", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r301", "r302" ] }, "cnxn_AccruedEmployeeTerminationBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AccruedEmployeeTerminationBenefits", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "documentation": "Carrying value at the balance sheet date of obligations related to unpaid employee termination benefits.", "label": "Accrued Employee Termination Benefits", "terseLabel": "Accrued employee termination benefits" } } }, "auth_ref": [] }, "cnxn_AccruedExciseTaxOnTreasuryPurchases": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AccruedExciseTaxOnTreasuryPurchases", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for excise tax incurred on purchases of treasury shares that have occurred.", "label": "Accrued Excise Tax on Treasury Purchases", "terseLabel": "Accrued excise tax on treasury purchases" } } }, "auth_ref": [] }, "cnxn_AccruedExpensesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AccruedExpensesAndOtherLiabilitiesDisclosureCurrentTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilities" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accrued expenses, and other liabilities that are classified as current at the end of the reporting period.", "label": "Accrued Expenses and Other Liabilities Disclosure, Current [Text Block]", "terseLabel": "Accrued Expenses and Other Liabilities" } } }, "auth_ref": [] }, "cnxn_AccruedExpensesAndOtherLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AccruedExpensesAndOtherLiabilitiesMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing accrued expenses and other liabilities.", "label": "Accrued expenses and other liabilities" } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesAndOtherLiabilities", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities and Other Liabilities", "terseLabel": "Accrued expenses and other liabilities", "totalLabel": "Accrued expenses and other liabilities", "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesAndOtherLiabilitiesAbstract", "lang": { "en-us": { "role": { "label": "Accrued Expenses and Other Liabilities" } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Accumulated depreciation and amortization", "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": [ "r64", "r200", "r592" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r28", "r29", "r98", "r206", "r588", "r623", "r624" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r2", "r12", "r29", "r508", "r511", "r540", "r619", "r620", "r846", "r847", "r848", "r858", "r859", "r860" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Acquired estimated useful lives", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r114" ] }, "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": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r788" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r93" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-In Capital", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r472", "r473", "r474", "r630", "r858", "r859", "r860", "r926", "r944" ] }, "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": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r794" ] }, "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": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r794" ] }, "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": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r794" ] }, "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": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r794" ] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Adjustments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Shares withheld for taxes paid on stock awards", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r73", "r74", "r441" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "auth_ref": [] }, "us-gaap_AdvertisingCostsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingCostsPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Advertising Costs, Policy [Policy Text Block]", "terseLabel": "Advertising Costs and Vendor Consideration", "documentation": "Disclosure of accounting policy for advertising cost." } } }, "auth_ref": [ "r151" ] }, "us-gaap_AdvertisingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdvertisingExpense", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Advertising Expense", "terseLabel": "Advertising expense", "documentation": "Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line." } } }, "auth_ref": [ "r476" ] }, "cnxn_AggregateDeferredTaxLiabilitiesNetOfAssetsAndNetOfValuationAllowanceNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AggregateDeferredTaxLiabilitiesNetOfAssetsAndNetOfValuationAllowanceNoncurrent", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount, after noncurrent deferred tax asset (and valuation allowances), of noncurrent deferred tax liability attributable to taxable differences, before jurisdictional netting.", "label": "Aggregate Deferred Tax Liabilities Net Of Assets And Net Of Valuation Allowance Noncurrent", "negatedLabel": "Noncurrent deferred tax liability" } } }, "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": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r758", "r770", "r780", "r806" ] }, "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": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r761", "r773", "r783", "r809" ] }, "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": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r794" ] }, "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": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r801" ] }, "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": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r765", "r774", "r784", "r801", "r810", "r814", "r822" ] }, "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": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r820" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails": { "parentTag": "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Allocated Share-based Compensation Expense", "terseLabel": "Pre-tax expense for nonvested units", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r470", "r475" ] }, "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpenseNetOfTax", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Allocated Share-based Compensation Expense, Net of Tax", "totalLabel": "Net effect on net income", "documentation": "Amount, after tax, of expense for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AllowanceForCreditLossMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForCreditLossMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]", "terseLabel": "Allowance for Credit Losses", "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r853", "r854", "r855", "r856", "r857" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Allowance for Doubtful Accounts Receivable, Current", "negatedLabel": "Credit losses", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r207", "r305", "r340" ] }, "cnxn_AlternateBaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AlternateBaseRateMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "documentation": "Alternate base rate for borrowings.", "label": "Alternate Base Rate" } } }, "auth_ref": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Amendment Flag", "terseLabel": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense", "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": [ "r7", "r57", "r61" ] }, "cnxn_AntidilutiveSecuritiesValueExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AntidilutiveSecuritiesValueExcludedFromComputationOfEarningsPerShareAmount", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Value of 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.", "label": "Antidilutive Securities Value Excluded From Computation Of Earnings Per Share Amount", "terseLabel": "Employee stock awards excluded from computation of diluted earnings per share" } } }, "auth_ref": [] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "terseLabel": "Total assets", "totalLabel": "Total Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r138", "r204", "r231", "r272", "r287", "r293", "r337", "r385", "r386", "r388", "r389", "r390", "r392", "r394", "r396", "r397", "r501", "r505", "r519", "r585", "r653", "r735", "r748", "r888", "r889", "r931" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS", "verboseLabel": "Total assets:" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r195", "r210", "r231", "r337", "r385", "r386", "r388", "r389", "r390", "r392", "r394", "r396", "r397", "r501", "r505", "r519", "r735", "r888", "r889", "r931" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current Assets:" } } }, "auth_ref": [] }, "cnxn_AssetsNetOfIntercompanyBalanceEliminations": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "AssetsNetOfIntercompanyBalanceEliminations", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized net of intercompany balance eliminations.", "label": "Assets, Net of Intercompany Balance Eliminations", "terseLabel": "Assets net of intercompany balance eliminations" } } }, "auth_ref": [] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Firm ID", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r752", "r753", "r766" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "auth_ref": [ "r752", "r753", "r766" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "auth_ref": [ "r752", "r753", "r766" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "terseLabel": "Unrealized Gains", "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": [ "r311" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale, Amortized Cost", "totalLabel": "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": [ "r308", "r347", "r584" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Available-for-Sale", "terseLabel": "Fair Value", "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": [ "r309", "r347", "r578", "r865" ] }, "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": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r817" ] }, "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": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r818" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r813" ] }, "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": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r813" ] }, "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": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r813" ] }, "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": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r813" ] }, "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": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r813" ] }, "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": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r813" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r467", "r468", "r469" ] }, "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": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r816" ] }, "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": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r815" ] }, "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": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r814" ] }, "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": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r814" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails", "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails", "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Financial Statement Line Items with Differences in Reported Amount and Reporting Currency Denominated Amounts [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r84", "r85" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Accrued capital expenditures", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r38", "r39", "r40" ] }, "us-gaap_CapitalizedComputerSoftwareGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedComputerSoftwareGross", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Capitalized Computer Software, Gross", "terseLabel": "Computer software, including licenses and internally-developed software", "documentation": "Amount before accumulated amortization of capitalized costs for computer software, including but not limited to, acquired and internally developed computer software." } } }, "auth_ref": [ "r946" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r35", "r198", "r698" ] }, "us-gaap_CashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Member]", "terseLabel": "Cash and cash equivalents", "documentation": "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_CashAndCashEquivalentsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash and Cash Equivalents and Investments", "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value." } } }, "auth_ref": [ "r36" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of year", "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": [ "r35", "r108", "r228" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Increase in cash and cash equivalents", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r1", "r108" ] }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]", "terseLabel": "Non-cash Investing and Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowOperatingActivitiesLesseeAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Cash Flow, Operating Activities, Lessee [Abstract]", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:" } } }, "auth_ref": [] }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInContractWithCustomerLiabilityAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails" ], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Change in contract liability" } } }, "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": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r792" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "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": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r793" ] }, "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": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r793" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r123", "r379", "r380", "r691", "r885" ] }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Common stock reserved for issuance", "documentation": "Aggregate number of common shares reserved for future issuance." } } }, "auth_ref": [ "r24" ] }, "us-gaap_CommonStockDividendsPerShareCashPaid": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareCashPaid", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Dividends, Per Share, Cash Paid", "terseLabel": "Dividend per share", "documentation": "Aggregate dividends paid during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r126" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r738", "r739", "r740", "r742", "r743", "r744", "r745", "r858", "r859", "r926", "r943", "r944" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common Stock, par value", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r92" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common Stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r92", "r641" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "terseLabel": "Common Stock, shares issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r92" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common Stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r13", "r92", "r641", "r659", "r944", "r945" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common Stock, $.01 par value, 100,000 shares authorized, 29,262 and 29,123 issued, 26,360 and 26,350 outstanding at December 31, 2023 and 2022, respectively", "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": [ "r92", "r587", "r735" ] }, "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": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r798" ] }, "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": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r797" ] }, "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": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r799" ] }, "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": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r796" ] }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlan" ], "lang": { "en-us": { "role": { "label": "Compensation and Employee Benefit Plans [Text Block]", "terseLabel": "Employee Benefit Plan", "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans." } } }, "auth_ref": [ "r127", "r128", "r129", "r130" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Compensation and Retirement" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r30", "r213", "r215", "r219", "r579", "r598" ] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Computer Software, Intangible Asset [Member]", "terseLabel": "Computer software", "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks." } } }, "auth_ref": [ "r696", "r882", "r883" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r44", "r47", "r87", "r88", "r300", "r690" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r44", "r47", "r87", "r88", "r300", "r625", "r690" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r44", "r47", "r87", "r88", "r300", "r690", "r830" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Concentrations", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r90", "r154" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration risk", "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": [ "r690" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Percentage of sales by segment", "verboseLabel": "Percentage of total net sales", "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": [ "r44", "r47", "r87", "r88", "r300" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "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": [ "r43", "r44", "r47", "r48", "r87", "r137", "r690" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r44", "r47", "r87", "r88", "r300", "r690" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments." } } }, "auth_ref": [ "r182", "r183", "r184", "r185", "r186", "r187", "r188", "r189", "r190", "r235", "r274", "r285", "r286", "r287", "r288", "r289", "r291", "r295", "r385", "r386", "r387", "r388", "r390", "r391", "r393", "r395", "r396", "r841", "r842", "r888", "r889" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments." } } }, "auth_ref": [ "r182", "r183", "r184", "r185", "r186", "r187", "r188", "r189", "r190", "r235", "r274", "r285", "r286", "r287", "r288", "r289", "r291", "r295", "r385", "r386", "r387", "r388", "r390", "r391", "r393", "r395", "r396", "r841", "r842", "r888", "r889" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of Consolidation", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r83", "r704" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Schedule of changes in contract liability balances", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r891" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability", "periodEndLabel": "Ending balance - Contract liability", "periodStartLabel": "Beginning balance - Contract liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r416", "r417", "r436" ] }, "us-gaap_ContractWithCustomerLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability [Abstract]", "terseLabel": "Contract liabilities" } } }, "auth_ref": [] }, "cnxn_ContractWithCustomerLiabilityAdvancePaymentsReceived": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ContractWithCustomerLiabilityAdvancePaymentsReceived", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails" ], "lang": { "en-us": { "role": { "documentation": "Advance payments received from customers not recognized as revenue.", "label": "Contract with Customer Liability, Advance Payments Received", "terseLabel": "Cash received in advance and not recognized as revenue" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "verboseLabel": "Contract liabilities", "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": [ "r416", "r417", "r436" ] }, "cnxn_ContractWithCustomerRefundLiabilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ContractWithCustomerRefundLiabilityMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "documentation": "Liability for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to customer.", "label": "Allowance for Sales Returns" } } }, "auth_ref": [] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Headquarters/Other", "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment." } } }, "auth_ref": [ "r14", "r286", "r287", "r288", "r289", "r295", "r863" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of sales", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r102", "r574" ] }, "us-gaap_CostOfSalesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cost of Sales, Policy [Policy Text Block]", "terseLabel": "Cost of Sales and Certain Other Costs", "documentation": "Disclosure of accounting policy for cost of product sold and service rendered." } } }, "auth_ref": [ "r833" ] }, "us-gaap_CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostsAssociatedWithExitOrDisposalActivitiesOrRestructuringsPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Costs Associated with Exit or Disposal Activities or Restructurings, Policy [Policy Text Block]", "terseLabel": "Restructuring and other charges", "documentation": "Disclosure of accounting policy for recognizing and reporting costs associated with exiting, disposing of, and restructuring certain operations." } } }, "auth_ref": [ "r15", "r121", "r122" ] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]", "documentation": "Information by name of counterparty. A counterparty is the other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution." } } }, "auth_ref": [ "r191", "r233", "r234", "r400", "r413", "r541", "r701", "r703" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document And Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditAndDebitCardReceivablesAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditAndDebitCardReceivablesAtCarryingValue", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Credit and Debit Card Receivables, at Carrying Value", "terseLabel": "Amounts due from banks for credit card transactions, classified as cash equivalents", "documentation": "Amount due the Entity as a result of customers utilizing point of sale debit or credit cards in exchange transactions with the entity which are 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. Generally, only investments with original maturities of three months or less qualify under that definition." } } }, "auth_ref": [] }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Federal Tax Expense (Benefit)", "terseLabel": "Federal", "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r832", "r852", "r925" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total current", "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations." } } }, "auth_ref": [ "r135", "r490", "r496", "r852" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Current:" } } }, "auth_ref": [] }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentStateAndLocalTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State", "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r832", "r852", "r925" ] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Customer", "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": [ "r45", "r300" ] }, "us-gaap_CustomerListsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerListsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Customer List", "documentation": "Information about customers such as their name and contact information; it may also be an extensive database that includes other information about the customers such as their order history and demographic information." } } }, "auth_ref": [ "r81" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r82" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Bank Borrowings" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowings" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "verboseLabel": "Bank Borrowings", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r124", "r230", "r398", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408", "r409", "r411" ] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Debt instrument, interest rate", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r22", "r399" ] }, "us-gaap_DebtSecuritiesAvailableForSaleTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "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": [ "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318" ] }, "us-gaap_DebtSecuritiesFairValueByFairValueHierarchyLevelExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesFairValueByFairValueHierarchyLevelExtensibleList", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Securities, Fair Value by Fair Value Hierarchy Level [Extensible Enumeration]", "terseLabel": "Fair value hierarchy - Level 1", "documentation": "Indicates level within fair value hierarchy of investment in debt security." } } }, "auth_ref": [ "r518" ] }, "us-gaap_DeferredCompensationArrangementWithIndividualContributionsByEmployer": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualContributionsByEmployer", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlanDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement with Individual, Contributions by Employer", "terseLabel": "Employer matching contributions to employee profit sharing plan", "documentation": "Amount of contributions made by employer into fund established for purposes of making future disbursement to individual in accordance with deferred compensation arrangement." } } }, "auth_ref": [] }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal", "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r852", "r924", "r925" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "totalLabel": "Total deferred", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r7", "r135", "r160", "r495", "r496", "r852" ] }, "cnxn_DeferredIncomeTaxExpenseBenefitAdjusted": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DeferredIncomeTaxExpenseBenefitAdjusted", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations, including cumulative effect adjustment on adoption of new accounting standard.", "label": "Deferred Income Tax Expense (Benefit), Adjusted", "terseLabel": "Deferred income taxes" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Deferred:" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred income taxes", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r478", "r479", "r586" ] }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State", "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r852", "r924", "r925" ] }, "us-gaap_DeferredTaxAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsGross", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Gross", "totalLabel": "Total gross deferred tax assets", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r487" ] }, "us-gaap_DeferredTaxAssetsInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsInventory", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Inventory", "terseLabel": "Inventory costs capitalized for tax purposes", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net of Valuation Allowance", "totalLabel": "Net deferred tax assets", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r922" ] }, "us-gaap_DeferredTaxAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNetAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net [Abstract]", "terseLabel": "Deferred tax assets:" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails", "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Operating Loss Carryforwards, State and Local", "terseLabel": "Operating loss carryforwards, state tax benefits net of federal taxes", "verboseLabel": "State tax loss carryforwards", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible state and local operating loss carryforwards." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration", "terseLabel": "State net operating loss carryforwards", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOther", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Other", "terseLabel": "Other", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other." } } }, "auth_ref": [ "r79", "r923" ] }, "cnxn_DeferredTaxAssetsQualifiedResearchExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DeferredTaxAssetsQualifiedResearchExpense", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from qualified research and development costs expensed.", "label": "Deferred Tax Assets, Qualified Research Expense", "terseLabel": "Capitalized research and development" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxCreditCarryforwards", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails", "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Credit Carryforwards", "terseLabel": "State tax credit carryforwards", "verboseLabel": "New Hampshire Business Enterprise tax credits", "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards." } } }, "auth_ref": [ "r78", "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Benefits", "terseLabel": "Deductible expenses, primarily employee-benefit related", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from employee benefits, classified as other." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Bonuses", "terseLabel": "Accrued compensation", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee bonuses." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost", "terseLabel": "Stock-based compensation", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts", "terseLabel": "Allowance for credit losses", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Deferred Rent", "terseLabel": "Operating lease liability", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred rent." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Loss Reserves", "terseLabel": "Inventory valuation reserves", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from loss reserves other than estimated credit losses." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Returns and Allowances", "terseLabel": "Sales return reserves", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from estimated returns and sales allowances." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails", "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Less: Valuation allowance", "terseLabel": "State tax credit and state tax loss carryforwards, 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": [ "r488" ] }, "us-gaap_DeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net", "negatedTotalLabel": "Net deferred tax liability", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting." } } }, "auth_ref": [ "r75", "r922" ] }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssets", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "cnxn_DeferredTaxLiabilitiesGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Goodwill and Intangible Assets", "negatedLabel": "Goodwill and other intangibles", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets including goodwill." } } }, "auth_ref": [ "r79", "r923" ] }, "cnxn_DeferredTaxLiabilitiesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DeferredTaxLiabilitiesGross", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax liability to taxable temporary differences.", "label": "Deferred Tax Liabilities, Gross", "negatedTotalLabel": "Total gross deferred tax liabilities." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxLiabilitiesLeasingArrangements": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesLeasingArrangements", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "cnxn_DeferredTaxLiabilitiesGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Leasing Arrangements", "negatedLabel": "Right-of-use assets", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from leasing arrangements." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DeferredTaxLiabilitiesNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesNetAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net [Abstract]", "terseLabel": "Deferred tax liabilities:" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxLiabilitiesPrepaidExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesPrepaidExpenses", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "cnxn_DeferredTaxLiabilitiesGross", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Prepaid Expenses", "negatedLabel": "Prepaid expenses", "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid expenses." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails": { "parentTag": "cnxn_DeferredTaxLiabilitiesGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesComponentsOfDeferredTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "negatedLabel": "Property and equipment", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment." } } }, "auth_ref": [ "r79", "r923" ] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureEmployeeBenefitPlanDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "terseLabel": "Employer matching contributions to employee savings", "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan." } } }, "auth_ref": [] }, "cnxn_DellInc.Member": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DellInc.Member", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Dell, Inc. [Member]", "label": "Dell, Inc. [Member]", "terseLabel": "Dell, Inc." } } }, "auth_ref": [] }, "cnxn_DepositsCurrentIncludingCustomerContractLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DepositsCurrentIncludingCustomerContractLiabilities", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail" ], "lang": { "en-us": { "role": { "documentation": "The current portion, due within one year or one operating cycle, if longer, of deposits held including customer deposits.", "label": "Deposits, Current, Including Customer Contract Liabilities", "terseLabel": "Customer and vendor deposits" } } }, "auth_ref": [] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization", "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production." } } }, "auth_ref": [ "r7", "r63" ] }, "us-gaap_DepreciationAndAmortizationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortizationAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization [Abstract]", "terseLabel": "Depreciation and amortization:" } } }, "auth_ref": [] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentDepreciationAndAmortizationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r7", "r277" ] }, "cnxn_DesktopsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DesktopsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to desktop computer products.", "label": "Desktops" } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax [Abstract]", "terseLabel": "Net sales:" } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of revenue", "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": [ "r435", "r720", "r721", "r722", "r723", "r724", "r725", "r726" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "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": [ "r435", "r720", "r721", "r722", "r723", "r724", "r725", "r726" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of disaggregation of revenue from contracts with customers", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r892" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Stockholders' Equity and Share-Based Compensation" } } }, "auth_ref": [] }, "cnxn_DisclosureOfStockholdersEquityAndShareBasedCompensationArrangementByShareBasedPaymentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DisclosureOfStockholdersEquityAndShareBasedCompensationArrangementByShareBasedPaymentAbstract", "lang": { "en-us": { "role": { "documentation": "Disclosure Of Stockholders Equity And Share Based Compensation Arrangement By Share Based Payment [Abstract]", "label": "Disclosure Of Stockholders Equity And Share Based Compensation Arrangement By Share Based Payment [Abstract]" } } }, "auth_ref": [] }, "cnxn_DisplaysAndSoundsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DisplaysAndSoundsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to display and sound products.", "label": "Displays and Sound" } } }, "auth_ref": [] }, "cnxn_DividendFourMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DividendFourMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the fourth dividend during the period.", "label": "Dividend Four [Member]", "terseLabel": "Dividend 4" } } }, "auth_ref": [] }, "cnxn_DividendOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DividendOneMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the first dividend during the period.", "label": "Dividend One [Member]", "terseLabel": "Dividend 1" } } }, "auth_ref": [] }, "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendPayableDateToBePaidDayMonthAndYear", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Date to be Paid", "terseLabel": "Payment date", "documentation": "Date the declared dividend will be paid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r38" ] }, "cnxn_DividendThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DividendThreeMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the third dividend during the period.", "label": "Dividend Three [Member]", "terseLabel": "Dividend 3" } } }, "auth_ref": [] }, "cnxn_DividendTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "DividendTwoMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the second dividend during the period.", "label": "Dividend Two [Member]", "terseLabel": "Dividend 2" } } }, "auth_ref": [] }, "us-gaap_DividendsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Dividends [Axis]", "documentation": "Information about distribution of earnings to shareholders including, but not limited to, cash, property or capital stock." } } }, "auth_ref": [] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividend declaration", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r126" ] }, "us-gaap_DividendsDeclaredTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsDeclaredTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Dividends Declared [Table Text Block]", "terseLabel": "Dividend declared", "documentation": "Tabular disclosure of information related to dividends declared, including paid and unpaid dividends." } } }, "auth_ref": [] }, "us-gaap_DividendsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Dividends [Domain]", "documentation": "Distributions of earnings to shareholders including but not limited to cash, property or capital stock." } } }, "auth_ref": [] }, "us-gaap_DividendsPayableDateDeclaredDayMonthAndYear": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableDateDeclaredDayMonthAndYear", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Date Declared", "terseLabel": "Declaration date", "documentation": "Date the dividend to be paid was declared, in YYYY-MM-DD format." } } }, "auth_ref": [ "r38" ] }, "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableDateOfRecordDayMonthAndYear", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Date of Record", "terseLabel": "Record date", "documentation": "Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format." } } }, "auth_ref": [] }, "us-gaap_DividendsPayableLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable [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_DividendsPayableTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable [Table]", "documentation": "A table that contains information regarding dividends that have been declared but not paid as of the financial reporting date. This information may contain the amount, amount per share, declared date, and date to be paid." } } }, "auth_ref": [ "r38" ] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Annual Report", "documentation": "Boolean flag that is true only for a form used as an annual report." } } }, "auth_ref": [ "r752", "r753", "r766" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Financial Statement Error Correction", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r752", "r753", "r766", "r802" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Period End Date", "terseLabel": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r787" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Type", "terseLabel": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "terseLabel": "Earnings per common share:", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "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": [ "r220", "r248", "r249", "r250", "r251", "r252", "r256", "r258", "r263", "r264", "r265", "r266", "r515", "r516", "r580", "r599", "r707" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "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": [ "r220", "r248", "r249", "r250", "r251", "r252", "r258", "r263", "r264", "r265", "r266", "r515", "r516", "r580", "r599", "r707" ] }, "us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDilutedOtherDisclosuresAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted, Other Disclosures [Abstract]", "terseLabel": "Additional Disclosure" } } }, "auth_ref": [] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Policy [Policy Text Block]", "terseLabel": "Earnings Per Share", "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements." } } }, "auth_ref": [ "r41", "r42" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued payroll", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r20" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Unrecognized compensation costs, weighted average period of 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": [ "r471" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options", "terseLabel": "Unearned compensation cost", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r920" ] }, "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails": { "parentTag": "us-gaap_AllocatedShareBasedCompensationExpenseNetOfTax", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationComponentsOfShareBasedCompensationRecordedAsExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Tax Benefit from Compensation Expense", "negatedLabel": "Tax benefit", "documentation": "Amount of tax benefit for recognition of expense of award under share-based payment arrangement." } } }, "auth_ref": [ "r470" ] }, "us-gaap_EmployeeSeveranceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeSeveranceMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Employee separations", "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan." } } }, "auth_ref": [] }, "cnxn_EmployeeShareBasedCompensationExpenseForPhantomStockUnits": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "EmployeeShareBasedCompensationExpenseForPhantomStockUnits", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails" ], "lang": { "en-us": { "role": { "documentation": "Share based compensation expense 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).", "label": "Employee Share Based Compensation Expense for Phantom Stock Units", "terseLabel": "Compensation expense" } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "cnxn_EmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "EmployeeStockPurchasePlanMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Employee Stock Purchase Plan [Member]", "label": "1997 Employee Stock Purchase Plan" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r750" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r750" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Filer Category", "terseLabel": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r750" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r827" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Public Float", "terseLabel": "Entity Public Float", "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r750" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r750" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r750" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r750" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Voluntary Filers", "terseLabel": "Entity Voluntary Filers", "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act." } } }, "auth_ref": [] }, "dei_EntityWellKnownSeasonedIssuer": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityWellKnownSeasonedIssuer", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Well-known Seasoned Issuer", "terseLabel": "Entity Well-known Seasoned Issuer", "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A." } } }, "auth_ref": [ "r828" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r13", "r192", "r216", "r217", "r218", "r243", "r244", "r245", "r247", "r253", "r255", "r267", "r338", "r339", "r415", "r472", "r473", "r474", "r491", "r492", "r507", "r508", "r509", "r510", "r511", "r512", "r514", "r520", "r521", "r522", "r523", "r524", "r525", "r540", "r619", "r620", "r621", "r630", "r679" ] }, "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": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r795" ] }, "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": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r758", "r770", "r780", "r806" ] }, "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": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r755", "r767", "r777", "r803" ] }, "cnxn_ExciseTaxRateStockRepurchasePercent": { "xbrltype": "percentItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ExciseTaxRateStockRepurchasePercent", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of the federal excise tax rate imposed on certain stock repurchases.", "label": "Excise Tax Rate, Stock Repurchase, Percent", "terseLabel": "Excise tax rate on certain stock repurchases" } } }, "auth_ref": [] }, "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": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r801" ] }, "cnxn_ExpireAfterFiveYearsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ExpireAfterFiveYearsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to items set to expire after the fifth fiscal year following latest fiscal year.", "label": "Expire After Five Years [Member]", "terseLabel": "Expire in 2028" } } }, "auth_ref": [] }, "cnxn_ExpireAfterFourYearsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ExpireAfterFourYearsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to items set to expire after the fourth fiscal year following latest fiscal year.", "label": "Expire After Four Years [Member]", "terseLabel": "Expire in 2027" } } }, "auth_ref": [] }, "cnxn_ExpireAfterNextTwelveMonthsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ExpireAfterNextTwelveMonthsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to items set to expire after the next fiscal year following latest fiscal year.", "label": "Expire After Next Twelve Months [Member]", "terseLabel": "Expire in 2024" } } }, "auth_ref": [] }, "cnxn_ExpireAfterThreeYearsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ExpireAfterThreeYearsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to items set to expire after the third fiscal year following latest fiscal year.", "label": "Expire After Three Years [Member]", "terseLabel": "Expire in 2026" } } }, "auth_ref": [] }, "cnxn_ExpireAfterTwoYearsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ExpireAfterTwoYearsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to items set to expire after the second fiscal year following latest fiscal year.", "label": "Expire After Two Years [Member]", "terseLabel": "Expire in 2025" } } }, "auth_ref": [] }, "cnxn_ExpireBeyondYearFiveMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ExpireBeyondYearFiveMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to items set to expire beyond the fifth fiscal year following latest fiscal year.", "label": "Expire Beyond Year Five [Member]", "terseLabel": "Expire beyond 2028" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r517" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r341", "r342", "r344", "r345", "r346", "r348", "r349", "r350", "r410", "r414", "r513", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r597", "r713", "r834", "r835", "r836", "r837", "r838", "r839", "r840", "r866", "r867", "r868", "r869" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Estimated useful lives", "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.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r202", "r368" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2024", "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": [ "r116" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2026", "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": [ "r116" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2025", "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": [ "r116" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r366", "r367", "r368", "r369", "r575", "r576" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Amount", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r115", "r576" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Intangible Assets", "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": [ "r575" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r58", "r60" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails", "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsEstimatedAmortizationExpensesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net Amount", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r115", "r575" ] }, "us-gaap_FixturesAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FixturesAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Fixtures and Equipment, Gross", "terseLabel": "Furniture and equipment", "documentation": "Amount before accumulated depreciation of fixtures and equipment. Includes, but is not limited to, machinery, equipment, and engines." } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r762", "r774", "r784", "r810" ] }, "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": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r762", "r774", "r784", "r810" ] }, "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": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r762", "r774", "r784", "r810" ] }, "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": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r762", "r774", "r784", "r810" ] }, "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": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r762", "r774", "r784", "r810" ] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "Loss (gain) on disposal of fixed assets", "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": [ "r7" ] }, "us-gaap_GeographicConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicConcentrationRiskMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Geographic Concentration Risk", "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": [ "r46", "r690" ] }, "us-gaap_GeographicDistributionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicDistributionAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Geographic Distribution [Axis]", "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities." } } }, "auth_ref": [ "r163", "r164", "r165", "r166", "r167", "r168", "r169", "r170", "r171", "r172", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r581", "r582", "r711" ] }, "us-gaap_GeographicDistributionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicDistributionDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Geographic Distribution [Domain]", "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities." } } }, "auth_ref": [ "r163", "r164", "r165", "r166", "r167", "r168", "r169", "r170", "r171", "r172", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r581", "r582" ] }, "us-gaap_GeographicDistributionForeignMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeographicDistributionForeignMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Foreign", "documentation": "Allocation of business activity identified as foreign." } } }, "auth_ref": [ "r163", "r164", "r165", "r166", "r167", "r168", "r169", "r170", "r171", "r172", "r173", "r174", "r175", "r176", "r177", "r178", "r179", "r180", "r581", "r582", "r712" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "terseLabel": "Goodwill", "totalLabel": "Net balance", "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": [ "r201", "r354", "r577", "r714", "r735", "r872", "r879" ] }, "us-gaap_GoodwillAndIntangibleAssetImpairment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetImpairment", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Asset Impairment", "terseLabel": "Impairment of intangible assets", "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill." } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Other Intangible Assets", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r113" ] }, "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]", "terseLabel": "Goodwill and Other Intangible Assets", "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets." } } }, "auth_ref": [ "r9", "r55" ] }, "us-gaap_GoodwillGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillGross", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails": { "parentTag": "us-gaap_Goodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Gross", "terseLabel": "Goodwill, gross", "documentation": "Amount before 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": [ "r356", "r363", "r714" ] }, "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairedAccumulatedImpairmentLoss", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails": { "parentTag": "us-gaap_Goodwill", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impaired, Accumulated Impairment Loss", "negatedLabel": "Accumulated impairment losses", "documentation": "Amount of accumulated impairment loss for 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": [ "r356", "r363", "r714" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Line Items]", "terseLabel": "Goodwill", "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": [ "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r714" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r101", "r231", "r272", "r286", "r292", "r295", "r337", "r385", "r386", "r388", "r389", "r390", "r392", "r394", "r396", "r397", "r519", "r709", "r888" ] }, "cnxn_HewlettPackardEnterpriseAndHpIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "HewlettPackardEnterpriseAndHpIncMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Hewlett Packard Enterprise and HP, Inc. collectively.", "label": "Hewlett Packard Enterprise and HP, Inc." } } }, "auth_ref": [] }, "cnxn_HpIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "HpIncMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to HP, Inc.", "label": "HP, Inc.", "terseLabel": "HP, Inc." } } }, "auth_ref": [] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "auth_ref": [ "r752", "r753", "r766" ] }, "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ImpairmentOfLongLivedAssetsHeldForUse", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Impairment of Long-Lived Assets Held-for-use", "terseLabel": "Impairment of property and equipment", "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale)." } } }, "auth_ref": [ "r7", "r62", "r120" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r99", "r143", "r272", "r286", "r292", "r295", "r582", "r594", "r709" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Statements of Income" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r370", "r374", "r664" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r374", "r664" ] }, "us-gaap_IncomeTaxAuthorityNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxAuthorityNameAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Authority, Name [Axis]", "documentation": "Information by name of taxing authority." } } }, "auth_ref": [ "r10" ] }, "us-gaap_IncomeTaxAuthorityNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxAuthorityNameDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Authority, Name [Domain]", "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r232", "r477", "r482", "r485", "r489", "r493", "r497", "r498", "r499", "r628" ] }, "us-gaap_IncomeTaxExaminationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExaminationLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Examination [Line Items]", "terseLabel": "Income Tax", "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_IncomeTaxExaminationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExaminationTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Examination [Table]", "terseLabel": "Income Tax Examination [Table]", "documentation": "A summary of income tax examinations that an enterprise is currently subject to or that have been completed in the current period typically including a description of the examination, the jurisdiction conducting the examination, the tax year(s) under examination, the likelihood of an unfavorable settlement, the range of possible losses, the liability recorded, the Increase or Decrease in the liability from the prior period, and any penalties and interest that have been incurred or accrued." } } }, "auth_ref": [ "r134" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 }, "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails", "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Income tax provision", "totalLabel": "Income tax provision", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r149", "r161", "r254", "r255", "r280", "r480", "r494", "r600" ] }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount", "terseLabel": "Federal income taxes, at statutory tax rate", "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r481" ] }, "us-gaap_IncomeTaxReconciliationNondeductibleExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationNondeductibleExpense", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Amount", "terseLabel": "Nondeductible expenses", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses." } } }, "auth_ref": [ "r921" ] }, "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationOtherReconcilingItems", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Amount", "terseLabel": "Other, net", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments." } } }, "auth_ref": [ "r921" ] }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesReconciliationOfIncomeTaxProvisionToTotalIncomeTaxesAtStatutoryFederalTaxRateDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount", "terseLabel": "State income taxes, net of federal benefit", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)." } } }, "auth_ref": [ "r921" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid, Net", "terseLabel": "Income taxes paid", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r37" ] }, "us-gaap_IncomeTaxesReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesReceivable", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Income Taxes Receivable, Current", "terseLabel": "Income taxes receivable", "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes." } } }, "auth_ref": [ "r89", "r843" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r6" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "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": [ "r6" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "terseLabel": "Accrued expenses and other liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r849" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Inventories", "negatedLabel": "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": [ "r6" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other non-current assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r849" ] }, "cnxn_IncreaseDecreaseInPrepaidExpenseIncomeTaxReceivablesAndOtherCurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "IncreaseDecreaseInPrepaidExpenseIncomeTaxReceivablesAndOtherCurrentAssets", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, income tax receivables and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense Income Tax Receivables and Other Current Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Dilutive effect of employee stock awards", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r259", "r260", "r261", "r265", "r443" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Indefinite-lived Intangible Assets (Excluding Goodwill)", "terseLabel": "Indefinite-lived intangible assets", "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r117" ] }, "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": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r765", "r774", "r784", "r801", "r810", "r814", "r822" ] }, "cnxn_IngramMicroIncClassMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "IngramMicroIncClassMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Ingram Micro Inc Class [Member]", "label": "Ingram Micro Inc Class", "terseLabel": "Ingram Micro Inc." } } }, "auth_ref": [] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r820" ] }, "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]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r754", "r826" ] }, "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": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r754", "r826" ] }, "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": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r754", "r826" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible, net", "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": [ "r56", "r59" ] }, "us-gaap_InterestIncomeShortTermInvestmentOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeShortTermInvestmentOther", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Interest Income, Short-Term Investment, Other", "terseLabel": "Interest income on cash equivalents and short-term investments", "documentation": "Amount of interest income from short-term investment classified as other." } } }, "auth_ref": [ "r163", "r164" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Net", "terseLabel": "Interest paid", "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": [ "r223", "r226", "r227" ] }, "us-gaap_InternalRevenueServiceIRSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InternalRevenueServiceIRSMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Internal Revenue Service (IRS)", "documentation": "Designated tax department of the United States of America government entitled to levy and collect income taxes from the entity." } } }, "auth_ref": [] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Intersegment Elimination", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r274", "r285", "r286", "r287", "r288", "r289", "r291", "r295" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory, Net", "terseLabel": "Inventories, net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r209", "r699", "r735" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventories", "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost." } } }, "auth_ref": [ "r150", "r197", "r208", "r351", "r352", "r353", "r573", "r705" ] }, "us-gaap_InvestmentIncomeAmortizationOfDiscount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentIncomeAmortizationOfDiscount", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Investment Income, Amortization of Discount", "negatedLabel": "Amortization of discount on short-term investments", "documentation": "Amount of accretion of purchase discount on nonoperating securities." } } }, "auth_ref": [ "r104" ] }, "cnxn_LargeAccountSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "LargeAccountSegmentMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Large Account Segment (Enterprise Solutions).", "label": "Large Account Segment", "terseLabel": "Enterprise Solutions" } } }, "auth_ref": [] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost", "totalLabel": "Total lease cost", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r533", "r734" ] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Lease Cost" } } }, "auth_ref": [] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of lease cost", "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": [ "r928" ] }, "us-gaap_LeaseholdImprovementsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsGross", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold Improvements, Gross", "terseLabel": "Leasehold improvements", "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r119" ] }, "cnxn_LenovoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "LenovoMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Lenovo.", "label": "Lenovo [Member]", "terseLabel": "Lenovo" } } }, "auth_ref": [] }, "us-gaap_LesseeDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Leases" } } }, "auth_ref": [] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases", "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": [ "r532" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r532" ] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Lessee, Leases [Policy Text Block]", "terseLabel": "Leases", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r531" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Schedule of future lease payments on capitalized operating leases", "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": [ "r929" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r539" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2024", "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": [ "r539" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "2028", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r539" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2027", "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": [ "r539" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2026", "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": [ "r539" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2025", "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": [ "r539" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Imputed interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r539" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases", "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": [ "r526" ] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total Liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r19", "r231", "r337", "r385", "r386", "r388", "r389", "r390", "r392", "r394", "r396", "r397", "r502", "r505", "r506", "r519", "r640", "r708", "r748", "r888", "r931", "r932" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total Liabilities and Stockholders' Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r97", "r140", "r590", "r735", "r851", "r870", "r927" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r21", "r196", "r231", "r337", "r385", "r386", "r388", "r389", "r390", "r392", "r394", "r396", "r397", "r502", "r505", "r506", "r519", "r735", "r888", "r931", "r932" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current Liabilities:" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Line of Credit", "terseLabel": "Line of credit, outstanding borrowing", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r16", "r139", "r940" ] }, "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityCurrentBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Current Borrowing Capacity", "terseLabel": "Line of credit, borrowing capacity", "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility." } } }, "auth_ref": [ "r18" ] }, "us-gaap_LineOfCreditFacilityExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityExpirationDate1", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Expiration Date", "terseLabel": "Credit facility, expiration date", "documentation": "Date the credit facility terminates, in YYYY-MM-DD format." } } }, "auth_ref": [ "r18" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Line of credit, maximum borrowing capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r18" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Line of credit, available for borrowing", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r18" ] }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivable" ], "lang": { "en-us": { "role": { "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]", "terseLabel": "Accounts Receivable", "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses." } } }, "auth_ref": [ "r864" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "documentation": "Information by name or description of a single external customer or a group of external customers." } } }, "auth_ref": [ "r300", "r722", "r892", "r941", "r942" ] }, "cnxn_MajorSupplierAxis": { "xbrltype": "stringItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "MajorSupplierAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Information by name or description of a single external supplier or group of external suppliers of products or services.", "label": "Major Supplier [Axis]" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails", "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Maximum", "documentation": "Upper limit of the provided range." } } }, "auth_ref": [ "r381", "r382", "r383", "r384", "r439", "r572", "r618", "r632", "r633", "r682", "r683", "r684", "r685", "r686", "r692", "r693", "r710", "r719", "r729", "r737", "r890", "r933", "r934", "r935", "r936", "r937", "r938" ] }, "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": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r793" ] }, "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": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r793" ] }, "cnxn_MicrosoftCorporationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "MicrosoftCorporationMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Microsoft Corporation.", "label": "Microsoft Corporation [Member]", "terseLabel": "Microsoft Corporation" } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Minimum", "documentation": "Lower limit of the provided range." } } }, "auth_ref": [ "r381", "r382", "r383", "r384", "r439", "r572", "r618", "r632", "r633", "r682", "r683", "r684", "r685", "r686", "r692", "r693", "r710", "r719", "r729", "r737", "r890", "r933", "r934", "r935", "r936", "r937", "r938" ] }, "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": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r813" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Money Market Funds [Member]", "terseLabel": "Money market funds", "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": [ "r893" ] }, "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": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r821" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "documentation": "Single external customer or group of external customers." } } }, "auth_ref": [ "r300", "r722", "r892", "r941", "r942" ] }, "cnxn_NameOfMajorSupplierDomain": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "NameOfMajorSupplierDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Single external supplier or group of external suppliers of products or services.", "label": "Name of Major Supplier [Domain]" } } }, "auth_ref": [] }, "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": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r794" ] }, "cnxn_NetAndComMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "NetAndComMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to net and com products.", "label": "Net/Com Products" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash 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": [ "r225" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash Flows used in Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r225" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash Flows used in Investing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r108", "r109", "r110" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash Flows provided by (used in) Operating Activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r100", "r110", "r144", "r194", "r211", "r214", "r218", "r231", "r246", "r248", "r249", "r250", "r251", "r254", "r255", "r262", "r272", "r286", "r292", "r295", "r337", "r385", "r386", "r388", "r389", "r390", "r392", "r394", "r396", "r397", "r516", "r519", "r596", "r661", "r677", "r678", "r709", "r746", "r888" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Financial Accounting Standards", "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": [] }, "cnxn_NoExpirationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "NoExpirationMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to items with not expiration.", "label": "No Expiration" } } }, "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": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r793" ] }, "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": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r762", "r774", "r784", "r801", "r810" ] }, "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": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r791" ] }, "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": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r790" ] }, "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": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r801" ] }, "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": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r821" ] }, "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": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r821" ] }, "us-gaap_NontradeReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NontradeReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Nontrade Receivables, Current", "terseLabel": "Vendor consideration, returns and other", "documentation": "The sum of amounts currently receivable other than from customers. For classified balance sheets, represents the current amount receivable, that is amounts expected to be collected within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r843" ] }, "cnxn_NotebooksAndMobilityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "NotebooksAndMobilityMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to notebooks and mobility products.", "label": "Notebooks/Mobility" } } }, "auth_ref": [] }, "cnxn_NumberOfAdditionalLeasesNotYetCommenced": { "xbrltype": "integerItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "NumberOfAdditionalLeasesNotYetCommenced", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Then number of additional operating or financing leases not yet commenced.", "label": "Number of Additional Leases Not Yet Commenced", "terseLabel": "Number of additional operating or financing leases not yet commenced" } } }, "auth_ref": [] }, "cnxn_NumberOfCustomersExceedingRiskBenchmark": { "xbrltype": "integerItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "NumberOfCustomersExceedingRiskBenchmark", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of customers that exceeded the risk benchmark of 10%.", "label": "Number of Customers Exceeding Risk Benchmark", "terseLabel": "Number of customers that exceeded the risk benchmark of 10%." } } }, "auth_ref": [] }, "cnxn_NumberOfFinancingLeases": { "xbrltype": "integerItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "NumberOfFinancingLeases", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of leases classified as financing leases.", "label": "Number of Financing Leases", "terseLabel": "Number of financing leases" } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Number of Operating Segments", "terseLabel": "Number of operating segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r862" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "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": [ "r862" ] }, "us-gaap_OpenTaxYear": { "xbrltype": "gYearListItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OpenTaxYear", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Open Tax Year", "terseLabel": "Tax years remain open to examination", "documentation": "Tax year that remains open to examination under enacted tax laws, in YYYY format." } } }, "auth_ref": [ "r484" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "terseLabel": "Operating income (loss)", "totalLabel": "Income from operations", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r272", "r286", "r292", "r295", "r709" ] }, "us-gaap_OperatingIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLossAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss) [Abstract]", "terseLabel": "Operating income (loss):" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "terseLabel": "Capitalized 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": [ "r534", "r734" ] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Future lease payments over the remaining term of capitalized operating leases" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetailsCalc2": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "terseLabel": "Lease liability balance", "verboseLabel": "Lease liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r528" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail", "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Short-term lease liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r528" ] }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]", "terseLabel": "Short-term lease liability, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes current operating lease liability." } } }, "auth_ref": [ "r529" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Noncurrent operating lease liabilities", "verboseLabel": "Long-term lease liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r528" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "terseLabel": "Operating cash flows", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r530", "r536" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r527" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted-average discount rate - Capitalized operating leases", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r538", "r734" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted-average remaining lease term - Capitalized operating leases (in years)", "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": [ "r537", "r734" ] }, "cnxn_OperatingLossCarryforwardsExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "OperatingLossCarryforwardsExpirationPeriod", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Operating Loss Carryforwards, Expiration Period", "label": "Operating Loss Carryforwards, Expiration Period", "terseLabel": "State net operating loss carryforward period" } } }, "auth_ref": [] }, "us-gaap_OperatingLossCarryforwardsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwardsValuationAllowance", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Loss Carryforwards, Valuation Allowance", "terseLabel": "State net operating loss carryforward valuation allowance", "documentation": "The portion of the valuation allowance pertaining to the deferred tax asset representing potential future taxable deductions from net operating loss carryforwards for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r76" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segments", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r285", "r286", "r287", "r288", "r289", "r295" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r203" ] }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Available-for-Sale Securities Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Unrealized gains on available-for-sale investments, net of tax of $(22)", "documentation": "Amount, after tax and reclassification adjustment, of gain (loss) in value of unsold investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent." } } }, "auth_ref": [ "r4", "r11", "r136" ] }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/StatementCondensedConsolidatedStatementsOfOtherComprehensiveIncomeParenthetical" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Available-for-Sale Securities, Tax, Portion Attributable to Parent", "negatedLabel": "Unrealized gains on available-for-sale investments, tax", "documentation": "Amount, after reclassification adjustment, of tax expense (benefit) for gain (loss) in value of unsold investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent." } } }, "auth_ref": [ "r4", "r11", "r136" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "terseLabel": "Other comprehensive income, net of tax", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r4", "r11", "r136", "r212", "r215" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfOtherComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income" } } }, "auth_ref": [] }, "cnxn_OtherHardwareAndServicesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "OtherHardwareAndServicesMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to other hardware products and services classified as other.", "label": "Other Hardware/Services" } } }, "auth_ref": [] }, "us-gaap_OtherIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherIncomeMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Other Income [Member]", "terseLabel": "Other income", "documentation": "Primary financial statement caption encompassing other revenue." } } }, "auth_ref": [ "r86" ] }, "cnxn_OtherLeaseInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "OtherLeaseInformationAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "N/A", "label": "Other Lease Information [Abstract]", "terseLabel": "Other information:" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r20", "r735" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r23" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other expenses, net", "verboseLabel": "Other income, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r105" ] }, "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": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r793" ] }, "us-gaap_OtherReceivableAfterAllowanceForCreditLossCurrentRelatedPartyCounterpartyNameExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherReceivableAfterAllowanceForCreditLossCurrentRelatedPartyCounterpartyNameExtensibleEnumeration", "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Other Receivable, after Allowance for Credit Loss, Current, Related Party, Name [Extensible Enumeration]", "verboseLabel": "Other Receivable, after Allowance for Credit Loss, Current, Related Party, Name", "documentation": "Indicates name of related party for receivable, after allowance for credit loss, classified as other and current." } } }, "auth_ref": [ "r930" ] }, "us-gaap_OtherReceivableAfterAllowanceForCreditLossCurrentRelatedPartyTypeExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherReceivableAfterAllowanceForCreditLossCurrentRelatedPartyTypeExtensibleEnumeration", "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Other Receivable, after Allowance for Credit Loss, Current, Related Party, Type [Extensible Enumeration]", "verboseLabel": "Other Receivable, after Allowance for Credit Loss, Current, Related Party, Type", "documentation": "Indicates type of related party for receivable, after allowance for credit loss, classified as other and current." } } }, "auth_ref": [ "r930" ] }, "us-gaap_OtherReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherReceivablesNetCurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "label": "Due from Employees, Current", "terseLabel": "Due from employees", "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_OtherRestructuringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherRestructuringMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Other Restructuring [Member]", "terseLabel": "Other charges", "documentation": "Restructuring and related activities classified as other." } } }, "auth_ref": [ "r715", "r716", "r717", "r718" ] }, "cnxn_OthersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "OthersMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Others [Member]", "label": "Others" } } }, "auth_ref": [] }, "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": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r760", "r772", "r782", "r808" ] }, "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": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r763", "r775", "r785", "r811" ] }, "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": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r763", "r775", "r785", "r811" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r789" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Purchase of treasury shares", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r33" ] }, "us-gaap_PaymentsOfDividends": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividends", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Dividends", "negatedLabel": "Dividend payments", "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests." } } }, "auth_ref": [ "r33" ] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationDividendPaymentsDetails" ], "lang": { "en-us": { "role": { "label": "Payments of Ordinary Dividends, Common Stock", "terseLabel": "Total dividend", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r33" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Payments of payroll taxes on stock-based compensation through shares withheld", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r222" ] }, "cnxn_PaymentsToAcquirePropertyPlantEquipmentAndSoftware": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PaymentsToAcquirePropertyPlantEquipmentAndSoftware", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale and the development, modification or acquisition of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.", "label": "Payments to Acquire Property, Plant, Equipment, and Software", "negatedLabel": "Purchases of equipment and capitalized software" } } }, "auth_ref": [] }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireShortTermInvestments", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Short-Term Investments", "negatedLabel": "Purchases of short-term investments", "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term." } } }, "auth_ref": [ "r107" ] }, "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": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r792" ] }, "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": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r792" ] }, "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": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r791" ] }, "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": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r801" ] }, "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": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r794" ] }, "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": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r790" ] }, "cnxn_PercentageOfProductPurchasesManufacturedBySupplier": { "xbrltype": "percentItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PercentageOfProductPurchasesManufacturedBySupplier", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of product purchases manufactured by supplier.", "label": "Percentage of Product Purchases Manufactured by Supplier", "terseLabel": "Percentage of product purchases manufactured by supplier" } } }, "auth_ref": [] }, "cnxn_PercentageOfPurchasesFromMajorSuppliers": { "xbrltype": "percentItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PercentageOfPurchasesFromMajorSuppliers", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of Purchases from Major Suppliers", "label": "Percentage of Purchases from Major Suppliers", "terseLabel": "Percentage of product purchases from vendor" } } }, "auth_ref": [] }, "cnxn_PeriodAxis": { "xbrltype": "stringItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PeriodAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Period [Axis]", "label": "Period [Axis]" } } }, "auth_ref": [] }, "cnxn_PeriodDomain": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PeriodDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Period [Domain]", "label": "Period [Domain]" } } }, "auth_ref": [] }, "cnxn_PeriodFourMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PeriodFourMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Period 4 [Member]", "label": "Period Four [Member]", "terseLabel": "Carryforward Period 4" } } }, "auth_ref": [] }, "cnxn_PeriodOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PeriodOneMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Period 1 [Member]", "label": "Carryforward Period 1" } } }, "auth_ref": [] }, "cnxn_PeriodThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PeriodThreeMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Period 3 [Member]", "label": "Carryforward Period 3" } } }, "auth_ref": [] }, "cnxn_PeriodTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PeriodTwoMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Period 2 [Member]", "label": "Carryforward Period 2" } } }, "auth_ref": [] }, "us-gaap_PhantomShareUnitsPSUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PhantomShareUnitsPSUsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "PhantomShareUnitsPSUsMember", "terseLabel": "Stock Equivalent Units (SEUs)", "documentation": "Share-based payment arrangement awarded as phantom share or unit." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918", "r919" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918", "r919" ] }, "us-gaap_PostemploymentBenefitsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PostemploymentBenefitsAbstract", "lang": { "en-us": { "role": { "label": "Employee Benefit Plan" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred Stock, par value", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r91", "r412" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "terseLabel": "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": [ "r91", "r641" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred Stock, shares outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r91", "r641", "r659", "r944", "r945" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "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": [ "r845" ] }, "us-gaap_PrimeRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrimeRateMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Prime Rate", "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromLifeInsurancePolicies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLifeInsurancePolicies", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Life Insurance Policy", "verboseLabel": "Proceeds from life insurance", "documentation": "Amount of cash inflow for proceeds from settlement of corporate-owned life insurance policy, classified as investing activities. Includes, but is not limited to, bank-owned life insurance policy." } } }, "auth_ref": [ "r5", "r31" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "terseLabel": "Proceeds from short-term borrowings", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r32", "r850" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of equipment", "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r106" ] }, "us-gaap_ProceedsFromStockPlans": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockPlans", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Plans", "terseLabel": "Issuance of stock under Employee Stock Purchase Plan", "documentation": "The cash inflow associated with the amount received from the stock plan during the period." } } }, "auth_ref": [ "r3" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "documentation": "Information by product and service, or group of similar products and similar services." } } }, "auth_ref": [ "r297", "r574", "r612", "r613", "r614", "r615", "r616", "r617", "r695", "r720", "r736", "r831", "r886", "r887", "r892", "r941" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "documentation": "Product or service, or a group of similar products or similar services." } } }, "auth_ref": [ "r297", "r574", "r612", "r613", "r614", "r615", "r616", "r617", "r695", "r720", "r736", "r831", "r886", "r887", "r892", "r941" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r194", "r211", "r214", "r224", "r231", "r246", "r254", "r255", "r272", "r286", "r292", "r295", "r337", "r385", "r386", "r388", "r389", "r390", "r392", "r394", "r396", "r397", "r500", "r503", "r504", "r516", "r519", "r582", "r595", "r629", "r661", "r677", "r678", "r709", "r732", "r733", "r747", "r848", "r888" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property and Equipment" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipment" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property and Equipment", "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": [ "r118", "r155", "r158", "r159" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "totalLabel": "Total", "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": [ "r119", "r199", "r593" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 }, "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentSummaryDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r8", "r583", "r593", "r735" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Property and Equipment", "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r8", "r155", "r158", "r591" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosurePropertyAndEquipmentTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Property and Equipment", "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": [ "r8" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Property and equipment, estimated useful lives", "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Provision for Doubtful Accounts", "terseLabel": "Adjustments to credit losses reserve", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r221", "r343" ] }, "cnxn_PublicSectorMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PublicSectorMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Public Sector segment (Public Sector Solutions).", "label": "Public Sector", "terseLabel": "Public Sector Solutions" } } }, "auth_ref": [] }, "cnxn_PublicSectorSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "PublicSectorSegmentMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails" ], "lang": { "en-us": { "role": { "documentation": "Public Sector Segment [Member]", "label": "Public Sector Segment", "terseLabel": "Public Sector Segment" } } }, "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": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r789" ] }, "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": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r789" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails", "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]", "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r381", "r382", "r383", "r384", "r438", "r439", "r466", "r467", "r468", "r548", "r572", "r618", "r632", "r633", "r682", "r683", "r684", "r685", "r686", "r692", "r693", "r710", "r719", "r729", "r737", "r740", "r884", "r890", "r934", "r935", "r936", "r937", "r938" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails", "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]", "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r381", "r382", "r383", "r384", "r438", "r439", "r466", "r467", "r468", "r548", "r572", "r618", "r632", "r633", "r682", "r683", "r684", "r685", "r686", "r692", "r693", "r710", "r719", "r729", "r737", "r740", "r884", "r890", "r934", "r935", "r936", "r937", "r938" ] }, "us-gaap_RatioOfIndebtednessToNetCapital1": { "xbrltype": "pureItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RatioOfIndebtednessToNetCapital1", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Ratio of Indebtedness to Net Capital", "terseLabel": "Debt ratio", "documentation": "Indebtedness divided by net capital." } } }, "auth_ref": [] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "label": "Accounts Receivable" } } }, "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]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r755", "r767", "r777", "r803" ] }, "cnxn_RelatedPartiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "RelatedPartiesMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Related Parties [Member]", "label": "Related Parties" } } }, "auth_ref": [] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Lines of Credit", "negatedLabel": "Repayment of short-term borrowings", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r34", "r850" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesFutureLeasePaymentsDetails", "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]", "documentation": "Named other party that participates in a financial transaction. Examples include, but not limited to, the name of the financial institution." } } }, "auth_ref": [ "r233", "r234", "r400", "r413", "r541", "r702", "r703" ] }, "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": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r756", "r768", "r778", "r804" ] }, "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": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r757", "r769", "r779", "r805" ] }, "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": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r764", "r776", "r786", "r812" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Nonvested Stock Units", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "cnxn_RestructuringAndOtherCharges": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "RestructuringAndOtherCharges", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "documentation": "Amount of expenses associated with exit or disposal activities pursuant to an authorized plan and other charges incurred outside of the normal course of business.", "label": "Restructuring and Other Charges", "terseLabel": "Restructuring and other charges" } } }, "auth_ref": [] }, "us-gaap_RestructuringCostAndReserveAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCostAndReserveAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Restructuring Type [Axis]", "documentation": "Information by type of restructuring cost." } } }, "auth_ref": [ "r372", "r373", "r376", "r377" ] }, "us-gaap_RestructuringCostAndReserveLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestructuringCostAndReserveLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Restructuring Cost and Reserve [Line Items]", "terseLabel": "Restructuring and other charges", "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": [ "r372", "r373", "r374", "r375", "r376", "r377", "r378" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r94", "r126", "r589", "r622", "r624", "r627", "r642", "r735" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r192", "r243", "r244", "r245", "r247", "r253", "r255", "r338", "r339", "r472", "r473", "r474", "r491", "r492", "r507", "r509", "r510", "r512", "r514", "r619", "r621", "r630", "r944" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Net sales", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r273", "r274", "r285", "r290", "r291", "r297", "r299", "r300", "r434", "r435", "r574" ] }, "us-gaap_RevenueFromContractWithCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Revenue Benchmark [Member]", "terseLabel": "Net Sales", "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r300", "r829" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue Recognition", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r162", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r694" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenue" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue", "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": [ "r162", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r437" ] }, "us-gaap_RevenueRecognitionAndDeferredRevenueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRecognitionAndDeferredRevenueAbstract", "lang": { "en-us": { "role": { "label": "Revenue" } } }, "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": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r821" ] }, "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": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r821" ] }, "us-gaap_SalesAndExciseTaxPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesAndExciseTaxPayableCurrent", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesDetail" ], "lang": { "en-us": { "role": { "label": "Sales and Excise Tax Payable, Current", "terseLabel": "Sales taxes", "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r17" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "terseLabel": "Accounts Receivable", "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r26" ] }, "cnxn_ScheduleOfAccruedExpensesAndOtherLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ScheduleOfAccruedExpensesAndOtherLiabilitiesTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureAccruedExpensesAndOtherLiabilitiesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued expenses and other liabilities .", "label": "Schedule of Accrued Expenses and Other Liabilities [Table Text Block]", "terseLabel": "Schedule of Accrued Expenses and Other Liabilities" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "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": [ "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318" ] }, "us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents and Investments [Table Text Block]", "terseLabel": "Schedule of cash equivalents and short-term investments", "documentation": "Tabular disclosure of the components of cash, cash equivalents, and investments." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Provision for Income Taxes", "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years." } } }, "auth_ref": [ "r133" ] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Components of Deferred Taxes", "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets." } } }, "auth_ref": [ "r132" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Computation of basic and diluted earnings per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r861" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Reconciliation of Income Tax Provision to Total Income Taxes at Statutory Federal Tax Rate", "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r131" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]", "terseLabel": "Components of Share-Based Compensation Recorded as Expense", "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": [ "r72" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r58", "r60", "r575" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Intangible Assets and Related Accumulated Amortization", "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": [ "r58", "r60" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table]", "terseLabel": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r364", "r365", "r714" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Carrying Amount of Goodwill", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r714", "r871", "r872", "r873", "r874", "r875", "r876", "r877", "r878", "r879", "r880", "r881" ] }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Restructuring and Related Costs [Table]", "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to an entity's restructuring reserve that occurred during the period associated with the exit from or disposal of business activities or restructurings for each major type of cost by type of restructuring." } } }, "auth_ref": [ "r372", "r373", "r374", "r375", "r376", "r377", "r378" ] }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "lang": { "en-us": { "role": { "label": "Restructuring and Related Costs [Table Text Block]", "terseLabel": "Schedule of restructuring and other charges", "documentation": "Tabular disclosure of costs incurred for restructuring including, but not limited to, exit and disposal activities, remediation, implementation, integration, asset impairment, and charges against earnings from the write-down of assets." } } }, "auth_ref": [ "r65", "r66", "r67" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r52", "r53", "r54", "r55" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Segment information applicable to reportable operating segments", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r52", "r53", "r54", "r55" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r440", "r442", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r467", "r468", "r469" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]", "terseLabel": "Stock Equivalent Units", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [ "r71" ] }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Nonvested Stock Unit Activity", "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": [] }, "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccounts" ], "lang": { "en-us": { "role": { "label": "Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]", "terseLabel": "Schedule II-Valuation And Qualifying Accounts", "documentation": "The entire disclosure for valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r181", "r242" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Estimated Amortization Expense", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r60" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r749" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r751" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r269", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r295", "r300", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r375", "r378", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r714", "r831", "r941" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Information" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosures" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Segment and Related Disclosures", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r268", "r269", "r270", "r271", "r272", "r284", "r289", "r293", "r294", "r295", "r296", "r297", "r298", "r300" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails", "http://www.pcconnection.com/role/DisclosureSegmentInformationConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_SegmentReportingInformationOperatingIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationOperatingIncomeLossAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information, Operating Income (Loss) [Abstract]", "terseLabel": "Selected operating expense:" } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative expenses", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r103" ] }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpensesMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expenses", "documentation": "Primary financial statement caption encompassing selling, general and administrative expense." } } }, "auth_ref": [] }, "cnxn_ServersAndStorageMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ServersAndStorageMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to server and storage products.", "label": "Servers/Storage" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r6" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "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": [ "r730" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Canceled", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r460" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Canceled", "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": [ "r460" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted", "verboseLabel": "Units issued", "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": [ "r458" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted", "verboseLabel": "Weighted-average grant-date fair values of nonvested stock awards granted", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r458" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Nonvested shares ending balance", "periodStartLabel": "Nonvested shares beginning balance", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r455", "r456" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Shares", "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.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Nonvested shares ending balance", "periodStartLabel": "Nonvested shares beginning balance", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r455", "r456" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted-Average Grant Date Fair Value" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Vested", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r459" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "terseLabel": "Total fair values of nonvested stock awards that vested", "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash." } } }, "auth_ref": [ "r462" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested", "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": [ "r459" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stockholders' equity and share-based compensation", "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": [ "r440", "r442", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r467", "r468", "r469" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Shares authorized for issuance under stock incentive plan", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r731" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Shares available for future grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r70" ] }, "cnxn_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanTerm", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Term of the approved share-based compensation plan during which stock-based awards may be issued.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Plan Term", "verboseLabel": "Term of approved stock-based compensation plan" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNonvestedStockAwardAndUnitActivityDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationStockEquivalentUnitsDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465", "r466", "r467", "r468", "r469" ] }, "us-gaap_ShareRepurchaseProgramAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Axis]", "documentation": "Information by share repurchase program." } } }, "auth_ref": [] }, "us-gaap_ShareRepurchaseProgramDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Domain]", "documentation": "Name of the share repurchase program." } } }, "auth_ref": [] }, "cnxn_ShareRepurchaseProgramsAggregateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "ShareRepurchaseProgramsAggregateMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the aggregate of all share repurchase programs authorized.", "label": "Share repurchase program, aggregate" } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Nonvested", "terseLabel": "Aggregate intrinsic value", "documentation": "Intrinsic value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Purchase price under employee stock purchase plan as a percentage of price as of the last day of each six month offering period", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Shareholders' Equity and Share-based Payments [Text Block]", "terseLabel": "Stockholders' Equity and Share-Based Compensation", "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)." } } }, "auth_ref": [ "r125", "r130" ] }, "us-gaap_ShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermInvestments", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Short-Term Investments", "terseLabel": "Short-term investments", "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current." } } }, "auth_ref": [ "r141", "r142", "r844" ] }, "us-gaap_ShortTermInvestmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermInvestmentsMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Short-Term Investments [Member]", "terseLabel": "Short-term investments", "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet." } } }, "auth_ref": [ "r687", "r688", "r689", "r697" ] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeaseCost", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureLeasesLeaseCostAndOtherInformationDetails" ], "lang": { "en-us": { "role": { "label": "Short-term Lease, Cost", "terseLabel": "Short-term lease cost", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r535", "r734" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r111", "r229" ] }, "cnxn_SingleCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "SingleCustomerMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Single Customer [Member]", "label": "Single Customer" } } }, "auth_ref": [] }, "cnxn_SmallAndMediumSizedBusinessesSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "SmallAndMediumSizedBusinessesSegmentMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the Small and Medium Sized Businesses segment (Business Solutions).", "label": "Small and Medium Sized Businesses segment", "terseLabel": "Business Solutions" } } }, "auth_ref": [] }, "cnxn_SoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "SoftwareMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to software products.", "label": "Software" } } }, "auth_ref": [] }, "cnxn_StateJurisdictionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "StateJurisdictionMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "State Jurisdiction [Member]", "label": "State Jurisdiction" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsCarryingAmountOfGoodwillDetails", "http://www.pcconnection.com/role/DisclosureRevenueDisaggregationOfRevenueDetails", "http://www.pcconnection.com/role/DisclosureSegmentAndRelatedDisclosuresSegmentInformationApplicableToReportableOperatingSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r193", "r269", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r293", "r295", "r300", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r362", "r363", "r371", "r375", "r378", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r714", "r831", "r941" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r13", "r25", "r192", "r216", "r217", "r218", "r243", "r244", "r245", "r247", "r253", "r255", "r267", "r338", "r339", "r415", "r472", "r473", "r474", "r491", "r492", "r507", "r508", "r509", "r510", "r511", "r512", "r514", "r520", "r521", "r522", "r523", "r524", "r525", "r540", "r619", "r620", "r621", "r630", "r679" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Basis of presentation", "verboseLabel": "Estimated future amortization expense", "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": [ "r243", "r244", "r245", "r267", "r574", "r626", "r631", "r634", "r635", "r636", "r637", "r638", "r639", "r641", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r654", "r655", "r656", "r657", "r658", "r660", "r662", "r663", "r665", "r666", "r667", "r668", "r669", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r679", "r741" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Statements of Cash Flows" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Balance Sheets" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Statements Of Other Comprehensive Income" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Consolidated Statement of Changes in Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails", "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationTables", "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "terseLabel": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r243", "r244", "r245", "r267", "r574", "r626", "r631", "r634", "r635", "r636", "r637", "r638", "r639", "r641", "r644", "r645", "r646", "r647", "r648", "r649", "r650", "r651", "r652", "r654", "r655", "r656", "r657", "r658", "r660", "r662", "r663", "r665", "r666", "r667", "r668", "r669", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r679", "r741" ] }, "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": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r759", "r771", "r781", "r807" ] }, "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": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "cnxn_StockIncentivePlan2020Member": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "StockIncentivePlan2020Member", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the 2020 Stock Incentive Plan.", "label": "Stock Incentive Plan 2020 [Member]", "terseLabel": "2020 Stock Incentive Plan" } } }, "auth_ref": [] }, "cnxn_StockIncentivePlanTwentyZeroSevenMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "StockIncentivePlanTwentyZeroSevenMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "documentation": "Stock Incentive Plan 2007 [Member]", "label": "Stock Incentive Plan 2007", "terseLabel": "2007 Stock Incentive Plan" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Issuance of common stock under Employee Stock Purchase Plan (in shares)", "verboseLabel": "Share purchased under employee stock purchase plan", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r13", "r91", "r92", "r126" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "verboseLabel": "Restricted stock units vested (in shares)", "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited." } } }, "auth_ref": [ "r13", "r91", "r92", "r126" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Issuance of common stock under Employee Stock Purchase Plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r13", "r91", "r92", "r126" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "verboseLabel": "Restricted stock units vested", "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited." } } }, "auth_ref": [ "r13", "r126" ] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Repurchase of common stock, authorized amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Approximate dollar value of shares that may yet be purchased", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total Stockholders' Equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r92", "r95", "r96", "r112", "r643", "r659", "r680", "r681", "r735", "r748", "r851", "r870", "r927", "r944" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' Equity:" } } }, "auth_ref": [] }, "us-gaap_SubordinatedBorrowingLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubordinatedBorrowingLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Subordinated Borrowing [Line Items]", "terseLabel": "Subordinated Borrowing", "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_SubordinatedBorrowingTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubordinatedBorrowingTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Subordinated Borrowing [Table]", "documentation": "Schedule of borrowings under subordinated debt agreements that qualify as available in computing net capital under SEC's uniform net capital rule, including restrictive covenants, collateral, interest rates and due dates, amounts due by date and amount owed in total." } } }, "auth_ref": [ "r145" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental Cash Flow Information:" } } }, "auth_ref": [] }, "us-gaap_SupplierConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplierConcentrationRiskMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "label": "Supplier", "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": [ "r45" ] }, "cnxn_SynnexCorporationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "SynnexCorporationMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "documentation": "Synnex Corporation [Member]", "label": "Synnex Corporation", "terseLabel": "TD Synnex Corporation" } } }, "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": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r800" ] }, "us-gaap_TaxCreditCarryforwardAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxCreditCarryforwardAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Tax Credit Carryforward [Axis]", "documentation": "Information by specific tax credit related to an unused tax credit." } } }, "auth_ref": [ "r77" ] }, "us-gaap_TaxCreditCarryforwardNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxCreditCarryforwardNameDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Tax Credit Carryforward, Name [Domain]", "documentation": "The name of the tax credit carryforward." } } }, "auth_ref": [ "r77" ] }, "cnxn_TaxCreditCarryforwardPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "TaxCreditCarryforwardPeriod", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The period over which tax credits carryforwards are eligible for use in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Tax Credit Carryforward Period", "terseLabel": "State tax credit carryforward period" } } }, "auth_ref": [] }, "us-gaap_TaxCreditCarryforwardValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxCreditCarryforwardValuationAllowance", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Tax Credit Carryforward, Valuation Allowance", "terseLabel": "State tax credit valuation allowance", "documentation": "Amount of valuation allowance pertaining to the deferred tax asset representing potential future taxable deductions from tax credit carryforwards for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r76" ] }, "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": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r792" ] }, "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": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r799" ] }, "cnxn_Totalrevenuerecognizedfromboththebeginningbalanceandcurrentperiodincreaseincontractliability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "Totalrevenuerecognizedfromboththebeginningbalanceandcurrentperiodincreaseincontractliability", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureRevenueContractBalancesDetails" ], "lang": { "en-us": { "role": { "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, and from current period increase in contract liability.", "label": "TotalRevenueRecognizedFromBothTheBeginningBalanceAndCurrentPeriodIncreaseInContractLiability", "negatedLabel": "Amounts recognized as revenue as performance obligations satisfied" } } }, "auth_ref": [] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]", "terseLabel": "Accounts Receivable", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r146", "r147", "r148", "r303", "r304", "r306" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureGoodwillAndOtherIntangibleAssetsAmortizableIntangibleAssetsAndRelatedAccumulatedAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Tradename", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r80" ] }, "cnxn_TradeReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.pcconnection.com/20231231", "localname": "TradeReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "documentation": "Trade Receivables Current", "label": "Trade Receivables Current", "terseLabel": "Trade" } } }, "auth_ref": [] }, "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": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r820" ] }, "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": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r822" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.pcconnection.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r410", "r414", "r513", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r597", "r834", "r835", "r836", "r837", "r838", "r839", "r840", "r866", "r867", "r868", "r869" ] }, "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": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r823" ] }, "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": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r824" ] }, "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": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r822" ] }, "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": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r822" ] }, "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": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r825" ] }, "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": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r823" ] }, "us-gaap_TreasuryStockCarryingBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCarryingBasis", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Carrying Basis", "terseLabel": "Aggregate number of shares repurchased", "documentation": "Cost basis for treasury stock acquired for purposes other than retirement." } } }, "auth_ref": [ "r68" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Shares", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r68" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares", "negatedPeriodEndLabel": "Balance - Treasury Shares (in shares)", "negatedPeriodStartLabel": "Balance - Treasury Shares (in shares)", "terseLabel": "Treasury stock, shares", "verboseLabel": "Aggregate shares repurchased", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r68" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonValue", "crdr": "debit", "calculation": { "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.pcconnection.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Common, Value", "negatedTerseLabel": "Treasury stock at cost, 2,902 and 2,773 shares at December 31, 2023 and 2022, respectively", "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r27", "r68", "r69" ] }, "us-gaap_TreasuryStockSharesAcquired": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockSharesAcquired", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares, Acquired", "negatedLabel": "Repurchase of common stock for treasury (in shares)", "terseLabel": "Number of share repurchased", "documentation": "Number of shares that have been repurchased during the period and are being held in treasury." } } }, "auth_ref": [ "r13", "r92", "r126" ] }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockValueAcquiredCostMethod", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureStockholdersEquityAndShareBasedCompensationNarrativeDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value, Acquired, Cost Method", "negatedLabel": "Repurchase of common stock for treasury", "terseLabel": "Shares repurchased, value", "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method." } } }, "auth_ref": [ "r13", "r68", "r126" ] }, "us-gaap_TypeOfRestructuringDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfRestructuringDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestructuringAndOtherChargesDetails" ], "lang": { "en-us": { "role": { "label": "Type of Restructuring [Domain]", "documentation": "Identification of the types of restructuring costs." } } }, "auth_ref": [ "r372", "r373", "r376", "r377" ] }, "us-gaap_USTreasurySecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USTreasurySecuritiesMember", "presentation": [ "http://www.pcconnection.com/role/DisclosureFairValueMeasurementsAvailableForSaleInvestmentsDetails" ], "lang": { "en-us": { "role": { "label": "US Treasury Securities [Member]", "terseLabel": "U.S. Government treasury securities", "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)." } } }, "auth_ref": [ "r706", "r727", "r728", "r939" ] }, "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": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r819" ] }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense", "terseLabel": "Unrecognized income tax benefits, interest and penalties recognized", "documentation": "Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return." } } }, "auth_ref": [ "r483" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates in the Preparation of Financial Statements", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r49", "r50", "r51", "r152", "r153", "r156", "r157" ] }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureIncomeTaxesAdditionalInformationDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "terseLabel": "Net change in the valuation allowance related to utilization and expiration of tax carryforwards", "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset." } } }, "auth_ref": [ "r486" ] }, "us-gaap_ValuationAllowancesAndReservesBalance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesBalance", "crdr": "credit", "calculation": { "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails": { "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureAccountsReceivableDetails", "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowances and Reserves, Balance", "negatedLabel": "Sales returns", "periodEndLabel": "Ending Balance", "periodStartLabel": "Beginning Balance", "documentation": "Amount of valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r236", "r241" ] }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "crdr": "credit", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowances and Reserves, Charged to Cost and Expense", "terseLabel": "Charged to Costs and Expenses", "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense." } } }, "auth_ref": [ "r239" ] }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesDeductions", "crdr": "debit", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowances and Reserves, Deductions", "negatedLabel": "Deductions/Write-Offs", "documentation": "Amount of decrease in valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r240" ] }, "us-gaap_ValuationAllowancesAndReservesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesDomain", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowances and Reserves [Domain]", "documentation": "Valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r236", "r237", "r238", "r240", "r241" ] }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesTypeAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowances and Reserves Type [Axis]", "documentation": "Information by valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r236", "r237", "r238", "r240", "r241" ] }, "srt_ValuationAndQualifyingAccountsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ValuationAndQualifyingAccountsAbstract", "lang": { "en-us": { "role": { "label": "Schedule II - Valuation and Qualifying Accounts" } } }, "auth_ref": [] }, "srt_ValuationAndQualifyingAccountsDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ValuationAndQualifyingAccountsDisclosureLineItems", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation and Qualifying Accounts Disclosure [Line Items]", "terseLabel": "Valuation and Qualifying Accounts", "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": [ "r181", "r236", "r237", "r238", "r240", "r241" ] }, "srt_ValuationAndQualifyingAccountsDisclosureTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ValuationAndQualifyingAccountsDisclosureTable", "presentation": [ "http://www.pcconnection.com/role/DisclosureScheduleIiValuationAndQualifyingAccountsDetails" ], "lang": { "en-us": { "role": { "label": "Valuation and Qualifying Accounts Disclosure [Table]", "terseLabel": "Valuation and Qualifying Accounts Disclosure [Table]", "documentation": "Disclosure of valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r181", "r236", "r237", "r238", "r240", "r241" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "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.pcconnection.com/role/DisclosureBankBorrowingsDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted", "totalLabel": "Denominator for diluted earnings per share", "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": [ "r257", "r265" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Shares used in computation of earnings per common share:", "verboseLabel": "Denominator:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.pcconnection.com/role/DisclosureSummaryOfSignificantAccountingPoliciesBasicAndDilutedEarningsPerShareDetails", "http://www.pcconnection.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Denominator for basic earnings per share", "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": [ "r256", "r265" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r4": { "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" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "21C", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21C" }, "r6": { "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" }, "r7": { "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" }, "r8": { "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" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r11": { "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" }, "r12": { "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" }, "r13": { "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" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "SubTopic": "10", "Topic": "420", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1" }, "r16": { "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" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r29": { "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" }, "r30": { "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" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r34": { "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" }, "r35": { "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" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r38": { "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" }, "r39": { "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" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r43": { "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" }, "r44": { "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" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "r60": { "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" }, "r61": { "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" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4" }, "r63": { "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" }, "r64": { "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" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "420", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "420", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 5.P.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "420", "SubTopic": "10", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB TOPIC 5.P.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4" }, "r70": { "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" }, "r71": { "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" }, "r72": { "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" }, "r73": { "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" }, "r74": { "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" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8" }, "r80": { "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" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r82": { "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" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4F", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4F" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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.10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r90": { "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" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r98": { "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" }, "r99": { "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" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r115": { "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" }, "r116": { "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" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r119": { "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" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-2" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r126": { "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" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "710", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//710/tableOfContent" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "712", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//712/tableOfContent" }, "r129": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r130": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r131": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r132": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r133": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r134": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r140": { "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" }, "r141": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r142": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r143": { "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" }, "r144": { "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" }, "r145": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "470", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480876/942-470-45-1" }, "r146": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r147": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15" }, "r148": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6" }, "r149": { "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" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "35", "Topic": "720", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(4)", "Publisher": "SEC" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(5)", "Publisher": "SEC" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(1)(i)", "Publisher": "SEC" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(1)(ii)", "Publisher": "SEC" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Subsection": "Instruction 5", "Publisher": "SEC" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(4)", "Publisher": "SEC" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(a)", "Subparagraph": "(5)", "Publisher": "SEC" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1406", "Paragraph": "(c)", "Publisher": "SEC" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "09", "Publisher": "SEC" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "(a)", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "(a)", "Subparagraph": "(4)(iii)(A)", "Publisher": "SEC" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "(a)", "Subparagraph": "(4)(iii)(B)", "Publisher": "SEC" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "(a)", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "(a)", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "(a)", "Subparagraph": "(4)(iii)(A)", "Publisher": "SEC" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "(a)", "Subparagraph": "(4)(iii)(B)", "Publisher": "SEC" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "(a)", "Subparagraph": "(4)(iii)(C)", "Publisher": "SEC" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "(a)", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "4", "Subsection": "08", "Paragraph": "(m)", "Subparagraph": "(1)(iii)", "Publisher": "SEC" }, "r192": { "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" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "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(1))", "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(13))", "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(14))", "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(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r202": { "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" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r204": { "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" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r206": { "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" }, "r207": { "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" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r223": { "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" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r277": { "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" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r280": { "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" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r295": { "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" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r297": { "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" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r305": { "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" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4" }, "r354": { "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" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r376": { "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" }, "r377": { "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" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r396": { "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" }, "r397": { "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" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r399": { "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" }, "r400": { "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" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r402": { "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" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r410": { "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" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "35", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483406/720-35-50-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r485": { "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" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r488": { "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" }, "r489": { "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" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r501": { "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" }, "r502": { "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" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "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" }, "r519": { "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" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "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" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1" }, "r532": { "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" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "330", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "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" }, "r581": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "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)(23)(a)(4))", "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)(25))", "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)(8)(a))", "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)(8)(b))", "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)(8))", "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": "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" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "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(9))", "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": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "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(d))", "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": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r628": { "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" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r630": { "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" }, "r631": { "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" }, "r632": { "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" }, "r633": { "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" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r638": { "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" }, "r639": { "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" }, "r640": { "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" }, "r641": { "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" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "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(6)(b))", "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(6)(c))", "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(6)(d))", "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(6)(e))", "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(8))", "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(9)(b))", "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(9)(c))", "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(9)(d))", "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(9)(e))", "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": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r659": { "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" }, "r660": { "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" }, "r661": { "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" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r663": { "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" }, "r664": { "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" }, "r665": { "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" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "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" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "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" }, "r678": { "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" }, "r679": { "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" }, "r680": { "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" }, "r681": { "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" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r689": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r690": { "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" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r695": { "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" }, "r696": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r697": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column A))", "SubTopic": "320", "Topic": "946", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r698": { "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" }, "r699": { "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" }, "r700": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r701": { "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" }, "r702": { "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" }, "r703": { "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" }, "r704": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r705": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r706": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "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" }, "r707": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r708": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r709": { "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" }, "r710": { "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" }, "r711": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12" }, "r712": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12" }, "r713": { "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" }, "r714": { "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" }, "r715": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r716": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r717": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r718": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r719": { "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" }, "r720": { "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" }, "r721": { "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" }, "r722": { "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" }, "r723": { "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" }, "r724": { "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" }, "r725": { "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" }, "r726": { "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" }, "r727": { "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" }, "r728": { "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" }, "r729": { "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" }, "r730": { "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" }, "r731": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r732": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r733": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r734": { "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" }, "r735": { "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" }, "r736": { "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" }, "r737": { "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" }, "r738": { "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" }, "r739": { "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" }, "r740": { "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" }, "r741": { "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" }, "r742": { "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" }, "r743": { "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" }, "r744": { "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" }, "r745": { "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" }, "r746": { "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" }, "r747": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r748": { "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" }, "r749": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r750": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r751": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r752": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r753": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r754": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r755": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r756": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r757": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r758": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r768": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r769": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r770": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r771": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r772": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r773": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r778": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r779": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r787": { "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" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r794": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r805": { "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" }, "r806": { "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" }, "r807": { "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" }, "r808": { "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" }, "r809": { "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" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r815": { "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" }, "r816": { "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" }, "r817": { "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" }, "r818": { "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" }, "r819": { "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" }, "r820": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r821": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r822": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r827": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r828": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r829": { "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" }, "r830": { "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" }, "r831": { "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" }, "r832": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Topic": "705", "Publisher": "FASB", "URI": "https://asc.fasb.org//705/tableOfContent" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r837": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r838": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r839": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r840": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r841": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "(a)", "Subparagraph": "(4)(ii)", "Publisher": "SEC" }, "r842": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "(a)", "Subparagraph": "(4)(iii)", "Publisher": "SEC" }, "r843": { "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(3)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r844": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r845": { "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" }, "r846": { "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" }, "r847": { "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" }, "r848": { "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" }, "r849": { "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" }, "r850": { "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" }, "r851": { "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" }, "r852": { "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" }, "r853": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r854": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r858": { "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" }, "r859": { "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" }, "r860": { "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" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r862": { "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" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r865": { "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" }, "r866": { "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" }, "r867": { "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" }, "r868": { "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" }, "r869": { "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" }, "r870": { "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" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r872": { "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" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r879": { "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" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r883": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r884": { "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" }, "r885": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r886": { "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" }, "r887": { "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" }, "r888": { "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" }, "r889": { "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" }, "r890": { "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" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r892": { "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" }, "r893": { "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" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r921": { "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" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r926": { "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" }, "r927": { "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" }, "r928": { "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" }, "r929": { "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" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r931": { "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" }, "r932": { "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" }, "r933": { "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" }, "r934": { "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" }, "r935": { "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" }, "r936": { "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" }, "r937": { "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" }, "r938": { "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" }, "r939": { "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" }, "r940": { "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" }, "r941": { "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" }, "r942": { "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" }, "r943": { "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" }, "r944": { "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" }, "r945": { "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" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" } } } ZIP 91 0001558370-24-002727-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-002727-xbrl.zip M4$L#!!0 ( /&!9U@Q_/TD 14 $C3 1 8VYX;BTR,#(S,3(S,2YX M?[DL<&[W2V:2;F2RD&WUC&_]%MN=9.[+0BW1-G=D MT:&H?ME??T5*E"5+HB3;O1%P H*,6RR257R*Q6*Q1/WTM]>MBYXQ\PGU/EU< M7UY=(.S9U"'>^M-%P%>='R_^]O-__.6G_^QT?N_-1\BA=K#%'DS/#3&C!'713U&G#5&Z/KJ\L/EU>6/J-/Y63;1LWRH0CTDV[JYO%8% M_:@UZMVCV^['[LW5S??HA_L//]S??D2SL2(; V,K4D+WZCOWOKW!6PMQBZTQ MGUA;[.\L&W^ZV'"^N^]V7UY>+G>V33T/VQPDO[3I5K1U>PW_72"+ HX? M*-L.\,H*7 ZCX?T16*[L'P;)Q6(84@2)8AA5S[]_?6*NP^->Q9^7E*VAIZL/ MW;!0D;K$^Y9B+TE\VQ7%3S!XBMRSB.VG&_:Q?;FFSUU9)(6)V<@T_G(KF[Z^ MN[OKRE)%ZA,[OU4H2+<)A43#,/%\;GEVS+!- X^SM_S&H\)4!W; &&AB48VH M-%4E\#MKR]K%-5:6_R0YB@H.B?G;#ONYU+(D18Y?[4T^*Z(D1>KS'2L81"A) MDS)>Q$5+20:J^('# M[[UZ52=+-#Y>L+W)T_2;*Q@ACCV?/+FX(\@PLT0S?N=&6)L8#4;= C1D26H8 M&%X5ZM['+I3N55^CH[^/DIH/XUW 0ER45B#."MN^ZT)I/%?Q6M@V#;%HO!N1 MJ5H5;)!2"5*N$IW#^0@RY0J:$M'!.X;M*LSO*?=2\W*)^;XGDC]EH"#-DG;4 MG?VH2_-*>_("07(LOS*)?Z M+AZIA[L=\58T? +/A 6^%T.RA.F(Q(_'^5 __^0 #HAON]0/&%X N([%',-S M^H'/Z=9X)?Z ;BWB1;KC7R "8M:KHCA4/#IX13PBI8&EX^H*=="^0?A#M8F@ M412VBD2S*&P7J89_ZAXV=]!1 '["U/M9_@;-\F&IE8,H9FQ4.2+15+0MUP[< M^O7V;!56BQXJS$Y&$@:.2X>B#X:1NL014ZEGN6+*+C88*_@JT&DP Y,@,8M; M@=_]Z60Q'0T'QM(= ,)[-S2_F9#'\U6S1/A+MON5O'ESZHK.H^?1:/#_4P;-O++Z@A]'T MM];&:GR:8+NUV-MTM2!K#UQ>V_*X8PXGZ?\9(>QV-C_E4HPF+X>3)\&/:- MR1(9_?[T<;(<3CZC&>A-?V@N@%CR@,"M0A$72+&!@ \D&4'?1:S\M56G0G5Z ML C[U7(#/,:6^%M.;^,9ALV"G2GLLA:6"Y;[&?M<%A5HSK'-:)7D]NKZ4$D> MC.$<_6J,'DTT-HW%XSRR'AT4=]994=81W:%$?ZTN5-"%SY0Z+\1U86[+U7L( MDGMK$:$P?!^@+=.+4YK2Z\7U6-SY/IX/?AJ,1,B:# MR#<83I;&Y/.P-S*1L5B84E%4MRCL%]$54CVW6G(&+8%A99S\2TS%3)'GS+$K M7 E858)M$/Z,Z$5_1VK2.;HLT;:;([4MP1K:\X9"YN0"%K&'$ORA)(.M4E90 MRA$L.]A_"+CZ/;/>D@M-'X2Z.52K:I7J*L8(UB7IHX0-(]DR4DWOT01W=]1' M-RVH1UL:T^=D>SB?S=<=;#=QD:-REC9+5.+V2%L1]YV>_ZKWUA!4T)EHN^+/ ML8W)LS"[!8I03*A%]T/6[XAV* LT-_OF\%=#8-I"50[5C-$=9OP-IJ+Y1T!V MPCY&.] "S"K4T(+W,0O>;#Z=F?/E5SDUS5\>AS.QH1#;T;#=%LG*JZ_\?Y_Z M?&];82NVU3EVU2MJENR?93HH 7X#.Y57<^J#,ZCG:H6 M0]W*R +L*&]"S;41L9Z("TPI]R9GH:Q63XOIC[GKYOS1!*O[^\R<"'3WWM%H M:/2&H^%2!/LB;%MH=>?&,// MIP"'B#(''& _@KPH6/QOZ52G5-=765=[L9SV__YE.AJ8\\5_R04]6ML77XRY MV>F!&1G((R-0.6,YG$Y$1"AF3P2#)(-13EZ21:1X1):O?/+6\%30SO#<;VF] M8A\R@!;@> MP,F9/L KS!AV*D)<6K4$Y(S/< !R>I:K'EJ8CX%9F$+/AN5?BJ"2-J HGDE+ MNJ3<B3IGSR0-U2O,D5&IO-Q(& M94F1Y"QM50R.8NY0Q)ZL*!ALE;%8&:,\>_6O" 1X'%R/Q(8NTJ,JE-K4A:L[ MFP_U@.^\:HG7RUV)^T7&90SI4P4O/ M^NG5HRJ'6*UD-0ZNJIR6*6'I?+Q M5(M,(3(]R_O6HXS1%Y$,>HC)0:D6C;LL&CUC\G?4F\[GT]]@[6EMUEDBTB?$ ME;4 7E_E^!-UH\,MQ%7"09K0C1ZBDM!L._J%HV]N=RY]P[B'/6"#SV"#?(A" M'HD6C9LL&N9X-II^-4W4,R?FPW")9K!E;F$IA 6LTY:$*>?B#5(JMS_8R]LR MZ4BU,.6DQ<.4&0^7X997F#/8#HO=D3EIMT;Z90JOH^!@E(6[+\IN<76T6L!R MMD0+\[/,,Q)@S:6@ATT!F;[ 3N'A(Q/LFDGF Y!?Y_K]\ MFR#:"V7@JUI/"V7.SFG1_V(.'F$C.QS"7^+=E/!<64#[RZ,Q&CY\%8$*M<%J MH3TQ]'1:"*I** K6P>QI8HW7T[Y3G;0QY%/!7HI@QI%01W4U0,-*FI-!4@/H ML(L6YN.#C_D 5ZREA?;8//P6U",BDODP%M)I@?N0!2XWQ;[%Z9@P93Y2&DHM M5A^S6!5DU+=PG3-H5K NUFY !^YYTBM;W.M$TO)QS1)H<>0TM:#GN2DF0H,7Q7+N,DZY#J7C?R0FY#6U"X-F0[E//AC$)[]J<$__; M2= 7ME:B"Z<$%T0B1L"C+'/F>!S0,F8H+1]K._$3@.&!M5XS<34M$?GHZG&^?E2KI,4^ MYV1N;OYJ3A[-\'&B89&)'C7=0EH=4G'^QBR;1ZG&17.]A+H$Q(S=WX.H6D2J MR1:\(P,< WGI,E$G/#GW>-2X7:!Z8UKH/V:A+[QX(-FE---YEX&TVE$[%ZP M]7PB+9KEF6$M/.<-=TTL)MS=YS.\BYQI2@?U67+(H$[<::L8YU6, 7DF#O:< MDOLHSM!BB9IDMW1'J(GJN[W8XKWL")57@HJWCZ".\1)>]/\(K!O0_#-4/8.! MJ=Q'B4IE;\@]QO(H;I!D!TE^I%LA.$**I5;1SJMHDE30/%LN#) 8ZS/8)EVK M)A',-:MKL3X]6[V%O-)U&(Z(R3IU/X54;F5;5S?W=UU)14T(O.[0$NZ2L0+U#V7[(!6CNS] M/89'BGZ@!0V4'/0M1_)!K(5'"IY6XP;*[5I/.7*/K"?L'BFR*^J^B[0_=5]] MY][:[8BWHN)1],#S:#BKY#/Q",2FC"//VF)_9]G[3B6_/K8OU_2YBVVG*P;B M OGV!F^M$;5E,R&U7T0N?L@!O(2N(N9J].I@4J=712Y^U.LUBP_Q?"[RAWQJ'-]T[F]/HX+A[.NT$PAT4T'VKJ]+AZ&LIKR;[\>")%<'^1? M#J\\$*J"&($/1R-P%\X03V2Y8Z=:YRYCJ5J"@SN!P?7'RGRL+/])-A;X'=&6 M7T4!DY76EK6+=-_E?MQ,/7W,;? D)L23(WGP&:_5OZ(/^X:_3K PG[XP=/1 MM@?JYO:.W3 $+KJ7:Y?Z_$3"M_S,J!^YI&(A^(>6*EQ$!"/D?DL]S"WV-N1X M*]PM8#QX\F&]" 3;4"'8*5(")!?(@E+Q,L"GBY7E"BON$5=^V_K3!6VYXDRELT M(OZ3@_6^_22'&YX1;WW$8(=CFS_6R4%U@O!0M'A45:I'OE#1_N6!LMD&P*%; M.2 RERHQ8B>T\6]5/@<_':E[L82"]5G [(WX4APT.\;;)\SRQJ*(,I085KJ. M7-GN';JUB/>GZL#06S-K.R;@N@T]N^]:OI^12T/3*(EBAD?B7<'H##K*2% , MAU+K" Y8.+.$QV 49[&,P&C+#\.O*!,9LN(S9"2L/9,M)D"K4RDY$Q4[YYZ) M-446$9.L)J8?-U/Y8%!%1HJUAC5$&0'_@='MV/HG98M Y"J!$$H5JY.7*.8N M;*BR^,? $BJ,\4J22T#RX1$KG,/O';(5R0&ATKV/G0N9'$@-R?"N'C=*H9)\ M3SVX%M3EEZ$;8S2X;!,L+D%S=0C@68=Q?W Q\<>\PR:JZ=.G)\-0-5$!C4C1],4X>X@9BLL,R#51(" MRCP5\]5V P<[8L\D8D\!CZZN,2WFB=L2P%&3T2EC*[;[\=B=L\7W';?]',I7 M2=VX2?0E]$./PPX1Q+&\M^CZ%M,E6^+)MN/]:*T:?XZ^E(N=VCN'.]-0NKP" MC1!GV\(>Z99,@.GI*L6TVJN&\N@(FN1T[%>F8P+H(FPEEVC,MK'_=8:&-,C7 M#H,=.1[@@C"1SC7 X;]#;\;PSB(J?2A^M3:Q_L7WLH5V6WT?405TS]?@GV36 M*JP'"[KB "8^\,D/GS9R"DPHQT^4?A/#/J9RL7Y+RZ&E:*1,"\R>,1/\@F/- MK/4A,(7%C90&5C_YL:/M 2R9QXWD7D[E+V#IQ%000PZ#3^Q])"$18==1-5(V M=0'=;X1O5&1!>;QOAO,L#(BZEB8T<"(-(Y3XR+K-]>U*\TS3B->@;R3V ^Q_ MXW1W(%7F:2-YS].].5X%GA-K8%JL.A4:*;'N)MF+.!"JI6GLS)O0_1GJX57QN<$Q-1OL2D;OLD]7%1/WE_B5 M]UQJ?XN]FU-:*%$.KDC?>R,RP#OJ$ZZ":[!-< ,'IJ4R/LH@I=Z_4R;XF*K- MC365@ICX/&8HY!:+@I=PZ"45%C=2&AFYF>.=RJ%C5&2@^7&\^V!W696ZD;*J MV'T?@<_WNYCJY(UUGT)3& :G]A=+Q5FRB?VIANCTJ.VY@P:! MT++IZ@'LGF>+Q+OHNH#(,RPLUDA"/([7F+VWF5>\[2_8"YF;4/X5<_$): S0 M.H>BE)/_^:))=QP;*X[9!%;-Y0MVG_$8')+-@86L0MA(^Y%@?/E"OV*+%4N6 M(6B\1"(]K$2F+$G3I7J@ =,+E:5HO$SDN02H+$6#9>KA-^HY@EW!=IY,!12- ME.D+?G$QYS/+_F8QQQ3GNCM&?!'W_;(#3R(M7V7J1LJZI-QR67BS",,V77LB M-VO%Z/:)\@UX%4]X33QQCA^Y+);G1!D085\D.D&#?Z.-JZM";FJ$WKF/!@=+ M,FE3-U0E;;'G"/4]L<_:[VB**$[FOD_5U M*&F%EQG#X^?P,DF"G3GVP<;:FVB?D_]J8UF=DZ90N;QQZ"&35%9UU/98>D76&I7;J16CK!'G[,OZ*0?-Q ] M%4=1YR0^& :,QZASU[L[78MXMLH*:TQBF1EG?!*'Q;2FQK"UZD2A8U M$"NPUGVY""1?I&UL[5U)<^,ZDKY/Q/P'CN

R*ZJZ@]92I1A94DOR6TX=- 79G*9(#4AZF5_?"7 1*1(D0&J!J(IX M44^6L.27F0 2B43BV]\^EJ;RAK!CV-;WL]9Y\TQ!EF[/#>OE^YGG-#1'-XRS MO_WUW__MVW\T&G\\3 ;*W-:]);)<1<=(<]%<>3?<5V5FKU::I3PBC W35!ZP M,7]!BM)JGM^<-\_OE$8C:.-!W%Y?-RVOE MR]>;+U^O;I7Q8U3N$KP M:*ID0%J[V G)T9?.:-&'X;-$E>G.:G+WQ(_<5X3;]G*%T2NR M'.,-[0 .NY/= VQKSFO/M-^K*Q:CU0R$Z 9R8#XU=-6:=PS3 [*Z&K;@5V>,\/15PZB#7,TPA>#N MBH(MLJ:G&?@WS?30(]+(WU0.ZAOTHSV;J&?CJ6:"5KTAQZ4_5>)"ZV0 T(!= MX_^)1%(_6?,),LF8!=WUEI[_,2A/L.^425LA;(N,'( 2(Z?GN>'GL?895]NV M9NJ7Y5C!V?0>M:+KN,9RDZO=CQ4L.ZC:I+"=GK?(BF!>=B9(1\8;4;=*^'*: MVR+18VRO$'8_@8O=__.,%=&68-&I1#U/NUL?4_3?MNVX:YU8V'A9?8H1:'Z/ M$\5NYHAMCPGL@442#+N0<0-#>S9,PS7"D5AZB'"VODVCT+7U?[[:YASV[$2U MJ8Y3.XMNK(E9#=10I2"?;$+#G8E]78HA \[L!%6=S!RT0QFB^55C%'>P&&-$.2X=11G4EW"'# M3Q&?9_;,=C4S5D=UR9;-?V:#@=#?H===;M* _J M0!VVN\KT9[<[F_KN(:#=M/5$\R9QIMDX*7D"P@$4U-6TT)QGZF_RG,:+IJV( MB^_J IFN$WY#E80J2/#%/WR[*VP4]F;(_'X6?GEQ"%K:'HP'R]T@*;/,/VZO M[JYOKFY:=S=7]\V[V_O;NQC1,>&K.$F_AO6P??B8TH>DXRXH<>$04XBTUC! MD&']!;:7:XX%G=@B!),9&W\_:YTIG@-TV"O2AP8+X#LR7EY=^LL*&S:&M>'[ MV>7>Q4+\-+ FD?^1!>H-]NUD*^^&&UFZRV>(BZNN/&+D%UI:T.6ARJX TU?8 MC,T07L;<-0QY9Q6MAWBYD072O,R3YKXGUM2V=(C<@GDVITH]!"J,,!#LE:S# ME"BF16PBP,&0:KQ(/:18B"B0VK6L4AMCM-*,<#\<;H=Y3"&.FO60<5F@@>AO M9!5]W,6V'-JY+DP?WM_9>F=$(4IE]V8R@\ M:6+(*_SY&&232ZOLYLWF"1_H4_=#-ST2*U<@(YZJQR"_TCADMU]B9MC0MO1< M8S6S[#%(CY]PV:V3V!$;.6)*G3MM2*ZX^.'H9RA9K(0\JL7+]KC2%0&1W6,8 MHS]_#YLN*(_@>(61*[X\5+)+,?20C;5/LB7C* M2"LU4HMM(.^LXJ7B-!"T$L/.UL9 _[;Q<;MSQV M=?4C*[E$G/_,^Q^7^?<_IC/XWV-W.)LJHY[2'[9'C]T]WP*!H;8>=QOZNO'; M06+D2-<]T$D0AVM8'JPE@9<&Q/. %G;B1E'WP\4::)-A:?BS#SRG&SZH":(% MTE[ZEHLP_K@@N[4?>069XR2GI#QR/Y1X<]RL!6P2 M4XRK_0>:8:!\C.T%T^2/E9!/$7C%D!9@$2S91_0$O2'+0Z'^8TUW?S?V[(I"LD?X:7JHJQ+A M-T-'SA3L8:;GCE6A#F(71%?HR6&8]?MSIR.Z?/U %KE(#I#4^=*P#,:+]J^"45Y%)8 MO@Z2+ >RT"EWZ'%,$8!):B<9DC]^\RO))VT)['9QCLGNS(^8%8!X@+F-;SX$9>?L@WCEV#E2N?QT5R)^NM'L9W<"!1['D^[/[G#:_ZU[&-]= M!MZ"DX?<&GL>>WF>Q\PR\HPS 0'$1U\Q&IX-T2$6UPR@44)76'027PC M.8U#'>3_'_[VW3/=#_U5LUX0R9_672R XZQE8\]$['\E(C33M'.@*0^?3PZ) M"HWV5RJHXEO>S0C^!I(#ZPH&UO6A)YZ#*-C&LEB%>V).Q)M#Y!0 $SO'R%D7 MD$\[*LHF+>P"L+)[A#L(5ES=SUA)/&"Q9-7,0'IFC1,0MRAZV1T&\;RT'=M[ M=A>>&5X/9 ]O9I43T !A^#N. 62XBE.709(>$M]Z1IOG/B)5:RSKRFR0_N)% M9LYMULE09N$:B[\$<-D3G*Q3?0;[ZMC"-5J0=-9D F/ZB7DJGX!"5&!$84J5 MQOY=83\TPR*6Z\@B+QB-%HG465'>+%8L$%?E$U"*"HP(E.*+M">1Z9UP.M!#JA+1NS4Q8C.17ZRPYA1G#JC9[ MJ@I5E46AODE[CYK!1M]?4.'$-:.!)(/N@$%7OTYNP1.9,UO5 M@7,8"3QCQ%57/IVJ*-&,8YO2?"@\PA7WW#$V72D:LUU)Y*Z*O7#?-;QIV91L MI<;BWR9'I+__ [!TA.8TH'Y@+& 6=3Q,WG@?PGI)=I#L9*VZ*$@U M'LB>WR6.*L,['7\>@T,W"EHX,2TIPPW9SX49#.L9%@R%"G9L1@/R:8NT=BPO M]\1FHX-$#L;F6 N1(&>,YLS[2D8A$/6O&AW&BMY N+F12W]1>6$.40RHQ$KB&>7L2Y\"N+F M!RZ[?1AJ;O"(P,R>:1\D4PI)J0>LZ=E8*+*P;',)WEV2I'VWM5.:;;*F;$+" MO>L5P(*UT,-@+#NPN2K.0%Q<\81T19 )7"&)>[H03V(G3=OQ,)H2#N+/T6)J MO%C&PM#)OMH_DP3>A-X8T'M#A_U8QS ]=YV6%W9A=%AT2+I>D^_FY'6SU;Q6 M&LJ:!'*-\NGQ49W\2:Y*3OL_AOU>OZT.9XK:;H^>AK/^\(L.UU*@=L:7DM;K=KEP]S< T*?0CS17M MDQ\E," 6FV:BV&FCV")UU6QM+E(]M3]1?E,'3UWEL:M.GR;!_?Z&$O7:6-BX M0?I58AT?;"W:9$8'/;NQC [^;0IBSSHNF6*8#_<)-[/OM/KY!*Z3QM.QM-M/L_>UC#^)!O*)=D]^9E.27FQA>09CYNL3%R**R19]IU"B*"_7(%=!T;P>OGPOR*F M5$X6%.[ZQR70X8%.C@PWHCW,\E>]CNN197V/$ODD),WHQ=5 MDV=.$!-6?,8HA5'V52$'%&,B$-< 1D,UUPD1U'(N)_25;:?GN>'G\%PFF%_; MT,UE^05AT%6G]+C![T&A72AA'^M97&FK@[9RN>?)?$ >QD",%\9#2!R9728U5:2:Y>W MAW\@MXIJ;(\%4GKXBS8,7<O=M;T:F@K5^J5, +V1.\ED */;/,])*M_=*B0FZ4O$FX M6WLGG:I,S(BY21\=!1%T4V72;7?[OZG$=#E8.$(*'@G-]#/B; R _*+[/OE- M$4,=:MF4\U629X3R""5QDBN.:\>K/N-V_PQK/X@I)_"2]TI(:/X*:2V);H-KTE&D]&X^YD]B?UZW;__M0? MDS!N<@G)[^!@^R-F;I.TOS:_Z/ZO)6<3DQ>2D5])GI'((Y2-V\>BN&2WL]O: MRG#]T&UR]=5S$0X3=^5)N*B:/#*N(+NT I2"+;L*](P/$@3A\(YN9OF:"ET, MK^S[+'J.3&Z^]YD\T MJ=VVFI='F42M@IUR0.;P//HON1JTCN%8V'A9(F;[2]J2CT+T_-@\T@T-P:8= M*;&>#F;21_#S)D[_]X,&VN60F"Z85,)K"?+7IC"PX^>8 &0WP:($RD4"2Q<\ M,H%Q I R9*TH*)E[LBL=C_PK$'FON#@CS,HV)^/0W5&\JB@79)^P><'FAY$) MMG*:^I('7O[-M@#&G%@QX79.6%68\&7?J(N@[-D>WH*ND&9.5U68Z&5/'2H$ MTGC;QJQ"FCEA36&A+_E6^$ME= [$WL9S-]/<.Y7[C(C3R=/W8[2 M_6/<'9*=R_H:S:"O/O0'_1E)YQCL6PX0B\IX):WX63K.NEN)8NR@E>T8;A@& M%#UPT/88()V G*M.8-<).9U; MS?0=Z.ELU/Z?GZ-!ISN9_A<-E@OBYJ8_U4FW\:!.P<)KCQZ)B:?.^J,A24,7 MT4DRT%%*&Y14)4ZK$A*K:$YX6?IP-Y-,VBYB<#ZZXNJ.%NE,H:*5#Q!#74Q> M3O!T<65Y)I1R@MR,HRZ)6'8+L;M)NFM(:1Y(&:P:VYG%G8LAV%);ME3D=#+LZ\*8MAKCX^)=5^$ C&\@HRNJ8553>D9HMA*S16(B'ZQTA&:;G"$G> M+;OLPE(+,E\\'))E0SR6E3>" A_"[X(%(\S/0&Y_D1,PS73RTGCPJD7ECI+\ M_B+!L&A5+MAT-$I)'FBT()^6-G5V17JKB#Y0(]E)RBF[^0QH?#KKU [!_SX$2H #O;D M3G@8&_Y=7O$X.S@]Q:O"F)(Q\L>D>+8%T':H=W[[O]1.@"^!UMT>L=9ES/9A MB0D[,+1ZPZ>G9V48$BC8EZ-1,!I/RZLTM'#=%8$-,A#NW7[3FJ<(_#MHHK$P M$,WV"7QZS8[3$ZM<$ZEN 70@Y?OBQ\=E6A88BR(KL)R92V877279?"?!ZWP' M,E$$613Z%YO'LYI$%W!((G/R.OW"QN\:GCN)-23KR[3O5? M;+O&3OBSCKR+BDLMQ?S;Z&*8CNBL*8YG_7#KYDMM0D$U.>W(HP&EY)H[EBMP M0.P0^EH2?1%-*"S8RHGHBAA^L9E%%DTA5_G!]%4QAK'@I]T6TI&,^DGNW -W M;NJH';S(C^CP.:'[:*4943XCP7DC4?=$]($'M=AY\/ZOF9(< I8.@&BCHT7T M4W0Q=&;/;#<6JHT&U_\BOJ_K \\9,\I6^Y!GYA&X M2[5[#L@>6,G@0/9=$>;:)-A*G71%"*/L.V(&QJ%-EA$/5C78P.6GTA!HH4Y: MP(U/=@N5@2]\F]7_RGKI P\%)X/,)NJD _P MYC-Z]N%+P+XYUEST%__!5!+ M P04 " #Q@6=8'U8.LL0Y "6G0, %0 &-N>&XM,C R,S$R,S%?9&5F M+GAM;.U]6W/C.)+N^T:<_Z!3YV'W/+C*KGMU3,^&+,O5VI4MCR7W;)^7#IJ$ M)$Y1A 8D?9E??P!2E'C!5:2(E,L1'=6RA$M^F0D@D4@D_O*?3ZN@]X!(Y./P MUS=G;T_?]%#H8L\/%[^^2>+YR=.V'O"A'B!T'OG/C> O5Z9Z=O/[T]??NU=W+RU[2)B M57#82]MZ__8L_V&P:0V'O_0^O/O\[OWI^X^]+[]\^O++A\^]FZN\V!4E;.XK MR@5^^.,7]L\][:U'\871+T^1_^N;91RO?WGW[O'Q\>WCA[>8+&CUT[-W_W,U MGKI+M')._#"*G=!%;WJT_"]1^N48NTZ<,J=0_>F>!'D#']YM^Q*68'^=Y,5. MV%6WO/SKO_5ZF4P(#M MFO=2"G^)G]?HUS>1OUH'K-'TNR5! M\U_?N.%32)GT_L/9^XQ%_V<:4^U@:C? 880#WV/*LOTRFLRG,79_+''@44T> M_C/QX^VH1./:=7$8(I=)]*V+5^]8H7=[-?^N#6 7?N0&.$H(JG?1 M#[WITB$H'30#O%JC,$I5<>;SZX1QGU*= MA#&==&XH^UT?11)_7\QR=1^"KU;%# [@4XLR2K)/F[*,_P'950KA+7,S#%5 M:!2E_PYP%.](GV.R:LX2@^8/ NPRB?//-\YS\XE W6K+,,Z=\,:-U^H\. M\6C9N]"GYA^5%JW:F8+H4V*/76E15N:!&AUAS*CK3'ND?;?,DE%(:44SYPE% M?<_S6?=.T-;"I-UXVW)&"S;L=NO][J=H\UN!BOYZ37<]S&"8X5NTIN8 ^SQ9 M(S:-A8M-A8;2/RA%AV%?@:"6=^0&[;<-S5TB+Z&FH<]V&AFS0^]OB1/X\]2\ MSK;"#85MVDD!I$/<'.?F8[5W%*V,W^EWHJWZ$(S=]MRK][I$L/.0D= M9H0@\D;)+YZ?,B!DVQ[K\&3S!^7KV=>3L[.3]QEGJWUQQ+7?9.F$7K8N#)(H MQJO^DQ]=X)7CTSEC[B1!')G,^MJ-E9FTA^XQC%'N39X[T7W*S20Z63C.FKGD M/[Q#M#_V#6LR2FE.Z47(6]75K=9$)A%:]MWP*:8+!MO=#,-DA;*Q,_:CV$2A MM@+WP_B=YZ^V0G>"8#_-*;C/F3?_4PHN;:TY4?0S@XS#$R\37(LD!4 MWPY#[Z;I%LA-6SI9H=7]OA,'G]9RN\T)75*:B)O]EL_9AWLJO<*]7O9=-:[2CD=Z;*>+1#^8L.BMX,]XRIQX3:/;^^H9_6Q,>$ M[N9^?7-J10R>]7.59=]S)I_HSE^9J@7U'J9Q'F-]9PZ$HW'[7AB.7 M.C;H>%3MC*F.5I=M_-K41:%#QSE'!X7E:E*5ENP*T:;;NS!:(S<-!!6NC\*R M?&2RTDV6&!5SL4;_G>FSA&"FU4I"VU=Q TMZ2WAV[L2.FG"8!M?4U5ZKCG!; MJJQE 7V%%.D>B5M6B%98NNFF0I?Y6(.6SH:()O'%?8>0Z,Y7A$$6#N0_H.%\ M3HVS&T1'LC>9][V,=8(%0J<:=U;5K0@$OG MT:NX%PO:664,)81-:>MT!=(# MDR](^B!@K$[G2>2'*,K/P[56)UX=]>HDJF4#?4:"=%4JE1&CJY9J;152,!E+ M:+"W^O")+JX^-6([7W5N"/82-YZ0*2(/OHL$JPRO&'=*%17L%@[SF6\(B(0+ MA["L#!B_=)/E0<%:K-%]IRL G]Y\QI?2:762[WO_2#9A^Y>87*/'PIT3@D/Z MT46J2=^H#?')F6DK%K@UHVWOUFGIX0>OJ!"[J'#3E6)?R6 U:9TO((98B@N* M"(/5D;>Y(C1=(A3G%W8E@TQ47*A3L@I X$J-*W$%(\CMF5T:$L"ZM'0^>L3$ M%P>*G.CN-_^50R+19I]3C+^S%11\46>G/.!&M1OMZN6BP'N0T^U&GDM_;L89 MT=WY:+EUPH5HB&Q_XZM'\=5:4)5?Q10WMY-$K,'<7CK5Q )96_4KDV/5 M>MF85(0PFM(;%&+3A5M690O72]O8'>VH8'NW:\P"ZO-O9O13Y*3Q I%T*V#8 MBGB'9-Y.4YM')3KHH>(O5_7=LV_ )WAY+2 BUNM;\[A"?W;.[=6*>?2,J)IQ' M>04MPY+NA.L%M:"UM_.5^43:=01M#D3Z[C\3/_)5?B!^ M:;%/1%P>"%;VD>ZFY,X@53TC_+6:C5U#2J%@0XJZ=Q")()3\0SJDVSW/8%D+ MF)DG.Z\HEA%;V]52-@ZAN6D(BB;J^?.NS":I19:X84M]Z-T$3BAT+AVR*_&1 M^($Z:WQ>(M ,?'C2NS]/*6,M'< ?"*/5F2'+>;$-0] X9V_GSE_ .30>!$ MLJ !@Q:$"F?8!BP^[>A3KLV&K>S#+U$[38?L?F+&C6CN?% ;@2P.\CW 61WV M0T(H49B0[)H<L-MX601K(4*#Y:G-X_V>"W]L"H9>EBY3,C\8D$H94E+,N%)2W=Q.J2LA5K=-ZI <:C-K?!I%0V MT6E!8J6TIVG"$BHCPE%:?J&:=,7%6J.TP)F\#ZY:R@OS*9<6WUIH*1D6K582L\Q;9[XH-\A\B"S6A2UA"NX1CUKD< EVJ2VB["\(B)8 M4*-YGD!=8=0NQ0DHZMQR44*HWX43D-ZY[3)CH";S4>BQASD2)Q"8+]QRW*5> M6-(6HK_[\3+-X\C&^J.K6/!#!R$VD/ M\BU'/%!H%$3V: 4C,G..5_./I%'MJKC#_1J3Q KLV]Q1,%(17;%?0PEI#AP3/A\K:96P>[YTR0@^W'[K^ M.D!1";3@%E@WL M/A8["=1(K'+FBXL(I3U8!"%SI&B"N8 2YO7E<0P)8EY;. MYV(Q\<795DZTW5QKR7V$_IFP>>N!W3.4CQ9!:7&XM;@\#*SRR'11>1.\+69? M4S(?:U+2?0XV$>FEX&\9R78'"0LYW^5@H,O]@C@KV3@15I#?3!!6 0-:?95# M4,40>(O#1D<6U7L6$GJZ'SP2 +7+$Q+"K0ZA_$Z&9- 4BPBUI5K((A3I4-"\ MC]3^32(!%[&LS\Y5NDQD48G;O;LC.%C;A&H*SOYVO_*/SLJ_MTR4^("O^+N, ML):.\;ANCVR*Y*V/:NKDF0W28WS-"#(\^.!0\CS')/TBIHD48VHO/AH M2E8#"F+E+*FH98:^W7E41R38B*+ND\Z((90.YM2D [@_2:GL)_$R?8!)84B( M*RAN$(JJ@ &M<7>27\40>-LW)Q6RJ%V<%--CZ=XD'T#]VJ28<+O6-\%K1.)G M9EVQ0WKVS,8ZN\&B\/AHU!0;MWIU(?%#Z1/2J&G.CW;]1&8BP\;T=;];T %4 MVD3H 0$Q)*?)_3_801N>D/Z#XP^T/]GW$SQGZAM1;FPH,X/(F!D.85B>*[XCY\=9+W[WPHYCX M]XDB8$9<0:B\\BI@0$L'LZR*(?#VAJ>6++ ^/9T/.!F XLA2$6XYCV.09-E. M@@ _LD3ST2Y2-5)8P'J5A1JF7QT<8Q2Y(=55]V1*F_DC#66'S6FTD&=2#U0Y M^Z0>&!COOJ791R;S:8Q=V:5G87GQ6:.LAHT+F 4RY/S"A"+1O:"T4$?OS-IUM8XBZ?Q^@!\2XUF546SR#:U6TRIA!X&=7)E*>^,VE# MS2;=5AJ/>5.QX@;$=C_&-=&54MV9HK(ZIB_8#2\4>K+["Z4R0M6KE;*)1CK4 M*J74B-H;+B)68FFOG>M]AG/(JRCP7]Y5N#.F?Z8_<+[?D%)"\OCX^';M MNC@,LRQU;UV\>I="V=G7VR<\D+=+#[(,&0$+=E:\("R,$;YT-*OW[D(/S8=9OK8[ MR1E*/ MQG,Z=V?3N/R:O[A\YX+ZU%!0$BS AMON)14Z-Z2O6ZJV6(6"!Y2+$P3:!E^- M=.Y>:K/;DO&?4>/%O[@XC.G6?QBD]7Y]$Z$%^[#[/< 1\GY]$Y/$UA99Y+>H M":U>$(IQH2N^.H*=".O>+KOF>'K)-1I%4;)S&HF-\G)I* :%GER$,( )AS,3 M9_3JKT)Y>2CF@IZ )$" B2BE,%.?BS3Q8G99,CT &:[6 7Y&*"USD]\=#QSA M'?_]VH)B8!C,B>8@CT/LF9(*88C-DSU;@^(1:30*-+1#S0E@^E'(@S;# @=# M"NJ^^B+G+X459# 7*&'"+7+S(A)LR5>B:.72WG6O'Y 4SO9 ,Q MS0_LN^DQ(HO52^\BHW@RO\1DCGSVFI3A!&70;.=Z\^50BY0>WN/0BVQ>;5\Q M3-H]AC7,A$/:R]E1*E+IM;[4F3?#,^>)94UF&UT*D5+/?VM:O6:9M]BY\GQM M:3DRAPI,$4I;M'20]%VZ9!)&=A1?H7B)15X$O:J=B_9;:SM6(2;(,LPFI9QJ M'=%5:T"9R4U44RC#*CA@HMO&IA5\60,G6JKB &O%NQ?::9-Q)@8"3$!T)<\. MM<8X$EE/E3+=BZ+1X42%>F#\%YTQ,F)3*XLNO#>8I R.LUNU[(QEAF\#WMST:3Z]Y_9%W^ MW]>P6O&N@^V-%)?)*V6.+6RV0CZTDW;N6.D3XH2+_+WR79D;YSF](Y8FQ=OB M"CVM]*Z'Z0I0D"Y7F6MIDEOGP*M&M=E5.=3VT^=O7S[ BBBVHF5*RJ>S MZ]QW6:+DW;N../!=']%U/7;\0,_/^/'T[/2LYF>\N[KJW_Z1WM$??;\>78X& M_>M9KS\83.ZN9Z/K[[V;R7@T& VGO?_8=/;J850]"K!3W,TJJ7P*05#CV+R/ M4C# =G4"6C4>0=U%!$#<$!=?JU+KJRP^DS/#=:T+0Q @=LC$EHWU&N//\R;@60.;2'QB M?I,D1F2*Y_&C0U %ERK3DDY=*&;6GD.BSA8Q#-$5J/P 677 MD%-_IO#<1:_R<86QZ*(")LF^]X!([$=4U3;' @*I\0H>5U@(#P$P:0@?P;Z+ MT#P)QOY<)!ZMFL>58T<+$C !BGU(2@GJ53VN=#=ZF(#)<+1:.SY)I^SY&(>+ ME/S,#_@;"KQ+3.Z$LZ1FW>/*+J()"I@8OV/L/?H!._ZNZ-X.CT"*>E6/*X^( M'J9CBG0(:)XV46K MKNTC'5-M+K_YH@71OAPY*JO(52*M 2O KM&*N ,%4$J,.+.YM%@#]A(H2_P@ MA?7"Y%2:^3^R%_$^@E_N]I0=%RH <6ZFZQKE\I@T52VP"UM=6TOR4^&R+[!I MLEX'OJG E+6@G-\:"DR)RU;D"8MTW"@3+[1?5 A6I*#:N!#A !#]PV),)_,2 M<=QE2E$6@"$AUZA<#!(,+T4:8,V%AA+BXFI7:&[X%*82.:/_I5)AW_PY]<-% M@*1;6DDYVZN\EF(Q[DLP=,+FE+Q\K>(L!Z)"EI8#00B'>CD0X6CW4$O Y((F MY+USIQA580 SOEQIMIR6@#@BCI=GOS,X/L^F4N "ZT0PHW!!G-653P&/0C>] MVR6%;4_P>EJVE80$23>KZ7,8HJQUH\EY6V'?9JR'89E$,Q^P(% 1U6;\4,KI:P'7MJR-0J^8=BY&_H,4!Q M?..X/QSB#5G(*QTM$4OP^MN:$B!FL&Y-VR&EAHS7A=7)VJD2@54^\]9',W7: M,;USSHY1B!^PF+7EWVV'V1KJ<)GXU^O(]5VE(.QBWY]5JRY%;OQ_=' M?BTY!P! M"OS1I>2P9];;8V^8T5UV=E%>Q>HU5#D9^4OYQKM35L-W1-I%\X M"W2F*]92%=L^@99$7,+4C8-R<\]W>RPS?'(18B^YEH+F6A7M>V)V$-(VMBZ%Q+!7N+&6Z*NG#"9 M.RY[$=L[?\XI4\I+LQ7;OHRFHM.$>4QWAM+4[PG#0+_LAU[V#.72(0OSS.GU M%QI-K@^5*.DYH==+:>EMB+&;6WV;0+_*K\WKXMF+'K+$ZR8M6(F0+U#%:,F> ME4#D019=K:P%Z\[1'F(LA\DKT-K?A+ 0NPHZ:4"OI#P ;X>A&!<#>T%2 M*OL=/L)QG!Q"PWJ 1&'&A;2Z%UA:=N^%VW=+,I*B,:^6%+CH01# MG3N=6QS*CMU(,&(X]B5S[@1,5:9+A'1>?Q$7AW5]JZ%Q(88)4V+2!4M6 9!= MH=)$E7S@6!0M2@B\3=&.U YC30A<+G3?31+DY>^,Y/OLL>_<^P'EI."9%L.Z M4$P(M3)NW2OZX.R/,8DM6_,?Z>^3QU .?4S@\1\7U%CW[!P#"4:ES/?%&XGR M\E#L1%,Y:D#KQ"V=3P6;+07+%>F'Z=QQCD+*SEHJ6^U:4(YU]I*,#D 8#N=- M%@GZA;-8$+38/GZP MO(K-U-_G240U,HKR9,J2_9FB#BP/L(Z0N*G"^>" A:!LB),:_I4R@'9C6LI7 M?M6O!.78A5'>D0!\#*J9@+CP.KE:,F9FS.;H85\OQD-?7_A;Q<7U"D9+]);2@6MUP>)H@.%O*1W >^.Z6V&Y;< M#.>5@F([RWG,HQQ ^.TF8&1"IM3&]UU1/#^_&"SOMJ[A),9C503,L[2A)A(F MJY"4!6 FJ12JPGT>BB,6 5CCJ+%8N,@.%D6+8W2/\0]&QA5.?:S/X@5!5MJV M,:2E6;LP60F23KQ;%RCZ$>.UQ,]?+6';NC%C<)7Z3IB:ORHJ,24_KH7MB33;VBHK8O+AO.P2(879W?T"TM[4=QF%TM9/L!'S,> M:R($U!7LQLCH NK MZ 26>PZ.]%ZH(F/^\,D-$G8)C[TG1/_S9LZ3,#1DCY9L[PV:Z,->@$&=<.=D M;^*<#.])O:\_L[0[VLZ;[N5MV[WV5'DHF7^&52D$)/KQF"**5>=MKT'# /RO MKT'#VM&T7^&X9P\9-/SUL+[:UZ#AQD'#P'8%XHNY?Q^E/PI$IUD7B@6O)U=-4,"&FY3J04*(^,%;O:I0YDXC?=66ZQ8F M-+$N68JP4=AHE)JU8?O8R'"TFH&#)EX9U?L,5T#C=!_-U1ZO'7FBY<1[#\R* MNW&>T\#06^0B]C8ZST3=KQTHZ^;>HFR O1/QSG#L!"1S=!'DXD7((A89^'L< M+ZF=?8\6?ACZX>(^L]B=T'.SE6*-*(&>'[H$.1&B_]^@# 2CMX/^H$S']\->U?#_O3N=G@UO)ZQ3%3;7D_FF)RP?GN%CNU>,D+W\111V:;; MW"I[I'>-=&I:6.XO_9!JK.\$HY#=CF,LEKANA:5A>6X-Q%1O=+99C+G4!RQ1"41_R=YEJ-6NP#D,5:H>"GY4:L\>%4;PR[*_MUO M\-S8EE2)RQ?[VG6%0_1\Y9 ?*+X41GBI"D/9'!YBJ!3U083?OACOIC.2&GW/ MNS53*DI9!2@;Q$.+4\8#^R(]]A-Y4;S+?G;=ZS']ZS$]" F5UO%/IS]%;J\< MIGU!#IQHR0+AZ?^&_TS\!SIET"E>NM+)JT Q7?3.[O4PV1?3=(E)S/+L%)P^ M4B')*D Q1\Q$)$,$0$#;C&/5%7BW-H]5$19F;5@.OM@'<"D&6\=N.=)@C2J: M"M85U63F+6?YMLZ=2&B"FC<#96@WU@YSZ,".C!4 7#=9)6DJPN\$1]%=2#=. M 4/TG3+Y',TQ0>+X_);:AG(0=6AET>4'< W:(2KCTU02<77;-V,/I@=BR,!$ M729O>^QX_KS]^)N/"&7J\GF,'E P9&>*D4^1COU(%$_4M%';%WH/9&F8,P+& M8?1WC+U'/TW;E(86C\+8"1>,2G8K*8X&#B'/[([2BF79FLSS\F:'TA_KA]+? M)Y.+OX_&XU[_^J(WF?TVO.V-KF?]Z^^C\_&PUY].A^D)==Y_+R. I<#,20#R M3E).CMZ;2)72'26F&> PPH'OI9NA5*,%"9I$!6$=.BN8GR>B$8&QDQRH3HTP M-Y"X* "WHUJ?Q/RWFYZI!0F4_6UGG[]]^0+#K=A<*EQH]HV8"9T='/:.7YZ" M4_ZXC:BT;0>BCOZ5GK41 ;$OD9>3.EGI9A N+YJXCCU1+X@%QTCO?I:LR9_> MPPO9:3%K<@[O-6OR:];DUZS)G69-5HI 4AB,[U<[A_)!1T#C-2*W/VJ.J,HZ MP2EG]QQ/2#C_/:6*G263PK$ M22A.N#W5O10^SL,'3%HSXGB(P9"+JEX,RF:W!3G5P0$34JY(J=U+R8B6ON!] M%JT:4':\+0XQ+D[[@I,@5+D$]:K:]1*:P.,[#M56]$OP)8["C6CX2+>)Q!4^ M$O-FCF"2EBJ*.6)@7J^^^\^$^>DD#/@[\A=+YFIY0.Q%G[L(S9-@[,]%[H%F M31[!W"_5B&;H@6F'&(12"_2J0O&E[BMM/91'(]5(=IBDK@8E]+Y]:48P3Z$D M! M\Y.:R%39D^T6O TI;B/EXY'^-1!=L5)5LOR)V0+FF^(#)L*A@DWF58I&- MI:AD^T6RQE:4 A^,P\PQ2P0:I?^R&[V[,\TY)JL]CB2_U&\QC8?]Z9 =.J:] M]%@WZ0ECVE&OT)/5(\4QBR7+V'&!(I?XJ3!D9XC2&IU=UTCHOIRL'1(_,R^. M\,H2KQBL8S\- >RN9_#@V+DPL CH5H)RW MF:[<"EC M)_ER+X,\.-VUNR[L?^09>%+@:N>.=6O;WL5T=?2:BYQ38# 1%M> M"//''K66_5UAVT+;6T_%)L$.'&B!5<+A;A'C5OXC6U+/M$2ITXQMDV*_D6F. M\YCDS8Z[F:/YUHG1#2*N^"5Q\V9LVS$'D#<7)Z1PB,LDSC_G$Y!I%$3M8O8V M"B)K?!,,D3?_&OKP&OKP&OKP&OKP(D16#@CX^OG;EX\_1>C#!NEKZ,-KZ,-K MZ,-KZ,-KZ(/>\3D=T%LK.U'YL,R:L#TT6S]H%P$%MEO.\ IB!0H KJFZSAY1 M\("NJ.XNY:-[G^9LKWI--+\^&^S#@2/5C#^00V:/N*%";%N!,A%TI0=;X,3J1:5Q(_+DG?A=[F, AYPR>7%LW>L-M'[.*VH(2G'%0' MQ/"!*<2Q!M$+[H _B2.^M7./030C1#5?@UH-B4[=WEZ6( M[CCD.-A'B -K$FQ^[4(7VE&);_LTV/:.CQ/WMY._CZZ_3^T^XI#<4^E3 M,5"#=0M1^FB#I(*%T?R[0WS6.0MCD[S$4"\&*_A(+8;B^*JCL3^M%FF2)L;G M%0007:12*!'_#QQ*U(T$2B$TGT\_?_OZ'D:P4#.I<&$=*EZE'\2(L %\SO8B M]/_BT!5A42A+OEB5MB$K0@SV!\(-H>HEE("PE&WFZVA14=]K "Q%,SKA0A3W M6_C-TGHK. +66V\K$"SREZO)M5\!+*-^&4Y@'DD>\<.GM4^R MU+^4"Z*;JUHUH1SPM"/5&KPC$.9FQ6@R:,5-0#G[:4>\8IS Y'R![N-1&-'% M@2T:(W;+ T7I;=K4O^UM[M0Z"Y$CU:0!**=#YC(V00E,PK=LEF%)XSV* 7DA MBJ(9OD8Q54D_=@+1G*RN!B4:RER::FS 9'A#L(N0%UU2X Q9E,\W0J>0L#R4 M^"5SJ4E 1-7<4706!SAQ!\U6_Q RR%?F;<)0IJ8,;)&.I?EMT,:,C*D,$ZU MIS%V?RQQ0'D1#?^94'KZH3==.B3U/7L#O%JC,$I-[6N',)O[ 1F=?9^=UL^^ MI[/)X+]_FXPOAK?3?^\-_W8WFOW1ZU]?]*:_]6^')^?]Z?"B-YA5=F$X'8?W2()SU8;Z]]*QD:*3V[ M"]!TR5D09R4YD9=5 '8VW[;@R_D>Q6RPOP[PJ9,>+LNK #BAT-=8M9S@'/ZW M+*GRX<&'S]^^?(%Q^M&^]+A0#Q4DP"[\:FO]H[**+J=WDG#FA5U M;)L%78RITHFEG!W !'ZS=,(8KU+@*:DWTSM^"DRM&F#BN3H2MI09T$2]02.Q M,,M%+!F8HFB?0QJ89>! !2==QP';=#S%XS$?J#&V!_O+2_TG> :0F4BX<-J5 MDLA[S9;04<@"MOP'Q*B:/=+/S_\/$3Q%#RB4N*]UJT(Q4,2KC1D>2X*A94Y- MI%$L#\5L,!9!$40G3[@-5^L /Z,LE.(F/[V@E(A9KZP")5Q;P7TE#F#KAM), M$5DI8]5%FA8:MGS9IC76E#;M[5F(,E4ZELL\-[091,AF'YK"C?I)O*3 _E5[ MLEFW$I29^C :I$(/+&BR3.Z-0R8DBW'_W0D2]L96BD!+TN+*4%:'+B0NY@)H MR6>*.DGB*'9"SP\7!H.[5 O,S9[.1G<)/C AIV36(XZV\U&6Z%-T*T2[-IBK M/HY[L/K5P%PS:E6(^O@A M#UK*B14.LVE&9Z26RX.Y='3XX5D&#EJD#B'/[.J4$PD/QV05NO[5HEN'6P/6=+)"[PT[/5Y!9,4]RFC>:/=Z MT8D;K2WV0)M2]D5TG3 A;-S1:M_K ?KI7M$Z]=X=@&,O5/<>'#]@1QN7F'RG M=46Y#@[77?>:V*EO\7",@ZB0]VJ@][7I?6LE^"[+79#M#5*O.W>OW$6'W2ME MM[[/ [(.F%H62-RD!LH&U"V*$'E 'AU/ETF<$#2*HL0)7=&IV![M=*]$G?I6 M]^ (,-W(PG8H="021I4(HR_V;:U[/>G4,;LW7Z!IR[[< MR3+:[%+/19-XBT:^% 5.__D= M1?%V\ I]8JUVT;TB=NH2;Y=9+T79#$?9WQ%[:Q%Y_0=$G 5*?V3I>"\=GZ2G M@):G4PWZN@^=Z_2, !"G?YHQPB8'Y.6,_4'R+7+P(F6-VUU)6J\T5-HB9W\6G<]&_"4FFZ]8.9%%WC41W6MWIP=+7;,3F$KO[3A6KF;; M!'NC,"9^&/ENNI!M6=GV(4 +!'6OZMV?7%EB[=&EI;[P'WP/A3D?S%YF/CL] M?=]&=NJV^ M(\U140@NV@';7+H?.-'RQO%%+@&]JN 6 !T9ZT$#YC.J(F1GKH M7-);=WI:)PL<"SV6C+A/FW^@54V=U!];>4(Q)ZN7TM5+">LYH==CI/5RVEX? M6 3[P.+Q/$EBXQG%UR=)#MH5(&__ZY,D+T"CRH[_SY^_??D,ZR3#_I,D.5> M*=[KDR1[C:GC?9*DO3"7U[S)>A% KWF3NPG7W^Z);G$07&+"*G4>IL\G HJ? M_-BB\_GX<"J"<@+]DC>>P_:=1^BWW ME3?J06Q7S:@\^N7"]G[6C-VO@\9^0A(3TGZB;?(^LQNTL?83#;#7M#_'NTF' M.]1>4PCI[?G@C3=C^H[>\GL)X\U8:C_->-OL.!."(GB#S8RXG\A! 7>DF8GL MZ**;TZ*LS(,34/AIZ(II//.G-N*9LRCF'25I&+/=S!NOXJ0@;I?X25B 1"^O.$*,,6[H:9:C%1=+@96F-HW']A8-M$KZ7DJ72ZLX1/[R)Z[RV?Z[0V5 MBIHU;>SH_<)K,V;)@^.2L_# E2.:AF\P3'?U+[ M%9;G1,G+[<@I8FC7FI2RE+M_Y/P.P(T@4(0*!P^SZV^!A^4MXC4IEKD'Z+H5K)MI!KJYL[5HX;6C5=O1P>U_5C.2SUY M5 O;-G!;D$,54N?\9[:B@01JQ6T;Q6W(H :J:RDP"U-?"+72M@WI%F10P]2Y M"/P'@W%0*PTE)W$3$50Q=2B"<_2,L^S'C J5"/BEH604WD\$?$R=B. :IR2D M&RXQZWFE.F?YEW98SL,"[!+!=C?<3^)E2AC#(]GGRRI8VN@+EFJCC;X,%K"M M(I]4Z3Y17@70'E^MCFJA =WAMRRV\G;WC&YWO\#:V[O M*S-M8.#$5U^BQXI 4T4=NS&D6H"X\U[=2'D)X9X7:(X(-9F9"D<1BJ,)->,H MR' QQE%4-*.C:7+_#^3&LX+-+-" IHV"&]VZRM(4.+"]APDGZYHZZ7HQ[._IZ6P+S:F#R=F7D9*12^@IHSI\W/VIFZ-)OJ:T9)R)Q 2W] M:X>4_O'G (<1#GPOI2$=0IS(!UE!6'=*&PB-31DRH =:$8SEPSTOEQ<%$-Z@ MUC4Q_W,81RN!\O']I\_?OGR$$:G07"I<:/:-I]IB)ST-%Y:V';F@HW]<3VL5 MB'V)##"A,S&U7:YQN*%.*A-)>=NGEZ92D4"Q+Y?4XMVHU=$CXCJV M#Q--Y:. 8U]&ZA.)\IM?IZMIED'UHW4AF:;)F9@H3\;XN19*LME M !AR1CI9$DX9RK$+ ZQ-UXZ N/ ZB3@=.V2!^J[+/*,R0T%5V+;M)M6L[1&/ M!$ W\;TK)PCZH7>%/#]939F/+->7K6M)$O)K4-NVU:8G#Q-$!TORD=P'OCM% M+JT@2?/!*67;\M+C,8]RF,L!SPRI^9KYJX2BJN5$KP;P!*E<]>VTEQ#%F[VA M/IGOW-7Y:BK0 ED%8#.AL1;(L $[1,M)K3E&%&+CE I;>Y>C?1S%Q7%&$@;(6E C9?06H! A,C!OZ+BGX 9W?&8U_]^/E M((EBO$)D^.0&B4?QLX@(^A\[FQ6(=J^6H-C_FMI>(%)?SO-9.?L+/17 M,8"E-: $/^\[>*7@X(M.7V1P!IZ&!BHD!$\R+%7\-0YQF59YV(^J$A1SU%1> M"EC 1+<#E4_K?IA0JC>H<1B=(SJ5%).L#Y\H>,HS/W3(0),XR1+E?GBO&]C4.ZW[.WQV!,W,%VX0&N"7#\+ M#PR]_HJA^5?VIV);I5,3RI+?3.7+5V$T8!^/D,V%"T>H!KJK*4%PDLMN6RE& M8K40E&MF^TZM53P@92*5!9PQPE>@.K?!B?L\D$EM*#:_6 3&D$!=[RA,G'1G MXB+F^6-_W/K1#]/+&N]%ES5&UY>3VZO\O?12/SW6T>N=BX[#8BN"/G\^1Z&[ M7#GDAR2Z3UWM1=W+T(=M?T6KTYA3* TN4U<#%/RGJ[5RV54!OEC9E8/IOG[^ M]N4]K%C!0\B3"]J^B!5G:]*X=\VZ4#8%NMILH[*SY[4L;[.TQHN, MAY^3E,_B-5)6 =;;!BTM MD3+ 4.4GG6#E50 MBVK=5,L)SLZQ94F!7PO;DQX7*E2!7F*"_(7\=K1632A+ MH([>JB59 6L*: K0OS0T<*W/%1^Q7 8L35 MFQ)CN[3LVF)M84K]>'H*Z-5;779S 0"0P)7SY*^2E5 &E=]M3_("IB"O B6B9%]-D*,#$MFPT=:1OTN*&WI_ M2YS GS^S&TQ9Y@/#7)2?.+DH![\-+^[&P]YH1/_ZO3^^RT(<6&[*O]WUQZ/+ M/T;7WWO]P6!R=SV;MA_EH%@Y%/"W4'@Q#7O4!Y$H.DKSE4:(/*!(<3:C6QE& M5,/> I5GB>9#!K8LR\F6.CSTJ@+8%>RGTOK"!7J:_9ENTK'1UI@!#_46G$ M!?*2U-.RWRZZ6-UV+J2.Y%Z$O*]#;/,U^^?>B=!?_S]02P,$% @ \8%G M6 .4^VSV?P ($X' !4 !C;GAN+3(P,C,Q,C,Q7VQA8BYX;6SLO6N3Y+:. M(/I](_8_\'IW8]H16;;;/H^Q8V8VZM4^%5/=55-5[;-G'3,WWWWSS^CDY-\8B;.H(BA% MCABM[[]Y+WXX;Z@5^4_HAV__].WWWWW_!_3GG_[XYY]^^!.Z_2C /A+&5JD% M+DOSWWZB_]^2C(:(?'GUTTN5_NM7Z[K>_O3MM\_/S]\\__!-43X2]._>?_M_ M/E[?QVN\B4[2O*JC/,9?(0+_4\7^>%W$43]]R<_O/_FI4J^XBPZT/]*"$/_H!+G_8\__O@M^U6 #B ME,FO2=TB MR,!__);_^-6__3>$^!R718;O\ JQ$7^J7[?X7[^JTLTVH_38W]8E7JF'S\KR M6XK_;8X?Z9>GD_(CG93W?Z*3\C^:/S\0S<37T1)G7R$*_OGN2BO.CSV",N:W M1^7Y%I=ID5SFR2B^][$A>+^OH[(^@'L9_[C\CV(:A-.'HHZR<9HM84H\9_0O MU^1?/:[Q2XWS!">";TK(X!#8.,R!4,(MZ2+N$2R1X]"O#^'^!582X M,WQ5XTWE)J4$'HRJ#$0PJ$L+&X+*[#'CJ#84"S$T$-UY(!0-XO&?875#9G%? M%^AO8-^^&US_K2F,]KM.PF4MQ>WSL3JC"I[F^2[*[O"V*%5QC1H,5B55+.^K MI@P#IJ)#)DPQ#X5%'!C$%Y517J74+5J580@*[*,TK _\U1X^ ML?R09OC3;K/$I4*D(0B,$NM8%?J[__O155?-P."S-WMY"H%[N\+E_/BT2OTQ8L2!5W$JBO\484( -PX$FG4SW4!6+(J"A10P!1 M"L=7M(?HY2HA"W6Z2OE]HF6MU,)#*I=%B+Y::8"!%,K(C4Z5"!+J8X&MMJ=) M0B:E:O[G.LWQ>ZVL2EA(O3$PW]<9!2"0OF@YT>E* [D0_T 4!]WD +ZFX>"< M_/.F?"B>C)D7*DE'1BLCNSS8=40BD!7)(H"IAUL7;PI;\OB*ZN-.2QQI-*3_,U!RAX+%-K=#^NWXJ1V#P0=? MFBTA%.;H'Y;F0V:WZR+7G_8-06 ^L(Y5\9'W?S_ZAU8S,/C8# PQ.(#]QSV. M=R51M_??+Q_26IFQ,P2!^> Z5L4'W__]Z!]OFV6ADF3O=YCOK612?.S>CT?_THK1AY^9PR .!&'3ER_QFG"$ M-2?X:C!8VU:QO&_?,@R8C0^9&"B $4"%N@4_*\XR_X])[O1>QQ59)5)KJIJ M9SBWR M.BK936RIRC[5P$$:@(;ION+O 0$IO)(+G6*TP(A#@ZOW/-S/ILSGN[+$>-5/1(SB M.GW"%U$=-8P9;J#5X+"7^R81]F_U5;!@U_EZ9O3W^"T.36F+A"K!I+:5YU&- M'XOR52OC'A1T@MN X6&.6PL"F.:VQX,ITZU$ A;<$T[/^6S*>[^)LNQL5Z4Y MKO2+_AX4I/(J&>XK;P\$2'D5/.A4@($B 7M\%;C31]<7&RD!=KLX_W*$& TDHB.) O&7YD.;W]::^ M+,NB/"](H!8;M,8%"?:5BUV<_2@RP]R\VEO2O20AFE,=IE/&D$_8W1@9U M= !"F37.,MORU0<"#604[.[%,1($5!@S8$$;Q5!(B 6)CW^[6V9I_"$K(OV> MO0<#^>D5S/:_O 0 ].$''.B^.P=$#!)\XS4MU_,=N1:;#7VW4,2_W:\C,A M2A]#BEGW3(+O#^0OIAI' TCHW9&2\>&6J <&N ]2\&':_'3JP1 "J 4PFPBS MJSKT!J.&2P M5<+NI^.KX/[8PV_:W!P=.]V\&?=#6FZN$CWGXG?0K]IG47+!+T '03H)]YG=.\CBY^A/G-_?.V'%F#3?>E55"T9J[OJY#&* MMOQSXZRNQ%^Z[][\X3_;B\*;57M[>%OP&HN:,N]^J,?7E#&B417RP3NJ;ODS M-CQ#*_*JR-*$=6LYBS+:+H5>#>)ZPDW70?JG*BNO PI IP:EY-40L'IB*A_? M90C8:L;/&\_.Q/1QE?=:4_#>!!B $@_85BKR-4AY>QL;)MVX=JAF?V2MMG%_ M%E5I1=^.;PD?!-X<&DS"_!,NE\5$[%]6=;IAB\MJ5^]*C*(-?3?R#Y[=AE^V M.*\FW+*,,=;3JB*KG26FV0>",U(UN[*!]B% C%/%PC#@94#H5P$&;9-N3-_? M7S[<@QN@$Z^LLQ2*&.A/(1A9G&5 1XFO+(R M-(RR&A34X2P0P5I8'\(?*=@Z0*12$BG' L6L6J;,'R[R 6.V1@^ A3@#"[!#9'#WY37 6AK'&QP0_1"Y8,3RN<$A92 M?0W,]_58 0BDT%I.%)I"81$#[JT_82P](T2IF2B=MX;5_=L2;Z,TN>3'V62+ M=5.O<=D[OM"([H0)9Q<>@LE6XH &8C/.? W4KL%$#2K;"3-DM'=Z!FQ*ATO8 MW,E43,2"B1@W9VO\)#F@@V27<\-@#HZM!\;P!\5N!\30X;T#Q_SF(R2]O2V+ M+2[KUUO"9TWLDA[ ;>FI@CZV-Z- +@IV4?JK@1X>:!FP,:3PCAQE@1@2_@:AU?_#!MQ8_ ZMI&%S:EA\+EV010DN>*@U] MY%83OM)EQLV\(HQ=OL39CE;ZL-B2&RKD@9R[:/WS.3L>T'&=*V.*(R^!VAXV M4!5\U^(C0>!K\(.\"80,(6;K#DT^$5TU'C9H8 %C-!/SO=A,!0@3D^DY&<9B MO5.W#APZ /,6(82(BS-L/&B!/S_3'YP!GI@9C\J@K_)-',I)P4&^=6OX61('RK>U>G9U?75P]7E/3K]=('N'V[.__TO-]<7EW?W_X0N M_^/SU&MJ&W'+Q)80 7Q5XBR,DD!"A7],TZ6JW MT2M-?G!+ MT'AD__5+.O2OSL0X*F?*I8T><3-M"AI >,$V++H6%U_G*SS8I7 MC.]P1M^3#JU8([(#'IPE. LE&X45"<0^'+D:OA!N\$Y*CHA4JP>PV8R5C5A0 MN2,B$0,B TW8$GKDHD&9Z8>,["A"^I/>;[C@@BXI[L+MK3!V1*@%QY4SK>+M M[U_XR9/T5_CUZ& 9%0EKV=$$='B+ "4@T/[,.>H.:S_FM@\+9/_EL>\"UG]G MWOL9>\'H]P5>8<)2TJ:H2P+I,_>L6'":[RB0; 86%!";<.)I6&.ZP4+=@XA^ MN F?QW>@8*GT/"*DO#/%E [5?\:*=UWDC_Q5>U^F"2N2CTZWD/V<4\Z%!@$X\<(H MQB#[0@D-EX)A8$>3Q-!?/8,Q_W'"!!-UV@]D CEVL1RN0!^AV/?8QSL*\=@I M&;=(+AP?J-_XRPC_)-(93NNZ3)>[FE[RH+I MU%8 M-[:32 E=$J[KZ6BL_C8 RSTIF&Y5]-M#P:F?)N2"46M<[DY)H-0M]E32 ?KZ0,\%$;C#!HA?]9;(?%=!\C#$"[V5F^)" RM'PYU%UT=\:'C^)ZM$1MU7O**FO^>._ M8D4OKZ!7O,FE;^H-]:3G5UJP]OM0XJC:E:]L&>'LTB;"++IZ6!! M;,S,S/"4K $7VR2.L9BU />/7(HO T.V@,) #PL,/!N===;:L[_=EGOB="&K; M)YGK-$S(\GT=E?7;8=IZ(>',+K^74"E0,+=HRL=Q]HL8#5H0]VU&D7S>9T+? MS!F8,XC[ M#9M@FBL/'1KT+8B9+\N] D%&18DX.@^;$2& &(5P+DH.DK&]-@G&M!COU6E[ M:6.?@"%&$*:D$T1C0OO@T*:CYL>B3AP)=5CAF,DH>097B(&9";^T=15>0 =D M'GT!C*;!0<,P"YD7)Y,XSOVZTY;13QC1"OU=FC?6,/-5B.,>,G I_#V3ATHU M7BDU:Q2,1[KILB9<)>^A!.2;%*(8'90$'X:7&C#DZ*HDO-"LQ%>DQE0*!XF@ M[D^X8.XGY (^J!N4OA"6*Q0.',H=BLR-]1*% Q_E]N3693'WE4HDXR; MR/Q+HTH\ZSK_E@1T]6JCE;"2G1KXXRM?,4X?'TOV[857+O&6L+6.*N@HAE_1 MLS.4C;VRFA8:NFV;5H!AX[8!*&#K-@TOBI4]KXHL3=AQ7(M4T120JP!2(^[P M$\YW^ /Y,(13)LA?TWI]OB-6N\%E6_^95O(D_Y?HTYM&48+,(QPM>#^QT)L, M4*;A2#X5N7F,$J+3B00M]$R((4%M@;KBYH)@ E/T\T!S>&JH@SZ#==Y4=4W M*UJ:G5U=X?(IC7%U7V3ZPS4] N0>UB9&?P>K@P;:OYK942P(%4L 9"C\TK!! M0A0+?.\Z4IP S.'GLJBJV[)8:5/;>Q" ;6B&C/8ZT70_PS2CV1]_V.F%0B . M MWMQ9'9K9G9XZ3,X2RCO31PCLLH(_9UFFS2/*7Q(\WH:]I^ZA)Z')$!4^N\ MQ.NEVSEAPJ3@>; V3,OCR O4H#-WWR<@>M)"/]*=1,Q'20!<;Y M2\[,ZCWY/V9:]"\DL"/#[.)Z5]+HK:G0=TZVZX^#(TH'^.,;D+,0U&:LP+.9 M25+$.[IYC>AS-]]YU1VO;&B18AI ='42JZJ(4[9?9KL*_)+6-*4E2:MM45'M MHOG//.=JNRNK'>WH61=$Z:0K;[3-Z']W39 Y%_0YPHZ5VJ*'ZVF"Z<@$ .5% MN:$5[,BD5.R/RUV5YF0;\,V\AJER/6/GLHJA R@!-J0<671LPX,MLS9/A^&PF:]]U;0I8Q&\-\4 7R7'8%_6W3MSG\S MZ^Q4J"F^5N305DH=QJE:]7-=ZPJG/TE+A@>YNKG*@ B4B,=T(SC0A]0S?K1 YO^689 M#O"F<$9Y=*LPCWVZ*QH^+.K&14LVL%1)652 [(9"8BS@& 1L%ILY"J :P&RV:54*!1O*R_H0JI"( M*DCBJ9LE84L/#MCPS")"K\^9!A:FO9F1F6%7,U%5*Y27DV/YW_)Z/#2WG*4O MZLNH'FM_>8@D%A% K/@LJM+84=8&-AS[[3%O,EX&&(3E2IPXF.T",?C K-@,:A*KW>'%2]@8C,'4WRV'C^2@J_U>< M/JX)%Z=D!8L>\:<=K;]ULQH\W[+$;/YDX(QDK,BR]?C2 #&K<4P.]%2000T= MQ G17('FK8Y$JS7%<,KP3S0-C:R[BK4K8\4>=SPCA"5QA!MX3B3_!)(J4PW9"GZ,>1 MQ78J/I$L>ZXH:2+:T)Q1^ZCV9L7O D[S1%'+W-K>S),*9 GC40+WZQM[D0 J M?CR"1^?WUS02SP\%+_!L4?3)J ,G0DXW08., MR<-)PZ563L6[)L=/92V*UA8+U P4?'?"8TQ:'%Q'#)W4IT]1FE'YR()/7_3> MXWA7\MK(R7_MJIKZ3H=9\9SKR48-SR5-/*$NKFJB(8-R89/*-,:UM0R<$ Y. M[@D+J.,!=4SX.,% /=^\<_TY+W&4L2=ZCU&:5XA,3]2;7#HF<9)/F _%\^+9 M.[WHA?[/_WSW_??Z?+IC%9#]4C=>!0Q2/-_*@*+;K% M+R F:]O8'RKOVPP]CA1K?$G!Q3&BB2\B? ")%Q: T8%[QOB1)G-,0% ;:HD= M^\Q1W][>?JYEP@WB?-$NG.9448\(?99HX\SQ!)$&"N=K L>*2@38^*?EE#-# M#;G(J?F3D0BNE&I=,"0I:E- M[/>K3ZL@@0I,ZUE1U/;BP$A _NBKH>];M-K]DON^( ^RE?(GK]R18;Q77[< M#?W8S?F5]J*:8T)?4Q\L8HP,\$&U&=*;E18XE#9#1IW:ZU4# M?=Q!F.;MZ"Y8R4C>JH>;;IWG)+9-%NU4?1@CP>.4#X_K') M"$) QRFC.1V^::)P3:]+Q*DA3F[!.R@OD"#)MTY($$64*G3IY@EG@I)AG:B* M5?M\BPF\RQ.R9HR:!4CSYYY).POZ<]"1U()S :X3X. $;*1"<@-NO'HY M%G MTF0#4#66YYF- YS!\?K6.;S+FEA'*!IJ>\ UDX'%9/ 9$C^S,N30!VTB::MZ M*#2G/$RF)16'[@K(EH ]Z+W#?]^E55KCI@T,G[8['!>/.:/"EACM>=+ M]QUG2OLGAO.."73H> RA%.>6[;!TI[]WC$FOC(]9G_946_"*4:_34F5Q@@UG#ITDJ09 M$%%F2OPSS?J"K@YD#""G]QD^=(-S&OZ3XKSU?&MNPY?K4=O1M^\X#IXFH^=P MVHD>>R-VA]E-S$/Q$+W0%K0T<9#,!Q%5U ?LAV/V^,Z?8A#;I[$3H=D9^9*# MWO2,X]>XGVE(TGT-+40N465%''3[&?!L\^EGI:DU0GO(K7&6,/%9+7^TI;N\ M]C0KHJX&^/:J=_7&(JG3F.S 2BIH57_$];K0U=]T0PWD0M0BFO9N5(,'?TUJ M9,QP8TIQV^!?X"\0ZZ;,28!;Y %RWN'V '3_[)A984,9^'CD $;WU*V\UN>>$3%@U M*ZBWXEX\SULE*] ",5/,D*HDEESH!?K OWTN3'W=AZQXKMQ?=2M0 G@Y:Q!% M\X9[ _]=%O#D'/-1_IDFY! C 9X-SC*RBWM39?@Y.SU,PD9K_*VW_9I7).5 ME!5=,NO=&$*@?>5&BKW7?,Z3"HCFCF53V<&.*:X@A99DV_29MV#X&G6MXSN* M"TW?UV#J+DXV.9U%\TZ/8GIVIND!;MU I%ZEM:$1I P 9ZU#-F4K['X%L:[] MX956LQ=ZD?_,=NPN1!=XP;1 MAF+DZPA%/?J99S1=+$\3C/,&("'KG9!>N>N>G"8 MHU<;/XHN%QW& I'_RC +#*(\03+Z@H8&1 N371Q 9O=A0D,"" M#YU]!=I;F^(2)VF-,K+ZL2O_"I=/T&\8?+($PTL =,_M"RAMSS_W['AI=L[O M0[UDF/,93YR_Y$ROWY/_8[I-_T+6M14N2QI2T@CP(7JYY&.=X1R3'3"WS$$R MBQ_J\?5^C&C4"GSP9K.)I(AWU!>J7(P_@T-GNZ&NF![-)PV=-OR/7H2JH7=+ M3NQKVG2,UHZBT3_QS0WHNXSMO>ALH[@[]RS:<\\%A6R.?II"./3>":]6.*Y1 MU#I\5GPX*;:BGVV.G\DF@ZT6%)5U3(O*Y)MY[5CEAB:8:H$M=JPT/_A23'!# M@I:N;J@ ^:HI!>TT";H\S55;OKHIHBU%W[0S7\5T3..V79'A5G0_\>05W@T3 M9,7W86U8/*%%;LQMT=M.4NI)UD].J_#>8IWD MB.B=(/$U+<#1790T9,*Y)3E89*EM!#=#=AZ;I=$RS4*XS!@** [,[G",TR=Z M5^X\-RK4D&Q1+YK9"H=X@=B?CC%7RQ/XJ", OA8>(&4K3FD7!\BZ:/B=DX%2 M;:$("TY(]J00QFQ($D(@%C3@R-5T),0 3<9%+#O_!QSN#EFZ+3%]B]T<[K2' M/9U15Z=Y4^]Z5[)VRVR]5)T834@A1YNQV3Z78-!3\>4PS#8%NTRF/-%/6X)2]L4,* M8HP"6G;G*M1 AL#;\[['0UH0YU&6"Y57N0G81N>V,S<1J^C-N$M7DC& MIA'*;?O=( 5B8$JNO#?>#79PQUQNTK5B;"UBP-E0N2/.I#MN$VMV>XPG_>8S M.5YD [/ $5-B-5 /FN'8KS?3'N9-:2.)@!3W=N?=TN\A>H##YT=,A"+LS1QD M#^QYKF;N? B\A>>X*J-WQP[\^>UTSVYGMMBBCC*3Q4XBLM-[FR#-D^>Q3/!Z MWD@H.'-U$-O!; U40C)?*YN^9MP2_ )>S_M/CO1ZOGDPKYP0Z/?RT:OH8L'K ML=W3Q+('7&ZZU#7M4R$W7, W0S["]1X/N2#"O")RYVQX*MK@LLXL'!LQ]!.* MCZX<\@B/=>ATD)A-G<"*%P^:X8M;/7]MB]%@4"=\E5KP;$?^/O* OQ6N!-D62K@@_G-5RG_.JF0PZYF,9;2H&L]UF#4K%!J"CE;1-U([N[IE$*8D5 M*".$W24F9#(B>H;9FRF"P':USRF!WD3E;[BIR\[^2DL%4 )_WT59NGIE]&.> M/M8D4T-=%4ZF0BI/+F@M>+[MHDNX7; /)TC"WOQ--P6RE\<"CTG:?FS:ML(F M];'>8<<8)]4'XCT5.<=$6EMZO!<%T%?:OH+N/=IV18=ZP^W'G^I)-Z/ 7]11 M&G*J?&N[5(WG3ICW>.<]J=!5(S2VRG=TV[Q.5_@JKW8E;/#YR]LX M+SSLG##P\\'IS@7#/-[W$YEMZL0F+&V%#/QH_T.:$[O"A!+(* M(?0!K 0<0. ZX,8:L.;\;(/C!+0'])=%.H1?%F59/!,[ 5X,[_"V.8FZ6;D8 MAP$>SCBL0LC&H04&,0X+-ZJ65^+,D]C$<8S#_;IJM#1[5U2A6(EM@1:,:V& TW\Y_VQ1. MK#_A;#F8A=(; I<#=!DXC,W&D'WM154+";[-V&?%=OW$6H8R^(#V%U8AKJIJ MQT[Q:?#$1-CE"2[1Y6:;%:\8"[G$,D!IA>'X??NO6_R#/SGX)63L%*C6F7'M M[($6HW',ZE>LAAY- :&/OB62++ [YAW9WXB]^[. M5JV0H=R=40'I_Z.9+D]1QOU759=I3%P8_>$T3_I_D"!O<9D6R?#-7U,V^_(E M9F7K[H@[O&1ELS43?6PFX%P$S'3+;N:X'("X*@@1E5=IO!\[DJ@O4#^YK7F\TKT?9,IN_S(V[K+EF1^D8%H@>0=(-&&/M&.+?UU%9!S0! M2_R8YJQW"IF&5QR5\,Z2)JC0*DWDGUT>6YXHXG+:AR KJEV)+9E?AY.%=9E3 M3,F^USR$)ICC/)QI?5(4Z^?(+*1+]*1&H]JZHHY\.'EB,TW0)UH$S6U:@#/' MFF+KK!ACDM9$M.J*5WM+SG;UIZ+^&ZYOHW2_69@_.J0W\!.Q;_5NN$#6[<.< MPHIY3P 9'PD":+FKB7'79(&K$24";J@'R2K*)37O!7G9I(;.'"_$F_'(IBRM M:''3F_RAR4YH'S/N">J.!O0&W$.D]M&W P[<*V]GY@;:]&%'%:?_LIL^M8[X M"V3,*+*:QJDPIR)'(J^E4B2K\&?,Z^@)HR+F*% OE\=/BS RCLJNJHC8 KN] MI(6Z@)Y(.NGKTMLE(=W6*MUQFMKNMML,,[W/1'!SE:]HB0#6YMH<]#MC [:] M]1.PUP?7#16F,:X/;\,NLQ(V:J-S)!$()^2>6U+XOC^\GCFN:#SR"1OZ;@T M0>N9:MC>JU"Z!P55!0 :FQ%]OP^GO:MJ 63^XMT9 ) 4ZK M[6+("JZ'!M%U&SN*]7ZSB4AX3;9,]^ECSLI/T88)73MQ00@X[NZ8&\KX@%_J MLTS_E,85&3#J]A*O%W0[8<+$W!ZL#173K(WH5TH ,0K@$?=!,U/02*D M)6(::6&M[4.4EK]$V0YWU[2V"-^, F=5+J+(EF2"![$>.T/#2Q6"@A@.^LC. MU'$ KQQ54U83==9I@W#71.//.D 6=.HX25S!PH*B"!LN ZJ@T/2\EDWP# MJFMS_;Y$ E=>X^+@1R%<];4Y6F?]#6E%F5YRWF%O(#_T!KOK&6T[VU% 0FZ; MM8SW=\@#,*#-L(8/?>/2#@561:Z+**\^%36)J,HHP:+5HB21NWL?20M.S0X2 M7E;$481 5/4 3@?*S&C1'/>:ECQE]"1?*)$,=!688;$.P\^&2'APP2+.(T(O#-+ PH9:1F6$TA>'3XSG+79]U MQI(U[+<@0:N.39RA NDP -7(S))"F2C20NH?SO%"G+H>%Q%RVMUW0/Y1MABJDD7M:]8 M:UOQVH^/QOLTLJ:S*.M&[#KRQEE45>DJ)3A1A6(^/B(_UFP,5C.%_K/$VZ)D M"Q:O;@+^S'.ZV71S$=+^:($:RB&LVK"S KO@7^!E[;R'T@'#+>%F]N6U6@T) MLBB;6!DHT5F4_X;. FD9TN?B+\;]D@8T (VQ^1T*#7,6Y= -U4^4 ML+2_99LU*&D+33=%KL^+JJY866M6BUK4K+;YU .) MK2)-/1,[F#*,)8Y@0L M#U_>T(KFM%0ZB5C^B9VW-D>OO-[[F7N]]^.\@*-<->QR9DGTU-5W%T);W\)Y MDP%\%3=2Y-[[.$\:,"_E1C$YU&B)C$*C>?'^MLI_ 'N"J>5_6Q;=%BIPWAH8 M,0(H;N&V23" PY:[<-XNR'4O@M,AVPI@1@E*BXR>W00?BA[9/%:G2(%>:Q\D M$[1QW)*X$+-.5G3Y.,,Y7J76K8(-"3!UQ$F<7K*($0,F/<2!I8%*M>W(&O@ M^I#)801-]V@X;!AD/==LCMB/!&"!UQ&B]HJ\>N##%'KU9G!8[%5NB<7R=U0J M&U30/8'48=KE)JWY_C]/Z&/K-'_$>>Q5F]V/!JAE^@N[9YKN!*!LTY=#E7$* M&LPV>U3>@+HZ+"1>1 )76-MBXD$A7)5U6%#T.AOH9F%^P8&/8/$CY>M.I!C8 MJOUJP0&/5"TB](Y.-; P1Z1&9H9'@1Q<+EP;ENZX>WLXOW3)9*:LQ@8%592\9%_JLS+/(?_TGKWZS\Q:)6Y8YU5*/R96NHWN_F!J,+HZP00(!3Z U-&U^F!>]:I>K.R*'MC2,O.,7%V= M=#-R>C33]]K&YU61I0ECD15L?;5OVDTHD%MTNRC]#;D>'FC[;6-(L>>44!:\ MXNXK^K7Y7WC[.D"TVS(E.^=MQMLB]0C FLSGBKB*RZI.R>YLT*U+!P1G%FIV M94/H0X"HOHJ%@480(*H*+5C ^CY*'MIXF[X$N2WQ-BKYHD%^;YI#1AFZKPE8 M -7\+$5AW9817R+!EC)V6&K\*(18UMC-9SL5-P[.6"<57:I-#AW95?7-ZCXB M"ZAK7*='@(SJ;&+T8SH=-%!$9V9'$<]5->NH0%$"7M\.$XQ?C^"RCLB*QU^\ ML4QXZ(['K"'\7AMX1]MQPX7M?.XLW'Y[(GEP%1.I_>>$[*O;8J<'A\S!-XO0S[]7PP+EWIN84>2H-^ !V\9( MD<"S9$Z3)Q*3IE6:/[)PU,T:K%B %8S)F'SX$@FSHXV ][MBA-?)Q4T1S$Y^ 5ZAI)0^RB<\Y56YZ'\*H!8.^4IYVF_3OH::B#W5E/R;[R*KA"W0@\/X2.@8H2B5%0-PS]?F>I!P=5L6.?EGS',^N4!N%N5/!L[$QHHLVYPO M#1 C',?D0&4)&=3107U" 1OH1.+32_.\SE[15571\NE=>K0T*?=D(YM$90+] M[KY]6M1;M72X :WU'[4L%\$WU.(%[[ZO]2,"\M1[#HT,D)]XF\Q#YUP>: M&A*0!4\CMOQ>L PYF.W$W8\MSJ(JC8G8%VFV(V*S[^1NQ9[40K#F41.@MFHO M4L#6/8)7H[JK FI&DZE^0S5DNY]B0FCYMEW=/F]:MO(GC?Q8S-*6S%(%'Y.3 MG7OT^%CB1\8S=7[LJ8>3U3OB@I;I=Q=NKQJ_'1&JZ+XK9\/F&#U14%?M(]?*C%[JR(,Q+=DUZ=+'04)="[ MI+&"[]TQ^9*!NGL:QZ?JGD;Q'''!;SK9^M/2"\_6IYL&V?))E)T_\G?'PLK; M'G:O9&$FB'$X03A]NK+W^(4U6RC*^@&7&^D1BV<\/IYP"*'YH=.BCM+'4@4. MV ]C6_EL:F%],Q6>NYAM0GK>@TX+WIN6BE(^(0QNB%<)Y%59-QLBY\7=-R@P M0C!ZK2!J:QZ YNIAA^CNK7Y2@%;FZMR[N''B,HPCN9 R9"'8IXDP,.24;R:_08@N8",:H+Q.BR5;JE+-5C M"-=+3#<]P96AT#ZZ'/U". B[=A?+Z55PH.^!#WH)')ZY'2QG6$]_HPK3W!RG MH%T+#?GDURA _[FO$A3HJ:^!%_6;V 7+_0K/'OQ$D5?>C&*BF*!"&P%]I'RS M924Q\D,HVU:1UGZ#[+)+-H)RPY_YQ_G+SFS MYO?D_YA%T[_TX^%RAY-F,UN)HFQ"UA2;#ZP/IG9\RYYH JAU'TAJ-@M/BGA' M=8L=5$S[Q73U"*/E+HM*F@XE&I00?:?UV.-BLRURKN@K%/'A$&[&D[*6LVY( M],V\YJ_R@//,R]XNFLE^*DWV,,6&)>Q^SM.ZNKW_ M7'W$FR4N-6N'$0-P)VT7I+>%UH/#[)UM_ PWDWH,Z/VQMRSW-;$H*8T&,33T M[O[R<_4U=(+W4YK@/*DN<$R6 ,<''58LR*1N)X'ZZ=Q&%*!$;@>>%"G<#182 M:.$L2--(AI(&*Y2;F\O--BM>,;['Y5,:8_$TA#X(V]!UD3=5RQ@;3:XZZY)! M-@NWN$P+WW>0DX\7PJW/3).H>84U[6#0[[3FD,;\DJL9$35#\M=<)TLZ*))' M7:!N7/Z<1(R,^-#A/_8\SNR>]W99?#K/!M/)YJ],R%^C*K3[:\;S\2Y!#(Z1;T/[(9! M?!_ T^/V_LAW!&+XD%WBT:;W4\&RZ'M3U,Y04(YOL"(H97^.RN007W?X*,&X MMZDFS.#1#ATB!"X1RO4K=TB(,HAN!L1D^$YF6@+SGH)X'C^#4ZC/Y>A5-%A&R;9/RNH?QU MR+YAJIFY+8NGM**;LU512K,!?>_127J!5[ADIVPO/)U:>C9MNQ\^F%H(/F#4 M!*CMWXL4L.V/X-5H]X(>LW7IH4^0EY_S3$??]R/V J(L-Z@(]%'64]0($%-6T5F>]H^T"T0=,&Y9E[6R&XD_N\2/-1;K# M6_IX*G^\RDF@LV'BGKTV/WJ<8_A1"\&+C)H S;F$#RGH\P=_7LWG#!P%M021 M1'&!EJ\M1,!^8Y)):<1,.UP4;;=9&C.QB:LH&7GV7UTV:<71@.,,[K^HUV+% MBZ^;:Z_3E[323)X1 [)GKE60?MM<+3A0YUP+/XI7^FSE:5&0P$&_4BR]C4'J MU46QB=+]%%A'G.!TJR^,@W9QA)#T2^;(1\,X'K".W>.,D'O\&> M#*N]+*^:FYA10Q5P<%JH95K6M $0B#9IN!AHC.@6R'S=KQP4.D#UXSUE@+#: M;*CV%. L8(2@LFUXH(-8C3=_ YVTU,TB^T)&!C$Z M0<2J!ID[B3]%&VR,7KVI!*G#)H$=]5A%(C1=UO/HJ<^+GC938H$$Q[PQ 2[O MBU7]')5X;P:,(8M]#? MYPL"7+ZFTA,.?@7\HD-OMO<3S%=;"2U?]B-9M#>[C?;;[OT.\W65 M3(KOV_OQZ%]8,?K@&S

C%_W/[O0!]7Q63[<>4?C_]QAZ,//RZ' >X? MNZ,[*D/WMFO. MX\2=XT4)[<;VO,1)2JOX7>!E6I]'9=*5O*Q.:U&-_Y@]XN-2\U42%$M'8 M;1GEOU4L93OF$Q+3::C+**^BF-Y9DGF(Z1E-NDKY>]O]CB_0]^5DVG!5-_>T MPY8V[*A?>[GKA@QY@^XC7O\JW043Z$[=G355DP6&W-P\+1##/Z$$I'9,"UY^ M"=A@IQ&47U/Q\GIOI-G2:?*$RSJMB#=J+HTU,Z0"A+,V/=NR90VA0*Q(Q\;0 MYW> UF()Q[&+4:SC$.H\:"M"?Z[P:I==IRN=ICMA!EB??"B84X'R#BVL"N7[ M?/F5*%\@CH\H >CB:P>+R&3#G6RX;1"RXU)FZ1-TMH_^+M)J<6ZH(=XFFVW. M!2^P>V.K2AHOBT.RN@-DO S0O*XVVR@M62BZNB[R1R88OZ'_"\Z2#T7Y61N[ M.>(";IY\A.OMG5P08;9.[IP--Q0M+CV>H]B-O3491I3 R:HH3W;@ >)T8FZ5 M:QVLT8DNGV31WO,A'>^:B7%#A3,Y']%DBW/! S$X=\8&BMCVJN6=HO?R2CIT M8%L[0,*^J:6=B!$S5>A$+J*M.H@2%3M4SL]W.S5)! MR5AZ5A1I21(PHM#-BT?P#, ](SW >KS=1^9LA#]N.%I R:40RJM4>3A@* MIF3*1=5:M"!2J8=R"?:,N=-VM)!T3BV26>?Z.('HG(HI3YT+(M?Y#C_A?(<_ MD.]&N"6LQO5?TWI]OJOJ8H-+8ZZS(RZ<_GD))RNA$R*()GIPIBC0P7!E'0PC ML_D0H3Z10/H^RJ!/412KT@,9SB]8Z#!"\MD#02PA@@ /Q%/O\>/BI"E&F#$! MY;0#T=,Z/ MZ)D+3T-=:[" 2TKL:.$>7YVR8@&6C7 3J%[%PCX$P+,%-0M:5P+VKHP^ [Y9]?A5QCL66!A=L#(O M5$(+>'3-L'!B4) I AE=3]\T?\RP\0S" ?5A]? =-=A5P$$V#M7R\UP/6"@ MJ/O\1SDY4&GM@9S/H:_,?,2*J5BQ=$! FJIEMU73 021*=R4DEZ\H MI^4DBA(EN(K+="LJTD:HXNJ 7VI_V&FHXP.V&B:'A(L6@D00.;8J'\@]IA'Z\/UP@#_8/V3E1(ZR"M!MJK2@@+LK"T_&;1;-JB:!$WV95Q>H)27K#-CVR%FEPQ@:S,3[#6^MS0 MX*S2AS^/Y;(ABQJZJ"/,'HO\Y;:QFKC(,MZ?*WN%6DT/F@)'06VZ>10&S4O2!%P>8"+7."^>"KV-]'\',A(5DZV5R#_" MF/T')'B((8$_4KB0'%(Q/5;8#9QBTOZA^@1OW>5N8<2D%TH1#%:A@0? MAFT,&'*PC@7JL$(S#KL\'02]%*[H&R*:.=*4JIU7GB=<+HN9):I9E^47EO2LJ5$*(GVA=>H@;'F"RB ^#PYNA-49Y M6^ Y%C10O8YJA!DEG)#_PFR]0BO8P?9:ZE,RJ0<_$4K74NCGAPSL6+ M0+S,M7]K*V9,UJTCN1+$=#L2*:4LLD81-N^M$\X3XI9LK%[S//!6QD^ M1OEN%<7UKL3)V:L0Q#H%CE1"\"9> JL=BQ.)0'R,!Z_>>KJ1B+&=04,.*HB9 M2?"&E.2./NX);GT,>&R7!/'5@5_7QFN<[#(B_!VNZG)'^2-QW6F>W.&,5A0] M+ZJZ,M4W\Z( ^.K67]#>"UQW=)C7N+[\#?,*&PI4>WLTV'5J0P4Q,F$44^LQ M2?EBPM+' Z;R*%8LR+)"3@+U"PH948!*"3GPI"@B)*M<,)52*"-[-F6LDV* MAU,LJQ"R2FF!093)PLWP'(DJSL"#A5$=Y7*SS8I7C._Q$RXC\M6,%2RTT'!Z M9!% UB(-*(@.&7D9UE)OH%&%MQ$_)0>N <9:^?04VJ@X>G XS;&)(*N.#A9$ M=\S,#)2'@>\[GS"*X8V2A.Q=RD?H&GAG44:M]GZ-<7U-1R F:8CP].!P^F\3 M0=9_'2R(_IN9&6A- XX8/!((041R*DF,H9P)(2Q-T@=S>NA@M,D8SGU(Z5_H\[X M?%=2T%=T@?-B0ZAWD-6L+[9/X[C*AECI)BI?T:I5Y*I5Y#CB]4,P[<*XI8U0Z6$+'T_T MI..-& NV&&?=F%!'Q0?.QJF3<,$>*UU;G.F.6\ MB>(V*P7##BD_F7SGA>QIK7G1A(J$KB0-YP'2V;\7K"+ M]2?<=,"^+JKJ=%FQ&O\:/ZJ!A5N.CMH01IXPXZ8&I7Z39CCXV1Y>K%8Y94S\&>;*D(Z)F2"2/"=TH=*Y):Z<" MMU/1KK!57<2_H>@Y*A/@E?4R*NDSTNH6ETQ(QC7FV_V+M(JSHMK1Z3"ON=Y4 M "\WQPG&"ML395)13].[R]OYK6D&X]]LN3VOZT^>OZ?40/;18[6@6+A_E M&9-_Y46-.-NXR]X1=JJ)&^JJ.3Q1[#J/1XJ'QP$:; M9!F-'HD#>&SFH>G<:,H[-Z/ Q9$NHLA!HPD>)$*T,Z38TL@H//^2]P0-(E.\ MS1TXVU5ICJOJGK_%5W6!:Q@IVCX?.$!B2(7**&&6/Z MT!X,H,*HF.TIB P HQ!##@P*,&.6SC6]%SV-8[KJ-@,::ICI@:$*FMG8[ZJ; MZ2 !2YV96?*H>T;#9D8-->100X]L [HJD?<%CEL[)($ZGL^K^G^%-VUG:'N.@91-& M<3R13:KW;Y8.P$UQAYORGK>7TW2 5H/!]/TUL2Q:_JI@CM[M5\^$(B&>%\:@ MRU ##=84NN&%IK$WK%3:IM &6%#ET#._IR%#0"@UT7'BIBLS[OX_%35>%L5O ME,&/!7N.\*I?W$W04,4EK0)T]22UH( E)"T\>2S^N2#%E&?3$&O;C(+5B_25 ML$7X5H#/TW&I^JTNMH8G:/L08!V75(Q*'9?DGR$[+@WY\%#>A*,WEW>X!%=; M)WD$T"P'.L6J?HY*=<4,)034P8R2T>[PI?03\'(ZW!53 M0N!Z[2>9@.8G%11^IJ?5N*J*TE8K9!\([N&TFEWYG70? O19M(H5#QV.&@KP MAPRNLDAPU3QEZA,:.PM'?GI==>& :3(;H*T6FT&AU-Q%[X\])U7DE@W M]%JEYSZ\(8WBC):U6:4X05'%4:"L8I3X_"F3P/I6X 29+'UMJ4YC1PLN:7H@ MDD/B]#5H11HWIGP2J*^#*40SF6PE1P3O&LC>^/TUK=>BL9&H8_5J>=;JB O: M1]!=N+V&@G9$J,Z"KIRI6@RRGWG!0(&]0"U^."]4)Q$SF&)J1FEX+<91-M:B M!FIB>Z(Y6UB#%YZ!]1CSMZ]%4W@SB/:7!TL9CGFM:;&)J_R@M\%+[R5;NP2 M-Z\%\2H EWDR>FW3/LEAE1I$'<<3-%CECB+9?1V5]=2RG>''-,]'BW? V:?9 MCR5/E)FF8E1UAV.DA0K>GIV.(P)VICN=6452(0:-M X[* M!KXIY-#V3J;%2LAOQ6/.GN]$E3A/@3I9G7 2U%Y6WD>(:1($D: (^1IBRAF( MJG7WZ4DP$S4"TW-U[:>?PX<]%'64-?2[0:DR+HMZ7:_Q4KC7QKL2#F.^@>(^ M713"(?_;S$^F"7J.,!Z03SS&)+:^<\[!X'SL_%(-?3%O'=(=5B MO(\RHJIWT[6#UA?84J+32##W).O @JE(]-/%%][Z2^/F; ME4*ZZH&P4:E_,KM@4_I8Y/CU M8U3^ANL/VEQR&S"<>IO9EQ55#0FB^=O&24?=-"'#Z;Q=#M@$]-(@=V-@9*-'G>R0PY+K)@=B#OSC? MW'^#?BZ><)FST*H6LG4UQH&O7:X"'N^:UA5Z. MF=:6B01WE"D$.XWCW6;'^C/_7!95]3DG>ZV,LOYSE.9GF'PG_!"]C)LN5]K! M6K3?Y'B8N1OA$&W?A_.1#J$; K$Q4#<(HJ,LT)*-@\A P+'HG).U)S5PP*H/ M:_HR.TZ4'CT<9V 3T63O.MP@3-K,W!BK#V#2LVVDX:2;B?2CG M1S\71?*<9IDI3TT+'<*9D%( ]>E/#Q3XG$?!R_#DL8&FF< "WIIH=J13U/D% MF:UJ_WF15T66)LSUL+,P32L''2!,O7XSVZ)8OQKJZ)7Z36RH'NUTP/QT$JRE MPY!Q;4<'/6@H"J+NYZ"#"T!)C/E>2C4)(MOK9LL"F?Q1])@TWE%JH>&64XL M\G*J 0593HV\#&NQ"6C1^7#VQE[63H$&X #:?)G[ &HAPVCZY=+J;:^W5-/= MZS@7U2J]GDZ(4%I[32_ 41RZ"%*O+7?H"C@X)ZYE6G;? R 0QZWA8J :W6;A M.I@JAKZ\AZ')[ ;!(E$# Z_!/695VLL 0#57XD#[Y1?\ BH0?77C^-'(\5%5 M]FJSC=(2)](]&/\371^N[>KL@ ^OZLY"JLS B@QJ(H[<&9114.C?ZG9$T/5\ MYF5_,#V5O+)L:2=;5M".Q:&<$W](\[3&U[14P!6)P/-'>OI]2CBL*[>C8SN! M$$Z37<54'S#;L('/G-W8,Y[>'"3J?[:&,$OPIVEB>I0W!0-\:*UG>>R_<@X%Z\ZM@ M8E@]A8+E!"P,-W&',UY09)UJ&I@Z8<"[#8,@*O>A =U(UI^].ZDE%' 2V_H MUE;;(9(;*FA1#F?1]BIT6/&@RG4X,J:J.6",?\(YICI R(%QK_?4?/10P>Z:\X?5S7.#E]PK01[><*KW;9=;K2'2L<1A(P M1WR"J>CEC1] #R:7_&"&%<=GG*0XF] X@ 42A%%#&7'2B-*&SD"?<5IP5:<; M=KBXX_+2"0HW6C9=5-G1@HR2M==9-IS0HF/3%9(Y,@[C*FRD:/P9&:]3&JS= M2+<(S?M159K,(82"M"V+V([6IJ$2FOT9V?2V2/G>2287KI'ZR>\M'[0)?\*Z M5U@VI"!-4Q+'T0P)1F@FU[+D;5X$$[@IQ-9-J5) M++MX4_9LG@AB57]\O6IJ'%U740Y;9/1]+/('WF'1YI)ZY9:[4DMA#SK41.@ MJ>GJ0PJZNJL_K\9T;$&/Q->4X@(QFJR0=TL5=62#*QX2^GP<*3]"F@0B/^.Y M8_+:DC[HC@Z9]^ G8C_'P0T7*)_!ASG5%86?OEX'DU\XD>1- U**,DL/8IIK MWG%5-5TX]V0R@T)U_C6SWC7M5<,!]MLU,:1^#2#I>(4:>*AVLF^!>W,!AA$B MP*Z GUBK6 =#=4& 6^7L8LCKFAX:9"6SL3.\*&P09.U? *O_:&%^P7E2E/V6 MV0NR-M6[LEF/BWJ-2^ R4Y0%2:1/N#:;B0D!L-B458Q>O2DM-$S)*0L[PV*I M.\R;J5]NMEGQBL,QDO&B8"%*4/9PNB(BGV99\4Q;A7\HRO,2)RE[>=_(Q9Z8 MX>0V*NO7!\)85\=5*D;K-EN3#1:,'4X\?08;GFBD$.Q_4E&&%>OH8-+ZND 1 M'0^U Z(56;3XD*P61NM:%J@9%[&!%X@.#51^^0F7R\++%;VI67W#/O"<;L%Q MN:7_IN^VC^8/'0=^H[[1:UHG\Y-.H[X]G^DAUIR63H?^0OUG0#,8]F0X _=S>*HCMK5&* '[":6](?+LF(RO&/MO:R=XL:(]4"I\@I]*)KX M_/Q@XZ%M,IBG:$V?W@K)<[[67K" MW-=D79]+G#/\F.:YBT3'B1RD6.NBV"WKU2X;NGA+(.%' S"N&"-L+\SP(0 3 M=?AS. Q">B&PH(*4L!/.\V&QW9&=R7ZSJ MYZC$IC(#=C3 8F^.(O4JOEEP8,J^.3$UU*X.#0D\)!##J#(P5C(A3=5*D^:B M9%&6QC3'E4=9*=VNYU&6O9XDM)MLMX;1V72ML2'#6X2:.;"%F#! K<6%IV+NI05H@A@:QC-B.6D?) MQ8Y:P6\C1/F:"[PM<9RRPQ+R[PRS4Y.\5P1'*Z;^!'HB\J W')-.T=Y=R"2T MH6Y-)F3>6%E)IK] [0C,$\AC$ _1]Q6+OK. /_LXWIPE$GTV"U$PY:E<1-=, MH!LJG+?P$4WV!"YX(%;NSM@PE=/1:H&#W8DD#,S&KG%58$OG71$-/'TO,MOO[*5L_- M0 'D1$H""]W ?#SG<^@KRU UZ&G_=R#]5#'9ZJ7\(YP^#KE0)P.#JY\SHR%N M JXMQ3ZL6*%M!@8"V3<$UZ 5/9QX\MH87 =3LV.L;!%X)L_-EKU#R!\9,]=I MM$RSM'[5R*F%!GQ09!:@]PI(#0KS=,?$R]"O"FAA!RT"]%-G+S$8$,H$%%H> M(VG6Y97/(5+,$5M]VM%%EC66YK6*N*M0KB_ANNSXL-4;L8)R:QK*C QNPHVL"X+7CPQN[$ MH,KX<\GZHY8(*MJ%NB@'RH?RHD:ON$:QH _M$L:)WYE7A]_X"%IN#Q$2J*41 M@M)D#(07/[CD MUQ+A M%!+]*F#A]ZP>S#/>0]JI4GZGZ_+LKZ 9<;FYZK %+D&O9[E47'T#!% [7L#%\J4P! M3XCJ;0)2]#'-*@RKN;9/?CPMM:6'VSCE136&OXI7!\,N")"WF#8Q^M>:.FC@>TXS6\,MV+>GD)>=GMSRFDT\7I:PX$/^ M R5*._B?H-^=5^L/6?'P_27=$!GJ; M[L6=(G*OUH@26*!N!]+1H-?$E J\Q4TJ\#9*$U;K(MKP"A?\^3JF#]81L5"T M(5:]*UF"6WL;T5Y0I^\T"RYD0K$5=Y'U5F2G$8!]N3)IMSQ!"36D4$NKB3PIM:#,2@'QV,GX+A:P1_6H#/%,8RJWV_H,_@[ES"@OD$2AAQRHB3!D\4F71&B+7] MX6V8-VM\_EP<."TME?"->4_@,3;E88:9;3#9G>C=CG:HY7N%= MX"VE+IIP7XGF>^>[JBXVN#PO#) +_8.$+E]QS>"!MSKOM', M*BMKQ9P*VM+. K210K+#Z#FMUVF.BARSA%Y:@(7^NTL=BE]CVO,U7:&LR!]Q MN: JGC2,H36FG;K:QH]QPU@+ %6+9[J9$Y0DQ]A20X(<$O3DM#3(=XG3R=^* M2)\[/>$\*;JO"US3@38\I[UL7N*TP@_1RVWT:F]<;<4"K/;@)E"O](,9!:8. MA M/FO;UK,D2PT,$$368H6Q/#I&LCEZ@,S#Y8^7.XBT[>!TTX';!+$ O^E># MP@3S)EYT#][E].8PM'^$&, +Q&Y9E&35HT=W9T59%L]D!30U+C(A "X+5C%Z M*X(6&F8QL+ S])82 FHQ9FQ8Y*%0OT1E2MF@[VX4C8OT8'#*HV-95IE]&!!% M43,Q4 \!QAYKS=>T:*12*#L5F0##4(QA#R(]%+AR&+L+[:G'C)V%3C.R8%(O M=195C"]]TQ8M*- YBH7U]JQ$ P=W'F)D:-C#5$"C)3VN8P\>:<&/I5A4P$XG MQLI!P9EF0_=#3S=ZE=="078\5S+<;W'> P'J::[@0='$G$ %H 7*R.[:TA'( MAA18E#T0QQII7X.V W)AR3GBO@ZF$]"$8@'G1Q&>;U;G)4[2^D,4R_=3+8?G MT9;\HNT6Y$<",!MJA*B])"@/?)C<)V\&ARE/U,**%>)$D*#2'OA(UB@H0:<% M3R=TS(@LNG",OETWRPAFHYD%<2>ZDE%.F&%9I$8PFR'NH05C?TJ^ MW,VN0T<7IO@*SM;QB(X4FBQ"&X:64-;#"_PLK[*J[ID!S-733XRW7RRE*>D MJ3X5/>JN5'P(P-FIOYBRE;IC@]BH+WN*%)AEC3H*- &&TV@JIG$RJ*,#;)_3 M")Q* HM$?':("&N1=W09OUE=Y0EA$BFAGWE*1I=#61$5!?H$^WYQG&!36JD9,R06. 93LCIL*B'$C+:0D+P MD$\7W13Y8]/?IQ?8:15G!6T3\3-ZKXN MXM_61980H2__OB/\GN;)_3HJV35O(>8LB0"L!8!H5YV'&,:NS<@Z>@#YB9, M/4F]-(:IB,-D/$S+_3"+H*%/XPN&?;(TVEN%EJ\]0&%P;"1K&O.1\BF^K$D[ M4@=APMX=WI*/L28\WI;%8QEM#%G@)@3(CL(V,?J=A7700!V&S>PHWFS3E:_# M0 U*$(GC:FF,*>1FE-"T2I]6;H(/2+.,J>9ZW9HQZUS-9W7Z^%BR$D7Z)'17 M3* =H)]@[5;.#0UN3^;#W[ ,E-3N=HO+6K3Z*%COCTC0H*MLE&6H8@I9=@JY M;49#T:Y>%R7M"0*5\7[0/-QK!%MT\\KI-]AWE8,&!@^K"#_A2A,$-&A8-@8#^X#P2N /N;K0X J@3&ND]1@ MSD"..IFKG.:AI$^8COGP3/[]^G]Q6=SC)YP;(CE75*A0SD^T+I9SPP,,YGP8 M'$8Q;%EIT1'3,S+ZG]&O' _J@'LFL2#+'QTF$OLH*KF.XP@(S'<^UB_#!V/R M0R$,=MX!AV3<^UQY[L\HNE*+P/9@_A)JC)L(=AR?Y6OE5H&T'V4.T[[<;+/B M%6,VWJW8^I+!]-9M10$R<$=16ANWP,.9N1-C [416(WJW+9'?M0>@)?O<1*] M__''/R.36 &J=/+HFO; _0)" .?LT\R+8/3^(.HPIW93\"V^KS1//9C).B3 M/VY^09G^?"F M.;D<9FR((K.DAQQRBEKX_'U] M7Q;^T%YY:N6"!G78Z2Y2=^!IQP$\]'1E;NC=VU()5+WHM<8*DPU_E"',NS34 MT0NOK)INM@7=\1/UB_E="%=#*6\+K-[J>/FE7A2BUD7?KRQ$V0O(BY"#Y6N_ MHNGKP2[C#R6.JEWYRL0[C\KRE;X0C2IM:I0) 6ZQMHLAK\]Z:) EV<;.L.U4 M@R!B0X&#&!+PPNLM39NMBO(=O5JA+K&)=CLS 3ZG44<3[9/J+JSH8,8$P&X$ M0XN)?:;!'B:[4 LH 7*(>S/ES::7F?9D\047MXPOJK/[2EB1+)KJ2>XGF=QFL>7C:@$1VO8N9" M3"6MJAWP2Y49YNO@2^4%SS:A0\P[-4^X7!:FM*N9-:K3)DE%!MKT1O-3/K'( ML7EX;;^ GF&<-YB]8INT29)9=(.\K=P6LQ1S>*5/[5XHM(OXHTZB?%7/ZD[1 M92PB-H%V>4+FAQ^GI&W2Z9?CPT2UK0]%^3/!U3;>G6VXM^_1=%,XAV/;'^M- M^S>U,,=Q<[TJVSL1R$J>TY01K3 MXH3L3HTGEBCOLXXQ(+"+FW4:!TYNEM'@W-R,XLRRR^P.^6"@ M]UU@,]M.RY9-"P_JL'A P:.[KD %W:E'Q#?2=V'2!2K')3\T!R=95-4HB5[I M?^.(GHJD+XCP4Z_)7U:8'9<0"FD!?*L@S5)3\9L[_SM1RV'BHYRD:4B)@$L18G,#)(4$/V)M,++^X M.I?D36V"AKWEXU5'NZ8:U0UQ7^7#.LIOMI1$Q0+%ZBJ_9=YJZ@#5>_@WN"4< M.<63;!$]QWY;6\91PLT1636E>R5.$&.%7A;FJ&%FP;>2%4IS=&M>^@/?54XS M[PQH[J-$PY5'(-/ RE$U5V-O= UA_]\ON*I)5,MEU>:<3#K$&UP+#%,UB;]7 MT'];/ETKP!Q^F[_I;49[XT[9?>*$O"'L/X_E?/^*T\_\)$%M/\4-11!K?XFIGY$E=:E^D_SK)JXN0+6T/MH@(NF)PY><'\ M'2R*([X( W+TX>QQ /\!UH^WM>-P^93&6#VA;65T-G<5$U3^_;RHZD]%_3=< MW^&X>,QI!EQ'B2/M3[#FBP+R ^?-P3^"[-#!F 'QZ<#2&NI,M2QM.@1XT@*CP_LTT/[(I]S')7Y_@.$F SPA7INON1]*,KF M3Q1.=TY_;":^0!]MG.ZC.&8E!U^6-S:(.*,+IIPH_3!GAZ6%2 Q]J8[79_(_ MYV6+-_2X9(*?Q6&=.#_AMQ,TUBX=IC+LQ&/KMJ0M0'"5UV6:5VG,=B3M5YDZ M5W("AMY@XO)DGV&2Q.:#N7E;B<\3B0MX8-)5"6DYY*I$]I@O.D(G- 7[B8&HUK8.'\GY%YV34I 4&\AH&3@ "D +]+W[]D!@-<'8 MO4_2A1F[]XE1;G)#QV4%$%!!'"V[;8&; 01 _/A=WP)"!@PQNP.S"\%@+>\/98\32\ M"I-)20*V/)MXK0(3P* LSYGQ[V>U/ +EL.CUP*"M;\CRT/XZF L<)\93QNL MUVD9M E:Y>N,D(*&98;NS/\PIR%^(/+9[5"& C;#(<,#*^Q X(UPGQ?? )2@ MU^N C= J7ZO&%#(H$W1G_0^!G 4T9U37ENZ4!O@ S@=T0I@.$Z]!6T1:N'$Y M5+QVZ.1X[!H/M";/:9[\ M#4?[X=8H"N%X=Q*'QZ%9W@W M*YHK5!Y@>%H*81F>15";X6G0@S$\(W_.AE>L$"<3H.7Y2]UW4R9I'I6O\BY-WKY!]_,=(Q]_ MQBA.+6&-YC1C=.6W.W*^XN4+_:KM/Y M-K=+J9-%._4V8R#ZV8[I/7[DTY2S3/;$Y#]FG2TZ M!4N.^!;6[T^XOED1G@]RM1V1T-?S?7']UW5!(>#UO<_B >O\ A%2--8FQ&9> M\VG@>_B:;Y&<2H-7*QS7M-5V3OXKS>-B\\66!6\?_MP56?:A*"F29GZ/S<27 M6+[)--W'*=NDXN +*]>D%Q'PU6'+E*)3U:^44=1P"I7 $]YW =YE'6$BN"; M?0@Q_A?M:ON3?&0ORP?_4AVL+%U(OG5>%\K30R]SXPX2>O:[VB<57V1PGM#\ MUF64S=_/A\_0?1V5]9N:HR5^3//<99K>^ K4KY]X],^S/_R7N/ZHIQBB-NL7 MMOJHA NH_BKXV27PS/\20-G4^:: ;%M6.(7TG0H.OD3WJ9WHXWC0P?!?F!/5 MR ?H1UN.?A>NU'7^SVD4FGVY_K0-P:T-&X(XH/;C\DOTRP=]L",?OOBP^(7Y M]P/F((R#'+>N/^C7TR4A&<7U[^#8?()/V;:W&==+Z7>SV 3\D7_ORTJH:\GO M=@%Y>ZO&[^-Z8.R'^_]O#J:=OM_II4)X:ZPW?U_B0COR(T'<6_S>EMQ1T@=T M\Q'&\AM,5[JQ'_!W<8&R(Y\VO!7"C[DO<7D8\WF.>B/CQ-D7MC#XBPY_CT.9 M_=TO"!-\N$DN@#25*MM73J8'$T2&6R)176S8L^3/]/GCWD0>2@RH[N7!XK?E M,4=3@JNB>2#+:@>#N./H-083KV@']37I YNB^[HF0O;+]&!3,AM"6C M5.@=?8.+7R+"-%Z@+>>I06DP&.1B[V_1=EOB..67-#E9=%0)^-3YSG=])SXN\3O,=L9<;HJ>,[4I<=&D6L4,( A:6/'@:>N4F M1U.#*4)Y(+M#-><$$:?(GEH+(W_74/V:5D 1A%%'.9R+U+EFY:<@#/X#3@C; MV4 N\V3HL(H8=L4J/D9$A!F)5F:1VU'@=@ M2!9QW /$ (/ P(]X&HUBC@I<@16O,&$CF6Z'=A!%P!JMAT]$KVCK M>'(P55P/Y5=1WIM3?-O;M/GF!7BC)MAH F&_Q=(5&=Z##W.R-Q(P)N:CZ@J@W/!!S4[=P;UQK>__7L# M1GB V %L!BT+^+AE/P1S&V%A(1K52#L*>$LX3K*FX'F#&X;-$-Y/JPK7U2=< M.^[ZU"CPUF(2164J*GA0.]$SI#<2:AT-#45X4NV6]VF7DMV*7#_*-YAPH M((N<;-J,=GSP*&%8_T1BN/D,^N_VA[82LAB01;%BR 5J!V69-F)8),8-S>/, M-9']:8@)^;1&64'&!*[S.9B!J_P)YV2<5]X MP_6NS-E?1 PQK1=1#_#6O(EIF@[W*BKJ;\B[Z-F?P.U$/U-U[L'^)O M>N]8J'<1I!>H?>\C_A2^NSETVI)=7*?+#(L7/606MF6ZBT6XH7+2=%HC M'BF+P-_53S K1;ZK#HE_7.F_:7?4GZ2)O1$G_E:=D;/Z(,AQ5&&5IM$RSM-8?7L.X#E;3PG5R&N" 3+S'OM%L&608IBBQ MXF9>#"$T2S%)86;X@)HF R[^@]ACNDJI+5:8:-):W?[<%QFH9HFW>&V-$F=, MN)HDGBP. [$-O8!&2[PJ2HPBW@^8AJ?%2CH*C]J#+/IWD5C6I<^@J*[+=+FK M([JWK L"TNXT:[*M+,JH?$5)NB*(F)%A?,,&4R068ZA] 6O:,CAQ8MS3>9K#S2R; T5V"> MJ]T0T2ON\Z@L7U>\ET75>VCA''VZD@O( WE.@7D[XT8K#$_BQ:SCEJC=7[.D MCQ[1Q?YSH]"3DI@GI#\XYSEQ_:$]%A(E-@!^3FS@+;@28$:AA8>XG 2 M?8<5FG_RDK2SO";KV\WVP/R,EW"?\#/Z2[395NN4EMG<56F.B7NYS,FD;LNT MD@4/S<_\7!)/Z#HK#7! 7J3'OM%I,,@P?(3$BIM+8 B!O-QTDH(_V'RD$(K3 MM=!LX!=Q+MCFM[G.@0HS(.O0"V8TE2%:&':CX\O-B%KL+A\3O+GP>!&OR0KS MDR13-+-,H\,$9XD&(0+=F56&B'VA.M /S+5\PCZ/PH-R'A+KMD?@8;B'EA'W M1]]DPWL\MS!ZI=4+1F4(>7V];A(:4NQ7)D&'%X1YF(72V(H:"=IP3%R9K4C" M#+=^PCCQV&K3889324$2Y^>B2)[3+#O-DZN\)F+0JVGN+;RFQ4@G-&MS$-IN M?08B 5FCE4L/ZQ2T6$#546L6PI!BX(,FH""X\>IBLHD7]16DRU6VJ!6JZO] *> M"8>MP@':ZS6.JC1_E+K"^2VV2OS0;-0@I-TZ%<@!V:66.P^+;&C(/1-#74+= MQ;VC7=%.BM7)KL(!;R%O2[R-4I$:XV=[ ]S0[$XCG,N*V$,,R-Z4G'FM?@Q? MY'F%:F=N8@IAL$V8:1+?Y5!:<<5G!X=/;M>)H$IGWX<-(H%=S=3T*>OMLR&: MJ4[^$&G3U /(-W><%,-V=L;+T+XK>-"=U(Z427LK*ITVZ;\0X,+KY0[#6UK= MU]* %D_/JPQ8@Q@ERN#R8IKGCYJU\?3QL612:,^';U9\/LF>E?W7\.;R$]% MWIA(Y1"F'@%H!9YGHMI%>UKR<.O\'')H0H,%BE8U+E'>@JN>K+VCYR>J>.'K M!8T8=,A=\+#_YDU$$E+\L!!1RG_MRK1*TI@.1=:T'-L*\I92AXL6 _W*<* OH(\DS &QT"TNTR(Y?4F5QP+R MKT QR)#!-G[H?H);^_=Y&![V, #T*P6961VUB^)$3!ZL9A?%)DH-TRA^!U6U M/I-[RL9_A%8WF0OMM^1 L"HW":,'J]U-CC_BS7)0MT8- JI\ U;W]*_]'5H% M]QC1?=SWZ%<.!JN'-F[EISU(L#Z?0CX\%S:%E$! %7+ ZIY"MK]#*^0>(SJ% M_#X,A;1QJU+([V=42 )C]9$](%BE'+*[KY8=!+AB[K.B4\T? E%-*[\JY?QA M/N7\0"2TZ:8, ZJ:0V;W-+,#@%;,?4YT>OF',/32E5T*=R2.S>6F'-E66=,? M8,_ E$^>%6<$#O!P9V!6(>0S,"TPR!F8A9OA;;*Z3L 4^_EY=.E3M,'*PP!G MK,#T:BB05;LZE'!T;)\G5TU;((HYZU;^\F6;EOB4WGY]PB_UPS/.GO#'(J_7 ME3XX<$ "BA:CU WD6,GA>,AAH@H M)N*HB.,&$=H<*%N:(V+@AP4Y=C=!]MA_(]_?S3WL \.[!37[*G?0APS"#:A8 MFLS\*TRF,7E+#L!I.GJ&3S 00PG-WGU$X7;^Q[GMG!Y8>%CZ #P 6]>(H+3V M/=@P[%W)U&067Z_3\FT9O-M\]$V>X@1J]%[B<+/_T\QF3P]6W*U^ UO]!H! M5#:_!QJ$R2MYFLSB5X1ZO7Y+)N\V'SV+9T>501J\ES#T]7;\S7K2SM45KG-G_]<4A]4"N1 M(B7M#EL@2&)[9G9FS!\Y0W*&YX/[-3V*_ [T ;W&X#Y,C0IWFP$G9<%]+P7\YO'OXHX*(XI!85Z@/!^_^QE2_M7-A_B&7GR/'D!GK0U1(&#XQ*".K2"C8:D/.P,X7!^VQWJR;F<);5R9S]1M] &- M+>MINFUTG?$H7;97_K=6MFE>=HVD2&OOB.K- FR@PUN%K0H9&F#KY-AW\.;J MCSU/BM XB](G^DJS WVF_)7%].[I>7#D.W-ASI9.!G4G3"L+TISIH-/ M*FX M2,5&*C[R5G"^PQYI_8K/>Y;1.PBAQU:.89X UF2;,6.EQ U#,.7$)QHY5^$" M'Y&,(=85NUL53%^AT8?<#NL_:%Q^U+(]@T/F"@VB3]$,=TQ]^[$O$;OOT625 M%WD'4@F'/0^';8/+8/TLOE$!FGSHT?(ZY#F2#[/VK=*J"F(H#/7A1DI1_ UL MLA9W5KQ$QE='RW.D0PALA52U,$CYSM_+3/O!P&Q;G683V%.V&7J1X,-LJO/+ M;WXB\ *+*:;J880//TK0X*^@)T@O_Q[46"RP@,EN6%WZ.35#,#!8A&1>_:WD M2,N]@PG-^FZAQ5O01Y7J%X'M:#69D_R5$IDP]-2.^ M2Z"W/,O(FY^SW[*?LMN/V8_BG^$ MT[UP 72OEW<(Q)?@X@.!FUR#@R2X$P"!VCP$]P1;4'1H[Q#SRGA&)$7-F=W/-(M2Z*>M'K2DPI%E]6*0P2NS).(A8P%'Z$B:(0X% M>;/U[8U]7:)$;"U3KG;UF74CMW[E54JNG\Y"!OB9G<*4&V M6S>^8;4+P!_[ MQCLM6R!71IZ@KT$LUF@YB6EG_-+\RE57Y0\TH3Q*(9H_"&V.+;]8Z,)30YB%_J.J7V;,1+0G" MAGJ .8A]I" ;-9O!H@[0NM$(FST>OBA M:]TBC_*>"Z6/Y8[RYEO9UNE6N9.(X'!J-=4!J(/\(2'5HN ,J$JI1!.K+JR' M#58?5TA:N;3B(O0F?X&)0NWC9\D3+1FG<-'BEA5QFA<'3J_61RGJW.%8I::;& .TXJ+69(Q*JTF*WR4*4%""4Z P&Q*U(+)AW) M77)>R5)8:(Q>U:&N^XN;2K<[:J@E7 MS6A:\:O.C%*0];&9>?#GE7-YR6=VV?-\PTI2["(.A'LA"'>F>8YW(NE.Z>/F MF6[!$T_R-B]$_VT?HNMC]4/;"\R3).'-(S,,UZ>-"6)09HG)>O9W6"M)L*5: MD9-&&-&DK0#^-448#T&'[H4+I7,6-Z_5M, M#'C=6^P:#?=NJ7B(QH0-PHU2 @J90U8H<3-T')FI4= SID[_=%0R0+39 MLM1AI7FSZC(PF6$,;XTIQHRYS,X;*Z+MEM.M.A';5+W-1LZ01KD0]\O<#.IL MA=E9<':Y7'3J#;2Z,QVX1&U-08FRW+2Z.11E_@)GF!_^%Z>'!*9H*/H1?]2E M[M]KV=BKT#33H2RIB%):?(=>0*3:&ZA#9^B8, (F*T< C3S,A@SV[>B3X[;I M,.ECZ?&.V2(6,),?_1,%19D:N2)N6F20DN? M_(?UR 9D\$!>V!DIC:'4MFVL4UTF1(;Y+;1-B5E]Q>7J!8Q5=V\0\W5O8-/2RIT5K\.5KX[]F?WP M(CLD[*CJD !3>R3O_10D*NH?K94\4NRH2($2N)TK?A*EJ: !!0115,IF6%K! M:E4BPC2]&D%4TPRK9=5LW]6-=Q^4H;H04DG1SP&PMI26--;YEXH;%OR+YEL> M[7PAHVQ/H!E9PEM4)D? MP++1!S2PK ]@&8?6$J]?G6EP_9!SRK;V6R=.G*$-M4'#QD=@5[\= M@Z(YPS K>*D-,?%5.[S$%UH+N"SYY1"E; -)Q54)KUOT>I,YFAXJK<%'BV,LZ$QF^5E1D4S]!D M.AY'C6T)OOJ5LY)^^;C9](S2OQ;K]I_??U%_1_RUC@KZ_?\!4$L#!!0 ( M /&!9UBC/0Z=!%< -@D!@ 5 8VYX;BTR,#(S,3(S,5]P&UL[7U; M<^,XEN;[1NQ_T-8^S,Q#5OF:F>Z8G@E9EC.U+4LJ2:[JFI<.6H1D=E*DFQ?9 MKE^_ $A*HDC<2$( (W_]Z?SGLY\Z MP%OXMN.M_OI3'"T_??WIO__K?_^O__P_GS[]_78Z[-C^(EX#+^HL F!%P.Z\ M.M%S9^Z_O%A>YP$$@>.ZG=O L5>@TSD_^_GZY[.?OW8^??HOW,2M%<(JOM?! M;5W\?)[]H9>VYGM_Z5S^\OF7B[.+J\Z7OUQ_^K3^<6GR_.?WT+[IZ2+'.W_E F#?E$FSOG-S\Z-B+OK>4BW 8A"D8[SM':D;D^L /[Y M&43.PG*;E>&@:7D";7\9CI<#.)>M06U!RIH\C@!CJ+&@YZ]? O ,O-#9 DB MD3_2N) V;!_8HAUIA):-?/HXJ,\B?_'CV7=MN##W_Q7#.:Q1O,N:/XY@/2M\ MOG?]U_KS(Z'51L2X<\*%ZX=Q &;Q>FT%[U!ESLJ#6X^%!=<5V,D8+BS>:@([ MLW" D##B;3@(7^C8&MUD5"4PUW^)OO MVZ]PKPLW&7CF&'AP8[1RGES0#4/!]5^DU8;%2/D63L$".!OKR:W(B[)V&N[J M)/!?0!"]HVT=G+->$*[5.EO>4L/='4+V59T9LKK-@QW$P.Z_O:"5,,Q(-G2L M)\=UHLH3&4^[#8MR:WD_;OT@\%_A5%FQVX=M-+UT%!99J)C9LX4^C/]6T%M<&F.0Y6Z4E["ERT*]O]J>JFB-IBT]U?/ ,[=L' M01L&/%+@AW^-+==9OD.M9:M:15&X6U>R:3W&YE7:)I;O\W.T$9$J8/8%.7OT M.OT_:.(8^_4ZW:4V>.2]>QTY>-N6OH^O(P2YM2/LZ>MTG-:>E/U]G<[F6SCZ M7K\F03A;5[>IKC7YBW]&W@:[CB ES1QQ"U@+ HYVE6PJ[D!D.:[47<7V$TH$ MA$>&!=1\@.D]=<(?1Y"8_$TE*IB", KB110':)^>SFX]./Y71\&?Z_-*% .G M/VW3GN#$'8\@FYX>R!G1PY_8:U6 5AAHHZ7V:_KR,W9 MM!R!T/U 8"VB]*FV'KM9;1[C$-+=P&^A]>'>#V86/'U[&SB:\)]JR5;Y8T<^ MO/2L(,"W"VLT<,;+K'PMX6M_],A*@/T((N=/A$SA3]L-!9Q;XG6<_)B61_)+ M550C'3NR,OMAY*P/.Y-M_:5JB^_+TH_2M62D-'>$PW2ZIM:2@*?=(XAR!UX" ML'"R>]022C0NI< GI=PNX/_M^6&T&R!;2[9:P@HT+T6P^SC*?IY8[_479W:K M1[]>2;XLZWHE:UWJLVHM2 A-J;L/&L$]"OQA4_.04N>#ZH2_ZK%=BP[*/G MP-,[I#^L>K01Q]\3=>K"15&9#3PP>A'JW=&&(_7;\FZPX=YJXR /$WA,WOMU M+:D%FIU;0=UT7*;VG9R-RY/*#2!>@NXBTIO MV;9_VI)H[L_]"'5KU]<(&1O'D1^\WP,XRBP7_GH*SZ5-*4-.I^1;5=62G];> M$=^HTK_ML;#[\N(Z"_SJ[4_!"SSSH9_'\'1HH8OHM$+-.5MJC^2H;Z]##3\1 M";2OR *LGGRB'ZD@).I."/N#_?5"L/AYY6]^ 0L;>4A>HA^P!K#T R^$>_)@ M'EC(R[,+#RG>BF1P7V@.BT9K8:_O+Y#,\)=8X"'\1=IAU$1C[GS[>@%O$3QJ M 'O[6R="7SH[.[LYZWSJ9 WM_VAY=B=IM;/?+)(AD\+U%[FON,@AU \XU&\# M)U$__&&G?OB/?_3\#0BZ3R%^)LE:%% \7@C!\Z! MH9,]:&2MR\916;$VXL A M08K%Y_:-(G1]$,#).KT+A--$#QT\@O>>;Y-!I=9J(\;B J60?U$U_.;6V\"& M0F.K.'S339\+">7;"):(*"E,7U7!U+5MJ+\P_0\\\H)S(D0E9=L(#Z\8*30W MBJ'IP1_'P=Q_]5C [$JV&!:&$-GA]TPQ*G@.'@?XMCL)OT6%YJ!XB_'AD20# MJ7A%<5R0)GX86>[_."_4S4)9X18#Q)8C@T?!W0,:W=T 6 1 ]O^<[_H5[/JU MQA P>YXI7<'% HH'Z$Z>?8]\'CTLTB[E<_4^ Z!XE2 =@!E8Q $DR/G%TQQ= M\)< <%BD70!P]3X#0,&-0/KL,WM?/_ENB?9S?V^7ZME=S_1>//T?C?C]M\4S M>G CW,24%6L7"MP29& H.Y?_#ESW;Q[<7L^ %<(9TQZ$84PYEQ/*MPL><5$R MG(H'<^VOS'[SW1CJ/< 7M$%(1/:@7!L1Y1$A0[)XCM<>R5X<( 4EKU5HDD?F M4V1 RXNW$5VMR$J%IEQJEQ5O([P"DF3P*KM* MP#-+SXK R@_>J2]YVU)MA(0M0(9$\=9 ^X$V6UNN>QN'C@="\O29*Y57P74K M,&0+D&&HX!(BZ6)_#8(5G-"_!?YK](Q,Q2V//*I*2[<1&7Y!,H04W%(,%LN@ M&]L.;*<;12!,%'CO6JL2@,B%VX6/H!P9/ KN,#*;F7O'FT7KJ!\$?M#SX;2[ MH,#$KM0NN"K*D\%6UP#"/>ZR]0P/K*PY]>W MR'OSO3)M!('5_0R#%MZ&H-C"J1 *29$9-K?JHF2WWFK?0#201,S+_Y$-TKFU?'9ZB.J]9@RA(C0[6%MRP]@-P?W8%G@[>_ ?*. M]:!4%X65][Z\M M0XO1\0RKXD6,GB?Z5)Y[)U@/;#)0R=];"16EZQE8;;E^227*\NB2X"N M.^_?=6Z[P^ZHU^_,OO?[\UE-Q_NE%3YAE<7AIY5EO:3!#]PHS'ZSHV;ZBW]L M>S9>WCL>%,^!^TH_\6PE>.CS5:DYL*K(D@:2+>]U>:$\7[^H/=*)8('&GX!( M^OGY5P/8$M946-(P>W MD,0X(TUPX5S-DE*(3SX"4;GU'$\5X[@A+"PQYDE[YPLT+#P4:1"*3N#$?A'C M., 43D)@%?68[X>GW";U)H!?4M9 %O!*28S6T@0=#L.M'8<.DP"\6$X6DCZ+ M2)]3)X$<'#6-HTI5F26$EMD1YU+]D97GJ&H<&;AAKWL]&*$0P9HL'UDZ%136 M-]K/J4+>0M"J:$P*X:E!4$JI9PXUY-A&+L:Y6J;.ZCD:+Q_#).L3@1W4.N;0 M0UQ,J>>-PY>7X_ CRPM&H$+VY[PZOD)U'"YQ;4&=*I&1AXM\HC@0YG%R/M&KL]M CWUM0=Y2E9:MK18^JC]ZUA)5PJ%!+%[XW<7(%K2C1 M",14QO!(;^##9_:8,['>T>4MWS-7OK#N1.%!EOS*Q2&K@;3(4E&EN9B*VB0P MA%G/3+)4$UOJ/9:BN^TD3V]^FCY,U4N>7=AUS>1/==$-?%OGGFQ.9781FTYJ MWXII=/K)$GQN'YKW5$%^-F'4RBOOYK/2?%V2-K955"!U.5)T099[.\AT\,Z^ M+&/5.P4.55."@8\OAPLQWUUK:863X(V8] 8^YK#WNL1MG9F48(G;U-N,1EL7 MX:M:7B6;R1!!Z0U\Q-D+HD-U5CDHIB4Y!-$LTH%+2JGW;C=J[D]LVTFDF%@. MW+WWK!<'SFE[ZB!=GC KFDF4BG(;:$(V1;G2/6#WK<"#F_:PNUC$ZQC?1\+3 MH+-P2 L/NZ*9U*DHMX$W;GN2X\T[BI<8@&?@AO\3&T@C,8X(R1MW:/2 M34(.#ZP01^<:[7V*>N0^*9G)"TXYFSH+:71X9ATN*UH[:4D3>5=_@?'\%[FKH1@="- M ]Q1&R^-$Q#@2,/L2Q)23:WF@JH6CU7E-"/V3R'L=#>.GN&D\^=N')-Y<5C# M-#YPR6>&T6M!:IQXCYL#26DS\:?()N$>0P?LR?'W>:J8R0*6@!(N'/2X8TC$ MY[]D2,KG=72N]F:J*@G$I)/@'*=LS[_]93A>)C=NG'O]"WI@SMD<_N19Q?\/YM\Q5RA):T&,P.[_.M$,Z*:LM4/X02(_'OQK08(-LX"A#/?)>_R M2!7:2@A!BS?+SGY7LFU BXHBX;5. ME4G\R/?\O-3T29Q>J;7 BTO5T'/;!@1/OLJ!OJ-Z=DQQO!AJ(!T+\$Q^"Y9^ M /;BA/;?H"*A_(YG!>\#J%WL'H ..#Y> P<>G+S@M$F@D,0OMI5_QU9)2M[: MN5K53F!;;:3C]!;NO^EF^->0BK<59R%Y,LA;?@UX*/.M%3H+3KQQV;QR+J!R M#FT=%5B "2'))@)94!,#U1P(?^>X<41\^R>4/@56T$0UT!OF=X "!0.["P]) MU@J,XO43",;+PGLX8]$0;48K)@DL)HW(F4TO+7]SX-4%;?$1:D,KTC3*B.I$ M.ZE%C*"4=,KFM6L2;.6#=6*J.AN2SQFE!?^]/88&'R;3_ MO3^:#7[KJ[.JV3.S2B1&J1&+>F#&_\>ZX;BMUDC[?= M_X>:&41\(C[2BBHRP5_J$A]&&/$F5L8*FJJ[%):^VQ<70]47%N38$(Q9[4KD MJF(V'_?^]GT\O.M/9__6Z?_Z.)C_H7;6X@XOR5E'2;R7M&=S2B+M?"&MY@0A M-/)Q79@R&7C)O94Z41":_WP/#>+NFT.ZAZ+6T8H, MA2",$M)H4?VD0Q?0#H MEIU\2,F7TQM-;F!*SR8^L<#7TX 6[G@R(FE064,L;RQ+Q"0FNO6I,)C,"WWGK^$\ M1S*7+"MK+*;\TA)]^%0>JX9PN<*^/*RSU+9@7K8KS9"L=("BRV:@G6MC07-U M@Y^.9!D%N.1KZ&+E!4#F9^'< M)]SJ8ET]6=CJ9HW\YC$WI@!N-D,G FE$MD2O4[#P5QYNA9;G1/9G-:5YQ6E5 MB;8DA&32>;7'(:NS]8 B>*R3O'NLV:158IVF@H>%0^ M<)#JN9>Z-#7/1_YV-26D!%X)[A?J\K?NSH'$7S5)YO>6I2G #T=S?VZ]H6B] MZ#X*Z@ZJ)8O,D%^7V-L"T18UY6S]%;\11=0-O,8PBE1S\Y>[RL#S0'1*Y4E%2$HI ?54 MKT$UG[L>^=^./Y]IM:1="LDVW^TI*B:HP;J MR"3PT:'+OGU_#($]\+;Y-[H0YDT23X3NO2_>4'Y8?-;&_92(X<$9I0EQS8B) ME63;HAQ6=P6T KUA,(LL8-[@W^I+U#4FIH2;NCL:/D"EA0508&>,!*#:$8]WYPY\=/ MT3)VNW#G'4,XR*LLL.P"/F@EH*6FHN8U9PI) M2#QZEW:'D.+?NS2G-;1F50'!S7FM0-O Q(8TK!N>WL!%',^ MQ',V8=+BJ_Q!O_PD5D-K=>V[.>/D'3EMNN5X2-]C;V:Y8+R$&HET =R#Y[YZ.4U<-QF4)?P,?5#R< M#6MIKJ'LQ#H=38L:R4Y.$!G@;"@!*'FJ:DG FBS@H16G)B0;0NI"*;0)\>"' M'.*S,K7.J9*(I8*ZUQ@RV$,X=Q:%FP3@Q7+L]$"T/2#M!DS8]=(X8W& DRR$ M(2A%[+7PPCVA%TU6PT"$V.#"4 (&V@Q/ 49@K6-IMZ32BC[GU(2];* M;.J?*)QXU2'5W2M"2>--N/FGJ1D/-)4ZHEM^$-F$)2&M**>@V90HJ* M:T;^1;B'R$+J)-ZLLV<_B.8@6.]>58CV&SQUM:)*PQ0H,=.HK)(C96QJXJ*C M(&3Y:P?<#LS\9?0*T2B[T1!OY32HU*1R)-^>J;FK@*I8 &"']Q"'DMW56NO%:4:!AJUHK'4H.!N>NGX"4]Q8R7/+PAEC\M MWHBI0?()3\T.*3O]WOL!U$8:D1RJ81?+@G$C1:YX6ERJJ _))@YJ#/,GVU&U M#=C&8-%>R=.D#4L!1IHKY.Y <$H$2@**\L(GQA9^'1AHE9"-E8:"/U=M[L0H MUZ26C'3 X%=][1-_7JDW>D3%DD:]FGIIRKU"HTLFI [T_]'3P,9RDW&9I0A M?^AZ=OX7>R63.&!%ZZ*%&Z.1W'^#6U9O!:9P:/672T"\H#IN)[2BO.CEE@:J M:LKO=V\4M(WX,GA\NK2DL:SN;K.8U?.#:Z4:/[QF/"&RG3=FS'H8/%41UY & MDD7K(Q@EYAZ), ]J!,B][ZQ MEX4XSK*:EKI6[4THW4Z&.*D@S$+R\NGO(M-U/]P%OZP3H!G;[X<=;. M*?/B#"KS\+%$XS6NCHQU$VSIL91M/8M!B*;3$:"$-SDHJ!7R32!:Y >GT%+7 M&S69U@8>[ VD?*,? ;/!M-+@?]+JC>:?; MZXT?1_/!Z%MG,AX.>H.^BL0#14%9(;.)%2!5KF\N;\ZN;J[.;[Y<7=U>K&&\%)W?D?**[0;I_>6$^"7?T;7 [['>ZLUE?R5#>$_A05N:[CF!=%8&0 M>7K(&O5BC6@U#51"-Q?6N+[LK=^LDV/%,F:!Z^(LD![#9W #W^L/?NO"L:]D M#[\+>U@^M$M+*!C 0]_RPI$?P54HL&R03,?QY7:TFHX4W#;'[3-"=KZ ML9M%+RB+"<$8O9^+HW WO__HXF* =N((!3 S*0!C.'.75.%J4 M]XI_3(LTH=50YD;PP-&BGK2M'\]#L/^(SQC!7XHC> @/SDINOH< ;IH M'P3^*YPM>:>&F^+4<-L= M_:US.YY.Q[\/1M]4S %WX"EBKN.D0DKR_CX);*@)I;4:L'0$\FEY^:5I:+SE M0XT=V;8$.5\C%U@XYM'9 )][Z=[']!%X?E9B8#(?]_[V?3R\ZT]G_X9/P>F! M>/:].^U_NH4;[+M.;_R EN[N?# >J1BCVP[C6!=;J5-WX9X?1B'6RQ/22^9, M3!K+-1M3E2B73(1M<%&6>8I@,WK-$HUPH) KMZXZ6G\$WS/BY)Q$2JS4!B,X M0_0[\^[?E>SCMS(P%W)J294&QOQ+.JU*GJ*7:OT:.% IM2;FE:OU0Z^_?G'] M=Y!E5D;7@)Q#L,2$K/\P&8[_Z/<[M_U1_WXP[TR&715K]01.Q +AF;/5#32 M6LPJK,)[;6]M07>R18R8ZZQ($UJ-6#[L<) \ 5 "RD8,G M8N#Q6WV?E]B&P=7T83#']F!X+]X;8UOO_DB1H3=%2.:2*UA7S9!G]Y!CT LT MHM6PKX3NP2Q05_;6SP,SL$HS.*0GDCV3.\Z)H,3,;-;_AF8!/ E,^\/N'![& M[P:SWG",#$953 6IG%/PX@?8.[5\U).+J3@_'W2&?U1SU-1J*+/0R9U_*\K6 M_J&Z> 9V[(*!@VQCL[W+K['E.LMW[&2=6(AQ#ML2N[!9[WO_[G'8[PP&\%_( MR!M?G>%A_.MC=SBX_P.Y;F7F8TT-XS"(]H8#_-=N*,!__(,N+6$@BU1L:F@S MY,CP&R_I'6,/\YJM:37TQ1%&DX$,#;1_@N!RZA1R[H0G]K.+ZLZ=G7_/OO8? M.OMYT@HJV=A[(>R'C0F!>_3.WL:3J^3)?J4VPP\;D_P.75 L66/XN 1X1-'1 M^V'DK.&.G!0V+5^HQ2!S"&)&DDN&4R+?2!=KI,6T:$!0,Q+?H#="N*9;;KIV M$&L)F M17S8,VJUF )5)#,C_A_10XN/$KS56\R-6B*F)+EI-TD2WZ'$98B/%Y0:+::" MJ%39%=-9N^&GQ%3@8P-_ RTF1TTA,ZZT_#ZRYWL+@*Y@L.6R$_Y(,H&BG\CW MT:0:+6:#J%09_"V_M\2[)TAZ?^$@"Q%T"]=_$+WYHN;OPWN, IZN( M%U$<(!QJ_/M7,3F*.8Q1Q M64E,RA4__1KL(* MIDCX/A#J-(NR\\Y%J HM&4FOIO0@-4'/YV,O+*51^X66F@ MXEZ*A%O4:A[@S)+2M+BM=V(ORY4B-+P_%X=W><84E2/<\-0IE2W,">3^HCC M7*-I4N@RMGX ITDH1(;LE^*035*DJ!RB[W%"::V&("\J>QR5QKT^_DCAL\2%*3[U1O3Q1IH8CKZFO5F#/X0>Z;PXIX%FN M3%XQ7]5Z$0I@5P2<+18%;[6HE4_@W2"PO%5BL73[7LA,@^7=">W9Z()D9*W! MG;^V'(\T!TCXE)8<8M.A9,XXEG*T9>+DV?(B?XV%?/2<*)S,'L,'L'X" 8%0 ME!I:\N)H&)?<9 JJRL#U:3NSPTTP&, ?28M4L:">;*JR4G'*)O7&0PW\=\[& ML>$))+P#"Q+NY'Z M56 +^C_A[ V@%*(>C U_SRQV'E=-!LZ .P7NCK/Y R\\TCH+>.;%5SW8KS3W M&[QQ2$-8\+TZR/RDJ>P^DJ8DF)!I1O#"E%"J,;R]KL'INE\QFL92E",A+K3" M:_6]++A"U^8EX2KV<^&JO!%O;U+K])=IB MCOR7*![936M2ZC8MMFG>'IES+=1%8@V^YRG+>K>MV9H9M*HOLEE^'O!4M%RB M56:S6U&FY@5.(\*-VD&N1J2N_5>&K3,HD*;E1)'5$9^497[ MEU8F&MUMO ^Z-?"6?K#&7+A]3_\H<,81:4VKT2^4D+1!>5MO_&*8NV&]ZF_#%4 M@U;K.,,IFU23MT/='0?^48PH.UYNPW.DCVLD%A#+ZTT&.JY%0HB):6#(FR0? M)\X_\.1$/2NP]\/PH5\$[U M./0XZ50CT$1>K9_UB&)1F3VU)3?0[0&>X0"$ M,$HO*(M!YO&M(_$=AJ>R622J(;-4IP(U>2&Z]@8$D1/"89,^-A"H4BQH%BTX MY3N*=;XF,3(?0[",W:&S)'&"HZ99)*DJ<,J:)A.2JF8-^8:221N>JF;QIK+$ M*7$^&Y2?;+!^L9P +[3+H>^ML%:2J^WOP+7O_>"1N AQU36+.M5%3KGSQ2#N MD%,7[-1$H Y/5;.84UGBE#A?S0@(RF?OV_.]!?"PV8WO39WPAZ@!\$4- ^!/ MG=SG.^C[[; *9E> #/M\ ?_O^NKZR\67BYNKJ\,Q=:QWY . :8;#Y86UG!X$ M-5_V*,PMJ\9& @'&#S2-PB MV#-9J%9$K&KM@)T'.1X"<,A.)( "S--\O?=0.65Y>:GV0%QU6X(^!VQ%]*LK MP P/]9)!Q CI2JG1#J+47!VHPFK[^%[4 OR8V)JPJ]$.G!E0\>S[Z!+KM AD M$U9!!KHY*+U6.W!FH%2"S9DSYR2 MM,PAI+Q02Q#D6'T%Y-/*;!>9GX^7N9Z7+K'4LEK!*(!$'CXQ\1J<74E)=!QO MY0+JF8A83CM$Q)2[ T9,0OF@8 FR&;IDGBLOI!48Y ?DH5A:US&4(R.PQ M+.M:Z4Q&+ZP54@+*/D!(3#[YPV;@K0)K_>! B0?> CL^D2/0^\]?S@Q4^F$\IJ55XT+S**HGKX.-TJ:$6DU,)7G+3<(7*& M_C+BPI9=G,JKY$H8AR2&#Y_@+E(J/*5],PM&L(3;'^E+&;9:&G,T0UM'R(%Q\H M&GFT$^ < L_?^&0\]_^N'Z"UQAQ3- GFL?I&(E ,9^T[3KI8').D]A$)%"/$ M5G()(%6F2/T]W75!@FN]XI-%IS>YPAPP9#BYDRMHA9L<*PJZK%)=/-0XOQ\!-FKDE?;C1YVMX(H<]"$)7%#.]8-")Y\R7O6S,U_^X[6?UL M8#O>*F>[5GJ]SE?5+$[4EERJ8WN3A],=R,7=$*'T:XZQJ M(#/J2*Y?(CP>9@2^'2^BK:P/EAOF<",TG"U8KI?*FN!*F^[MFD MHID?&,[@%R/UH)P:GHV#0?2>K6 EGA.BF!1&Q"4LUY..Y=D=W)=.VAE3_,,4 MIY,YQ#O-!)2DT*6EEN!O0J(;J+T LKR7X5: J BXFLT[W5;N4ZO#T:\&M%=5VG%!: M2V3%,"EB*B*K3HCBO5!.;':2B9+B.3FOSLS 5$A8+4R(:M/AUG(1>6?/ /!D MF"(5UY(.S:_<0N(W1!!7*VY0UW9R!2WY(80F'QDHTC9T"UV9#H3;(WB>"6)@ M9PF3LI/[7LYDL@4%;]W6H$^![^"FJ);HJJD@\_0W9#QH\E35DB]'/0?25=&: MJVG:I6#9A$(KKR4I*D-X,)T("R[5"J]2H"G&^I(>EU#$8,?#$-T"#RR=0F!W MSEI&TZ&B^$=YS-3LW>'6"IT%BFSNN#&UGAYP M9_"30]J=3M:?#NQ0!_?HX_VA3G8(D(8?'_HAJ^NE9;6<-L3>%/CETL)]K5G, M>;#6$F-^U!B('W\[H.9AX7?@K)[A%-I%]ZLKD!GYX#DT',=1&,%Y%NV6Z+. M:#-:DD=L@FA$Y(;V$GFC.8UIA)?NFAS";6A)H$8H49UI9,7H:)O90&J918 C M3UMNSU^O?2]12#>* ND>%NT& +-]IR:[J-YP'X=QH M=DK2EH&YD @ I(>8 @YBTR2IE5.B8A.J:>K6SX?C01/>'9[6&7LY4G$MF22V M9Q,2K2$F*-^;'0I-VX.5EM42>"$HV4P@"VK@H:]P?9=,D)R<2$N? BMHHAJX M02&(CY])=M>UK!M!P5:TY%&]9:6*Q#K'8NE"3=A()F<#9F 1!_CI'>8V/]L"5)A6 MO[!6JP"L4GUDOQ9ZN;HX.S]\N9KV?^N/'OO)K_>^T/&7G?0;2M^BTCY,P<)? M>0[F/4I0G."8_I$QH8LUH6#=(F!+" ,LR3M%(M::ATM\1;&JPBYN- %LG _ =N+U MS/D3V!E/0;>(NTY_67T"F6D["MS))&1@Z#7,0JF"K"ED7W6(:D,X:0\9SNBL:GFY+_6(L=W ^TLEN?7S.F_J M"3HQ2?#P"^7O3O2Z"_1(BVUB5QT9A0)UI0ZI!I\ MW"@R^,@TDD8@$0R/"DE,MO3(FNYD;7]8>$B6:L#82OTP3:(50X@.9(JW\6^_CAR+3&$@* M$L4#=G71=0I-NIVJ6,>V8D$M8:TT]7+*UFQP2=5&=&5GA(R_[XP=(E==O?DA M>KJJ+K)^8+5F))$V MM.17]9FIMNA2G12A*\O>H&-!&I2YA MMI+^O=/@Z-$U6/>B=*RM6?(5BRSAQ>9+6=?#34T%!4@X6_?(Y/H M:*]S]Y838$_U!SB4XB1R6-C=6(Z+KF_N_6!FN5#O&Q!&^$]BSW:710?M^^Y@ MVOFM.WSL=Q[ZW=GCM/_0'\U1'.'M5S\M_> 3^FYG[\-*W_2V6N(/NT&K\@\U M+SYWX"G:Q26BQ0*AQ$BDHJ2MSVYQ[WAPD74L=^"A<.XX*"#Y M-9!06DL25(6T2 X1J5M/B'E@>>$R-;W&AG%P*S9>EN@@1"G(PO(_T=,B-O@) M+:DG0I@BW:2KI_4=E2:<*BYK9.0V!]))$G&,->?;[YJ"\IJQJ=CEW3Q<='?+\9!E,"C2AI;<:6[[45\7 M#3F"J5N$#@4_4.X:CC+T (<2.*+HZR16B3:C);'JTZ%(L484T]2:5IKN0HU# M D,OBT6\CG$JX6^!'X:/'CQ!NDA1W^ 2<0N6?@#(#HB-M/W!T-K:.DH.5K6T MW2DJKS9.9I*JGRSYA!0BU0M;#;_R4F\?*F_?MS]^=T ,7M^'X(-CL&<% MP3OR9,=9"\;+K+R8==\?Q[?]H9C.;=T;?![;#? MZK^75Y:JTFF M$E[EYTJVD&W)7,4(==KSO=!W'1OC@V==0L3:\H):X5\%QAT)!(74\QI;&&UB M7%M2T;PR/JMU]A'$C 4V14*=G(S'+W [@])G91D.J#?,A-(MP)$"1W'N%A%3 M)S E)UQ1#&R]*;FZO!SAQ!7EUZF7:T47.(4!*0&5*:6L8#M'3+RB"UY,7>_P MJ2">?GMAK;*PM)4$->75XNV6(PL+$W=B83-@%A//P!":V99DR'B"+Y33$_]: M6RT^&0TF 7XM8Q E]$2?#[XR+"3)=-OC6\,\L'ZQ7*@ 'MOILFO CPV]H9) M5AX;3PJ^L14")W.^L>WUL;/K9"?I91SO[/6WM4URE-B"M/Y]_ MOOCZ]?+RR_G-E\LO%X<.',=^I;MW/"<"0Q3J MEBPXYIZ0K@FI?A5JHMX//!LLR?K8)LEBW)")-J,ET2KSHDBQ1O0A]<9>37S, M[N)?,;ISIJCZ=^"LGM$EVP:@_,*/(5C&[M!9DNY'ZC1I.@T;UXW4&5 -)X-EO#Q4!&FS3JV45]U7 MJ+I#T=I-G K2I\3Y(G67I(TA1C^,G/7A3)PEE12UM+BL:&FQ[43>>B+KQDF: M4=RBYPL:;HU$M9ZOZX(IMGBJJ MR8Q@@6**^0-8P?S5;X2+:5L?%!36CA9.+2J8![\L?H]%;>V#?17T(^':2R_^ M-7-J/$TVD=30U&77WO'QN!O_U!,US6Z(WFK%=O/7Q=A$W5YO_(A254W[O?[@ MMR[:PZO7R%! M'#.VH2.<.8\#;G:%%H)>42@S]H'X%F5/8KB T*$G5V@Q]()"F;$%.Q"ZNX3] MZ;JN_XKBN]_[00_*X6 _OE07J7_0Q JB=Y1B9A=&L>_%:QQ\A_BB).=C>71N M(#J'R=$5;/D$R<1DHTQ=-;1^;4#PY&L3BK66_GIHV@#!"_H9688>C>1<'_X@ M?(-Z:V@%UXO\Q8,2-H&@+^KT2EJ13FQAKR"8K*/R<6F HAXG<&3C*/%$#D&P M 6&:Q(7 !JZZ+29%=?GJFF^4QBY0,4GL3:YW?OP4+6.W.%082L?#%B9+L+SU__1+##?/,7T:O<#S0#(M9U;0:PMQ(Y;,45I#0C%O?>^[YPTO!D+R[ 8'DYHUJBGL@G@4::;S_# MI&K"E!L*HM1DZR!:E?:S1E@Z"1XCZH^<^P/F8)RDQG.BI]%".$7B:73_VSA> M8IEU_\=9M;84/),B80K@J9H;+-=G<+ <^LWI/A54EE+6N?5H4P+>IH?X?U'> MY9T7T-(/UA6BJ7XI7D8-^]U9'WGQX*]TT&?P8,E('Z(,#(#;8X=< M7,G!$W4&J_<.A(O P32D13"EU-!J-/.BDS]YBLEVW&AQS&QR^;=W8N; 8C&- M@>,'8P>GD)@<X?X*!X12\Q,'B&8K<704 WWP<"D),$TPJJ?L'7!B$LL'"6\E*.#L_]UL4)B2$J_:M=FW M#!E1$QFUM,*W_C)81VJIH<'4Q$;9IB3%FIBB0&GCY6.8.&N1C$AI=5I$%SK8 M1XJ+(M?3(DH4LLV;RW4K!!PHY@%*,5$,>G MM;Q%)M[ADD(KFM? N1XAD^IA+BRN?CGI&'!W;=M)^IA(-?*C/P#<3JWAKFJQ MNZXJ@Y]1U70Z5!'?P(!_NYM0UOW?03D#^2$FJ]1 ?-<:[!V0!KBV#:B@IG3@ M 9*U1R"*)W7WJ"9\[.S9#Z(Y"-8L!A0+&L4 3O$,C,;/ MY,O+E@EI.*LA+, MM'M!+,O>,R-A96=7T!3AVEM <:&;LH31:)SWK/#YWO5?MVM==Q$Y&P==;2MKQ:**^!H65D.2(9L:]-HXM2(P <&"$J=( ML)D3)!FO%J3>JV9VV$>V(;R/H^SG;!87-1TL6 YO30>3QE,+PJSY#WM!_>P% M+R#!#S?PIM@+IK*9:2^H%7#\8.S@%!*3 \,&UVK][ 45HRV$51[B>@*WR5Y0 M XSJ*?O@FHE;8IWM!4T#A2GIB=D+MGX9K".U3EB7VR7!B6-[N(A9>VZ1)EK$ M CJ&K!-K!348>.^6:)9@^[:G%\ZL156;TY)UM?E"FHP:TH^!9@:\^J'G*Q)L MY8-\_&HQTK!!0"V43$7"[7SP3D0Q!N;D%E',O1\?GM"J-I-7[^4'[VAZD6K: MVP+:.9LFYCO4S ?M!/0BU8A8;]K5I-L'S3CT(37GMX;T>O3L]$4:V/VW!2S: M7:-_5>$:J:T/XHDJIV[HZM*(+0!)=Z6Z C M9V805_SROO6CM]R)'V(/ZEVZM*'#Z3%:O7DM>5B!0:(TK*DAJ6](F9GS,5-Y M!S$Z>." N6$6Q'-OJYH8RG(:XGXMS>P]?>S?=?I_G_1'R"07A?(=S[_WIYWA MH'L[& [F _C;U"!74:YOI(,]F4O4P# 8$&RC,7.D._""J)LET1MX"S>V(?-[ M<1CY:Q#TX*&5G8F.47]N/6#P'^%@6^!-\31RVQW]K7,[ MGD['OP]&WV9*_0#OP%/$[05(*JQB8Q@_05K!HW,$["TT-!= <@4MARL=E]R^ M3TRPX[K_"2#ZFQ4XJ-?(^;C$#9!43$OT!#$I@LHE92N@+'7](Q?4$DXN-.@@ M4J23[R_6=>&6"Y'Q%KW!P?^27<<(1;6'A:+?@PL6$0D;ND1Q%6;-<]9DQ FE MM );&+/B..013T^D69[7EK%I5XA#?1)[5$%>EZ7&=Z(C5Q6IP2 MTH*!:Q^Z$1YX813$:VP7 OL&0ARJ$1N3V6G 1FM%N@'G;\!<8M74@8%NI5.$ MX7@Y\&RH&F![( SG_@A$<'@YD>62ECQ6-7,I5$ER QU#)X&_ , .[Z&*D0[# M;,(F7C(2RIM+%3&1I68E.%>^(>+8\)C+!*:4=9TJ-9P@RC9QVS#F=?;#Y$9. M@T 5]7 43\RCV>3,(G_QX]EWH4QA_U\Q[$37LV?/5H#?B.R>OT;>!/@S(RM MA]$-$++<.3\K6N[,YN/>W[Z/AW?]Z>S?.OU?'P?S/[ OP>Q[=]K_=-N=]>\Z MO?$#\C+HS@?C$:RS_7H=.Q^2Y?VV<^.E@$*ZL$?>"ON?W+[OBJ0.P;0$0Y(_ MJ.(&>O$,[-A%\K"Z'I;U_=4*;*K=45/MY\?T9SBF#V,/'OM5]BCLRUV"2]6E MU"O-(S\YBCT**R;3<>#E>D-F4Z$U;\B*064KF?,-64=(:CPHZP(+I6_<#\I* MH!%9V]$4L8LW#H_CJ\!:4XQ+R16T O'8$V9%]1S7$JG)##"M> ML"D2R[=C+>]2V%VM AQ,BFS6RE>S14!2<-A!65=TG2R%DLD*?H R?>?*Z GF MD6=LMD8H+Z4:3-*5%+03VK,GKN41,Q#)_)26]&/3@; .'$,YVFXCIR", F<1 M 1O?]"]Z1$=2R!-154DU,5/$KU1OE%W0?A$]&73D31!3(12S'CW0INY>:$-) M$\29")!!HT@E:Q$@G3[1VC3PD'V8LP&H?_-7^//[_X# GX$-\"C'3[ZJ6F-' M >+PQ%E#6OT>8;C9 ,N3["8% M"DC&FU'%$,BK2-G>&P?29F3(#)3#B)+=J+AN]-O)-$RKB16,@\1MXC?+C<$$!%@Q M7/0B5?Z@644=F7C743+HQG$41I:'(N(*3&-[M3X()JH !QD7+0B5/W@5R4-277@:_+N6=J1Z_JEQ^\R-(*CSM>\E\S3/G+1?_C3I5$TM#;GW MD5*?J?$AS:O "H)WY.YHA<3';W*%#RX)Z"4ETXU!X9W*#R1;']K=R617ILHQ MD*?!TZ9BPWK+[EG/M-]V5=8P?D('P9IHV5ZGT=,DHT3=982L>_-/6HG5[.DJ MZVH4HY?@](V0_0K5^'=.D]_'56=&>9->'YK2W,9R7/3(?>\'WV!=8LXZ29_+ MXW4#\;KYH+\!2BUGX\:DX)F5 M%8K_YS<01MNYB'A_W> G/M@O59,9P^7$[C1[7?@=.*OG"-A=N"Q:*X#_B+)2 MW%M.@*T[%"\Z<4CK3 [MSV=VN/K^VY$ 0;9P'*M3WRO0U6%E9LB%6U_W=DC#CRHS] - 4+ M?^6AQYE=2TFE0^T3AIBR_ISV*--+[=E ,\EA39J&D^GKW@_27Z%RI'/6<3OQ M,:04ZSH;1\:]A5=Y/&+N![9A* =>%#A>Z"SP5F +4=.OA+4[=-KC2S.]9V-- M;IX_'7.:W#D;QP9>IN-0-+7)11.I3;).=+)>U$EQ4G^QMP)D/QIF;M*$/";D M8BJ2.J8:#*$&D7T)+9-(:=G\L#A7&TJ2A4 N$R.W--K&>MR*0 G&ERNC%5CB M0%! )$K74!0,-YF;58),C<%W4$IOH(E@40"FR*4:8F)NK*3K8X\2%[Y02&_D M*"@,>,P9(@F(^W' !G%7RC0,&9))B%BBP6EDR(AK2"RO-_IU-KI+G5[=[6@, B>B4CF5-!9*D1^LXU M?L5#/_M>HJWR$LDD#NQNV']#OP2B#WV733ST[?K9\9<=W--/N*N=_;YVLLYV MK+"3=E?IB^!^@OJ\4ET45!G9>82%Y^J0\&Y8MS$5.3-=W"X@L"^%B#!U\57. MC^<+M5-8,WCG\F=65X(6=^O'L:";6V^WP -+)[J'./!3K)G&#:>@1"75/4S> M)!3UL-V.K8ZD?*-T!*+Q$BJJUGR7-6(XZ1I01E.'2F2=N4\M'?=Q6RLU7"=Q M[?-LE**R"YO?P*JBV[:K)K9MVVYU<+\ZN&,=R[,[J&N=K&\?>S2%>[3&DBB1 M+&6E)&DR;\:3JR<#DP'E^EC'6/ALVUO0_F1U:R7\,-"TP:<@R.3F;];WB2#/M9+;5*C.> MKA9WC2*]-&MUU/ RLC88'Y?^4M2N\? T:TP><:CH.< _[D<_,B!\C/)VCO(F M,/VXHZU\):??(!?LW\<@;\$@;P)3J=$&3%O)T^O &%)?OQ$NTKF/X=V"X5T; M4 /C/NC D7:=P$_C+KM5 [LNGD>[!]?1NQ,7164VE@L_C:WA1?TYKYOPYTR\ M.'<]P6Z<:H/N?[AOMM)]\PJ.ZR\?[IN\>C+0#+JF^Z9B AT'=B'W3395-#^C MMLE]4Q/ZL>F@PGU3=R9.X+XT\M=82+R#F

0ZKS)J6&EKPX&L9%>HFJRL"E MK34NG[JP]Y'CQ8ZW&K^ /.%=(U9O\'\@+E6.\EP()K+E]*L MU&:$T4V5<@^@,)9;T J=0*1:6K%$$OQ$?@DIQ46O M>]+LJJ : X^?=&U76O5.FE4B.I$0/EDUG>[2CC>WPZK1HE9$%-QB-2VV%FED M&Z-7NC,0F[7X*FM%&EEL(/.M@G(,W'EEVLCM$:JQC:>)$^=<9149N!]C:+W: M(GGB_#KQ/9D8E=I (<&]E&+\E=U2]_92SV5CH=(]]07CGGKW(90[+OO4QTUU M ^L [%$W#$$4CD#$>5(JJ]+FX2LLEQGWR06QD<+2WZ43V11"%FQ "/=.W<4B MB"TW1%F=7BUO@1[I[OSX*5K&+OR;'WN%1U)Y'\JC\OGSS5<-_$6$:<3!1#F: M,OA M=74VPHG0RZZQ :??<2&U] /P^S7CG9Z-P\P0+/MW==)R M?N"$25M'0PUY[1I&6M^#VI#(V:3]#\I645#*V,^GQ=B2A2DK,86(-KHGV&_X MA#E:13,I.;\8%-RDH"GL0L!+.%SX9$A$EC8EQE=]9BV""T5!IE\A\9VE@T@? M JC>YW1XE+E,<%@0FRI+:)\,O ?$S.LEY,]%DB?X6P''&RQU<^&2H0I8V8X9) M9E\%\5'LOP3"[!Z'->)'"!FG59>3RNV5#=1$Q#.+)^HQ@9=1HMJH:TFF^ZJTIYI)X,.39O2.(JI%4#\H M5$R2;F"[J3F8MHMH06*'CK?9CI@F1K*3^"=*+5PN2\_1U R?4.J[B17*@D=%UKJ3S\ M<^V/94(SB)$TJ2!R70,E'I(T.5%T5ZL ?XNHJ_$R.2/ 31S^5_%2:^1[BR2 M2=G[''BA- M05)61%<$*#HMQ8 ND!(8YJ\^"X9M$5-@H M$N3N7" ,LPQP/>X6,@8(A$N4( M)@^,>S\.6%CLRI@"!4,B"0ZY"O;6I0:*E(Q\Q/)Y'=VT>X-635I9$Z4!1<0DGCA%XB^:OP-V !]^+GLM3V/%5:@^: M##0.IO)J@DL]/E"?.$3 )]#8*DQBV2!CK:+ K ?%#\% MX'E$EAH12!+T:'O*C_Q!Z1, GD=BJ4%U9.'N; 1&_$'I4\"=0V*I<6F:Q_T6 MO/N>C81"PK%P+RMM-N[<$DN-[M(D[B,?2X;1(.-=+&4JSIR24@*DJ'6$W%Y$ M=./H&?<$R4^Y9R%7T!+BNA/8TX3\4J/RD_<0544\_0C_4ZWD>F;TAB\=0.MZZ4:KV+0Z[^A #UB-O M$]_0:H:K&F)"FB(DO,SI0\K["5&.U(K!A)+2%0SPE$3-#'RT8(5P_7S MR07TW9= "WD]7IA &6XQ);RNZ4,7G AP^RMOQ67"Q-&$@83AE],,?W["8LVV M;]LO;00/.$1JZI5+65B[@R3<*!:ZV)'HXNS\\$C4?Y@,QW_T^YW;_JA_/YAW M)L/N2.GQY2!=X!1$3H!#HUJ-_0K('SQ:-JT),TXPV:5X3K^[4/>_.]'SP+.=C6/'EKNO MF?#V/=,>XZ&\3M.&<5"./F0=B(ZV>,W "FD Z]1%X6%W?PK3O^W%3NV^O+C. M EFRS_TI>/&#"/V\M91**X1BR]]5S MZ_.+SV>?KVZNX#]NU"2JF"V>X6D0TF!YV-,]<&[?TS_28L96:$FK6:H28L79 MJBDUM,4$/PRB/9[!?^TX!O\!=YY>Z+N.G=R#HJ-CB#&D(XAUY!!5P M7-] 881+G75I1;5"61 +%H@4"8DPJC0\SQ99JCRDL=<:3 46KMP"VF M3F#V_ !.2'!#./*]M.M4.(GE30-43%#B^4"5UW68=+GO.IF5!=OGFE3'-&C% MA24^<*C8AJ.'/-3UVSAT/!!FQ[>RW1)7':W@E;=QJJX+;;WLTYY3(Y[DRN@) MM3 @): RI3QR6).A%:Q =[% =YNT=95>6$^\F+K>X5-!//U.LZ3(-6L+IU]^ M +83KV?(&C%C\/9.C1+,AKNV&22H*:\6%BFDN/WQD^LL9F !*U B]Q=*F0$L MIUP&>F!3=B9#1JP;GJIZTD/>OJRJ2@QDUBA&XVB\W+UM9'LB I_(%?1D456L MB[01E%SJ[N):*5D*5U ,KA3*GPI5^ 27&ECF4HTE@A-::>):[ Z2AIICO$LR M:IG.FBKB2UV2*B6,KLV=5.Q[J&9L. %%1^84O3B,_#4(^F\+-[;1&RC:SX?8 M,8O IPHMY95\!95\J 05^<@K$*-(KZ:T8>#"MIVG$S-3%)^',551:FA)H0:G M*5'1#8PD6:("?IYHR0]14+EH'$A]V6+L>#%41JI?9"0*X/2\[U_=?X-JAJIPD%$SGJVA%A=H&?==%^LQ M\3ZG>H1(^:*A3#VVQIK:R.\YK:C>R%/V'.(;KFJ-:4G.!O=B#6K%R-B L.\+ M)[/Q[ZZ1DOY,_LFXB6#7;!NUZD^)595BX(Z/H@IQ1FG)I*I@"]'F5.B2Q-9D MS#GY0EJ2HL&5BT-:R0%&55*!2H&\,JZA,@YOQ11 SX$7">12>0P6B&)-[%KN' U:P M=OLA;T+@HYA/'-O/=6\)[,'3/D /*^@?4R?\(>JU>D'R6AV,[L?3A^Y\,![! MW^:^TT$?:H/S*;G8:7N8*IX-6.@UZD9J[MI?&/NW[[? 6SROK> 'Q5V"54TK MJC1-@R+!*JF#P]Y>313PHC29+%0_"E8U+3E1"3D> G#(KI.7(\/(@NH:QU6W M)>ASP"9LH4)1@$X4*!D*<_@YL54@JZ$EW$== *B:T-9AKB ($D-LVM_5R(O^ M60_#1U&H.,!F2*QM]NEOP%\%ULNSLRB(1)WPF?7: 3P#MI)[HTIRMP!^>'C? M19LCS_?D"EH"+F^Z%U0$Y0))1P90IWM:%2U9((@5+]A5YGMM$+[W ^"LZ $O M.&JV".^*\[R8Z-*!9T2/FJ(PCH208-N_:0E:\U,U6V:*???Q W_AKI:.QX._ M:@4?6\DE@&BS56) \F"].>MX300E]W<]8:'T+0\,6Q9M=[%']3$W=KJLK1(# MS3 +A[P)"- OK!4XY[T,V:NB)Y.JXLUQ+<*2_2C/:<=[5T_'Y,#99?WT[%]C MRW66[^B!,@GO(Q@2^KHD)'3O>__N<=CO# ;P7[]UAX_) SL*$?WK8W,6DK)7=N'Z^0'R!0Z0+VKW M#V(H9ON(^C(;^,9>S ((A07&!JJ$+;W2M=)NI- M'$]5K7C1 (ZBI*!HXAJ=@&7OVT+&>'!=^D!P9C;MR"_&F0+1#NP$M M:#L%;+5R[P<]N+XY$?)QHM[-TJJ82H'*LDMUQ#[>=13OBDJZ]*C4AE9D:GI? MT9Q&VD*QQC8FJ>E\I9U)6K>UU*)3072'0M-&0V>A%P"Y9,\B*XA:0:[>,PJ' M;,_]GA^B?%ST>"25VOH@G[!V3FZ.NTLR.Q>=J$2K?Y"-1R%UO:QN$GYY*-I< M6E9WALE910^=!DZ"7%1U-!3)+5E'^QZ97(T\-N OAV#Q\\K?_ (6=O+Q@1&XM,C R,S$R,S%X,3!K M+FAT;>Q]>;.BR+;O_^]3&'7NO:<[HM@%J*C5??J& RK.BCB]>&$@I(),RJ#B MIW^9.&S=6_>H;MC2T56E DGF6K\U9N;*O_]WI:F1!3 MV=#_\V_B ?]W!.B" M(B) MU/CCT<#EU;E!$-&#M^UN M-\'X[*"I7_#JX7CE%^@CZY;-Z\*>/B*0CXFS&S&\<-QARXB11.*EIC=W;!\X MNG$9]6XC4JG4KQ7"RJY5((BG7P\O'+U^]8SO1VVBJ_M;3[X;=I'XU:M66$$" M&H\]I0-D_NFAO<9Y$B.I([#))\%&;< F__CG;PGPXC]_:\#F(Q#K-M#AFVVP MLG]M"(,>QL#1&Q M;%<%__FA\>9$UC';F/V.XC/[+_C27_#RT3VB;,U4WOVM&SI -\BKWZ@U8&X^ MRJ((=.\CO*'F:,"4A4UW5W8+@3%M#>OC(4$.H\00,6H($3YL\?H$I%>RY7VK MRKJL.5H5:"-@#FO"R)D8S6R%+C! M_/BG$>W__>NH]Q<=S+:[PSS\U085>0%$1H> FL@C%:0M"]A6QJWR4\/,JKQE M>:WLGLD:VLRQ@!HC5]3$<%A1.F5<;AB4C8:-74 XL M-+B*;-E'(U*'TY(2[R1EA:P6:2VK,NE^%2+@)?/SK[0@F X0=UV0@06Q5K7,7/!L:-VE5D,D[F)O*8,SG?-?BS16XN-XF1(#HD?_^!0U>-Q/)I( MW+3#6Z[E94O@U3[@35H7BEYO57ZR[V"6 M*>7TNI;&E++.Y-0%F8\/YS::0"B%0$]@]'?Q'H+_*V8WZ\!7I3.J^VP +H#F"! MN9 %P+38[? 9QZFEI\/_X,@_ZCPA8]P" I 7/'+RQG#0:54UEBB,R4-'TP2B;'OXW1BB%E A M',0&#]WI-@P@'ET&6D?=\LA_-%1K,1_DU6$3X&ZN;$:K2G)8Y%_S' Y?LR'X M#?RFZ]."*&TVS@[FAI+>T^7%',Z_:&VF&NY.,?L<)^^GC1)+#29R2K=I,.[U M!Z5%5"F35Z?-9ZSDTMCJ2"-)KI:I?(;AP+J: D*^H$$]?PD;69L[779JK!5: M:Z72N)AOS)4U%*3&NTSD!X4C!T8V"P1H$E'\DN=EL\.K#LBX^X]%&8[*%"2W M JV'^D)8Q:4*4K9:HM(T:=)S4:K9\^9P^8I"V+^&T6',;WGO(&Z%_@L.7BT MC&2S7!9GHU/=<0KJF%9>LPSO&?ROXZ23"<8 RJ, K'_^1KF]WY:7MH/4B'BY MOM\H(_:?'Y8,A0;E\+S?)"]+BK"*[:3J866)*''VZTF;WE?+<$SOFYC7NM@N+F%K"@#P(L9&F./)73NF?GIMAB$LOENE.%E!*S?E(V MBH4.U![;[@$O'MY]DT7T?0SY%_%( TZFK;-,^3@M M9JHLR-MD5$24-80,0W\$U]M&_N.?W?TO#?WO7R=?^\^NO_O>_3I%BIFG<_8C ML:&^1F&W%Z)B. '_W[>SO[:GJ?AXZS8 /[ZR^[Y[R:\CK-P .IZVSAHH"R+8 M7=F6LHYE0X\8FK6QH^\3-EMW8]A,Q!K09]&6"F;R!#FNCM>L,PDZB#S[\V8B M?&LXD4=P(J^BB0;1=-K.#>H\UVWW>O)Z*/2'%92J-:.!1T]91B:Y;E2K#3HLCW5D&'0A?ISYN (GKA$6SQ7K>5*>,R#EX:6#'C9Y> MQ0(/A"_4"*1?V/].C6#46FFWPUM9NHP/@-245MGV*O"FP1<:X5J0N$YXHL?< ME2@Q>@.7]8;AYGJE6C8?>"!\H48@_,+^=VJ$#E,I%1NM1$%Q'))H3SM.L9,) M/!!\H1&N!0G\*AHAFK#[":O?<#BW%"^8Q9'=:^.!SWI]H4; _<+^=VH$$DHRX"[RSZ0B-<#!)OG:K;+\1&NQ'0PA!M9NCPZ_&Z_K8) M>,LQ7=8V! 7>H^W7WU&+/I-?RE.2(U-C2A0:2G= ^S:+^>)H'W7!V>'>Y?0; M*_$F:(&98PH2;X&&:4Q,7CM8FGGRNI6>3$PP@5W;S;P5QIEV?9;E<7Z\D&)C M*6HMZ[XU'^<'O=44;QOU7PPMP3 M>\_XU8F]9Q="4%YOINVR4ILJ]!$Y>LQ*[:F;6X^6N%L(<^JX[+OX'2?3">&47SCMBPJS8S5X3(J M+I=3+7,\7;5;T:M')^].!1)8%+\TY(GD$->PW$A+Q7LX:58G]>EHI'3C5S>: M[QH]D;R.P!.)84>*+8OK>)_"*;DS6@&H5&-E?_&>2%PKQ#OKO[\IQ-N$.5[$ MLU5WB:(RY3J36%O)DF6=PY6\:2B^#?/?&-H]&^9]>N@?A 25IY>S)8:W<)9D MF%3,B>72_EW'[3M(^&%]TN<20<\AL7#[D^RT%)>5LMY(U_N8U&R.0TCX.?%S MWD_^9#(PD:UKW7PW9],%>["VS'HT(Z6#CH6;) -O&PZ]B:PK2_;A3GNRI5N9R4WJ&S*O\'NV_C\XI"_.[L%P=$<;P^PMW<8W68" M"5%R 3:E"';EK'AUHO<[;H?F73O9U"?8@*X%7<3?//R P>"]<=YYZ]UM,2L# MM&,VI^E-5=293+Y$!CW>N[7UOOZZOT]9[WZ]M<*;"5+G"KE9?U8NM>M"X+WU MFUIOOS#X9>M=YJ1U/ELR\C@Y&:=U3,S:S<#+\E=8[^LOVORLVFX,9U3"S"@" M/D^-1DTQ7JC7A* [:K=6V]=?G/DIM2VQEHDK%7I!LSJ=$]K40G+]-Y'I9[7M M%P:_K+:A'#-N6 MUU:9U0BZ+]=P>;THD>N1F*DO?/'(PNH/$L/'H@ M/.["Z:3(),I*L:GPA:A&U%-+ MB>1882!W9L)0KODO9+[^VM\W >DD":^#*2)U64R=2*"F4>769WL;6\"R35FP M@>B-G]-EVVJQW"Z+QACT/$W@!D=5BJE6NK](35S?P67OFQV.\- U?V&(?D^0 MOG4YXT>X6ZMAK3$SKHYHS$SR3*%2;0HSW]KOK^9N8)8Q?@0*I#4IKINYJHL[ MJ\R"@>2?M_40"D%=OOA61^(C4,F626V)E8<8/:>:.7.6XZHE_VF-Z[L0O@*A M'W?*7A.$"];HIO()W<%Y(1>WVL":UB7?.29W!D(_&L5K@G"=9Y,L&3=+.#]5 M:AFG;"7F0J@)0W-\+J]Z&F0-"88&AN9M//2(U&"YW5R)5B:;,3G>GBBDJ3.: MN[ +%=5W$'L%""\,\%L;Q%->6<,T1$>PZ^;VT*J#%,[V=- GBFD_+Y%Q+%D' MEL5N2&(=/*GQJIK6Q2H094=CY340=S>#W>W;5GMBGH@5HZK$=1412\7K.%=W M?3>5CG34*4+M,C5'E/J\_GJ1Q+MWOIG&(:0O .F&,X*T8X%@&^9NM8_E-+,Y MVU1QLD88,IEJLV33=ZK0A]!]3LL0HA> :(4WH4\E".C0L&,EJR;7+3O--@%> M:&1APT3C='2'*_:C!W"WA[0(F^* MR/-#;-K<8%W5QTCB;<$9KT45KW.FD,23L6A1#AJT7Z91/>!RV6C@+ZM($HZQLFPH:NL]3 M+70_OCG43[@>1KV9%C,YH\EAE=@$;^>%9L?RW8X_D5]#+%0)^M*O%[CY&8]W\.T MRKHQ#!RD"=QH4_G%3=.]1.VG#?48@C>T(7X,I">]QL: M;)0>XRM.Y0J$P9"8.14&_EP;[C>LAL["ZY#-R=9,Y5UO$@O22;SNW(BM%2M" ME(FM<&U<:/8YUA:;@4N[G2%9Z#Q\9Y"?<"*&HV5J'34G#$V!>+Q;EQJ=WC1H MZR^^%,RA,W%=T)YW*E:98M=H\C*)8UPRNQB/C)@F!"V=]J78#9V+-T 86(IM MS*[K4[0;=!!RLJB-D],JP\VC M<[O-5?,K4 NA&SH.7P31\_Z"U6O.^)4SDNFYL8JGQQ1;+8"@)2&^ JFAF_ Z M8"%Y(/$,4[[RRLSB*%]2L7:ECFOQ]7+8[=6C^5C0U.TS8H7.PO<$]@E_8$R&X\9BB8E1#8YCP-& M"UJZ]XOP&CH.[][M7'.GT;4*DI)2&%&S1H>3)R(7-/O^QHW*WY'95_+ZV$QQ M9E-DD2;'!L,O79-"XC= 7N["N.+.=L;*(RM24ETV\4)]WQ<&\DU;\=UC: MA75CIU8E'CF6S7=ZYUZ/#>9H\1;:ZE%KU(S&BY M:,2,:J<,XE30/(D/;@^Z/S"\L/)[)10)WNF921KKQMQTK".G:_&@688=<%&3?N8T76G;W'=E]D0P&@^5=NT28!=BB MFW:7%<"Q;=_)?YA7N*PN.+?TAHW1%BXRM27'5Q*N60=VQ?3G<2,77#5SA^P_ MGD"5YXLQ,.C)B*M+EI1=^B[*C0K6!9Q.9].%8F=8 M4JIVX-;&O3UK_1U8?JI6_Q>7)A[)HJJ4)E:"UC27RIO-9#05N#) =UJ:V ^5 M_V\%Z1.Y,)-(I&;&G)PH,J_+4LPQ\\M%T S>-R]-?$\0/1^>S1=+N]9(-&HX M-8[.1$S7.94.6I!^'Z6) PC8FY8F+O$BY[0(JJ+4%U3:-HUN8MD)G+]PYZ6) M[Q+D)SR(\JI6J$I]PN:P-4;Q4WPF8[D0S*$KX1O0GO<,,L1LZ%Q>%\)>4)IZ.&D.[/QUW%"QM+ZKS;F_,9H*6V?)#UG@$1+6<7:LT*M&$([=#Q\"N$7MMK-JWQ.T!66UDJ3I6M3 M?"PS#5KVS0](#MV0UP%]\]+$II!S,MUFJL21QI3 XFX]6@!!T]-?704S=#^^ M#.HG7(]X/\OV.\UI@7-)LL^SS"!7"=SY>%\-Z=#M^,+2Q!(]("9C0^GA]1X6 MK1)BK)"KA @.W8V+ _DFI8D3G40ZF5I6>UPV2N;IT1C/J-' ^1AW6IKXKD!] MPIL8I 2Q7![DA[B6R4P'\\RZB74#IXN_>6GBNP+I>;^A8 VTPG!*CV@92Z>< MGEJ.$^.@I2KNI#1Q\"![V]+$3B]=&-MV"<=9MI/#2^,L/UH%3>_>>VGBNP3Y M"2=BFI_5I(K=HCB,%/):EP96D@S!'#H3O@'M"VLZ[=F0!&TSIV0STW5WSKHQ MB0]:]'9GI8D#".%;E"8VFNK"5=:S :XMUGBM)(X2K4G0EA+=:6GB>X+TJ31$ MDJGHK80]P($^;J6,7B%784+HAH[#%T'TO+^0+\86"\Q,YVC2E#E!;NO=1"MP M_L)=E"8.'F!O59JXO^R-)HOT8J&P4;UB)@52J?>#%K#=;VGB.P/V"7\A.S.L MBLV.<=K%Y7J\:X\K2C1HJ>#O7YKXSH!ZWFL@&G@WBBVY"0?D+%;N%HRQ. L5 M;N@X7&>W,Y5-V8N4$RO3W9Y-M;HZ-:)+05./-RI-[$=F7\?K2Z\'/:>9< 8* M9E"=?B*G\DW_I>E#7^S:NN+,=D9;F5M<1RJJM"-3_*K=ZS02.=_!PV>EB?W( M_L^YUB5&2(]6;JU 8^N$)"32MCW,^K-T3 MW%)T:#'UD4)F4NUDO]KM5+[M$M'OR.Z+9##PN0BX,3%(<&1!;'=TJVO9HN_F M/<*\PF5UP;FE-TI<8MJQOJ)P;&4B5(H"EDNM?(<&GY4F#B#[CR=0V^LA)C4= MJH67UVE IT9ZH88'S1+FOB>('H^/*O/)C3?D9R64HAV5U&U M1MCK6=#2,_=1FCB @+UI:6*PLN@6RS,NGAW7$OEX@ZIA6N"4[IV7)KY+D)_P M(.8]UP(--[/BJ-FJTL_UQ^-^/G#.[YV4)KY+T)[W*>0..TE,=7(SAT-]X Y)N4)EYFG+X>SO!:Y(Q7Q@'BK:T%FX"&1O6YH8J")(9_LC!M-U>C6@RJBO9JIEH M%86@)2/NK#1Q "%\B]+$H[):BBH=OJ849JUT5"WW@> &S3^^T]+$]P3I$QZ$ M(' :,:U4FEQ68AU1X(MLK1)"-W0S7!: 6L3@\XZC]<# MYR_<16GBX 'V5J6)UVIUSDZYT5*I+^:]+%$WNS$M:.KV?DL3WQFP3_@+XU&R MAO7G4Q>OZ^*,ES2\-2^$ Y=AB\%Z@M+'G) =^0>IM \5R5Y,RO$DV;0O(:[ M*4TU,#+M&(TGD)$[N+$N$:V3KZ6S0UHC=J#2Q'YE]I:.K&&/=XZ;V M2NG21BZYF,NQH>$[5(2^V+5UQ9GMC)6$E= I)4WA9&?BN$603;I.T&S4K4L3 M^Y']GW.M.V,FO9[V^PV:38XS.3M-.H[_4G&APWN;/4;-P6#9F63XL3)?Z$;* M%$3!'/D.#?XL31P\,+RP\MN(K8M<-6=E.3)FUG,I*\5G&T&;X_^"TL0!!,'3 MTL1D?:PN\+J&:TU<*]6Z[5B+"9H*N%5I8C^R^R(9C'%E6DC78I,XSML-5:#' MM&;G?><=AGF%R^J"UE1EC!,Q46[[3 ?XH31P\9C]/?;>2XU6ZA*?'N#8LL'I%&%"5;M#X M?;O2Q%_!\K0UK(\?>1SU>-SB]A;5=9ES=EY9B M5"SKO_/)$$_WH_CQ#_IZ-(Q+\E#6(:?@O8A\QVS97;D.6_C5 5O2V50UD4_- MEG1AJ9J\7G!$(/@N-WN*+8?#\#M;GBK(Z)&"C#[WE.FY SL(PX:9H>\]Y=U= M4+,XFJ/"6T4OPX!N,X&$B+4 C"X8VCZUVF8FQ7IL*M!\AQ_.!ZMRWVS[3I$^ M NDA\ZK+; N@.V3B+38K>\91RGEI8R,Y7+SH2IHJZ+W2[E.X'<*=[S WY4 MSJ^,^%NIY L 93,QBNQ>R3%E2Y0%U.!N-45BE"4[% 44AQD4YTJW"$#/=R[S M6]"QF2(]/'JC ME>XMBIVF-!QP"A\O*%*^+,4YTG>:_.NM],U"JH\(7L$<6]B*:>-R7P2J;7*Y MK.G+6/@+!>_+5>SG&'\DM#RS&(S*9G1*4V2+R292Z=ZX'31->RVA]1VC3QUX M]TX)3U?LGMR85%O8_Q1Q).\&8S71%2C ): M99SEIJ-IOQ$TE7X3"?<#HU\.H/;IP8HA>(\=A=H>D8Z2G\E^K!P7RXRH8+;! M93.&(LJ$#TS5QW MUM M0Y5%CQH,),[Q'%T=-@\OZ9/= K#/;3]]4I!0)*9MJI=(*FY'7]4;@U[" M3OA.E6V\FE-4.@#.:3)]'K;O79]_M85X-TA4D5\.2"TAM!I=NJ?C]52?'"]' M[?E$]*6R# %Y@_G-UU<#[5"7A[_:H"(O@,CH\.43>:2"M&4!V\JX57YJF%F5 MMXZ1C.;['1@J[?9I/GEP^X82-B^4B?BBP?$),*PFZ#F!Y7PW>?+A]49OQMT[ M*/PH!6\B<<"TY.MKH:X/2JW9KPN9>=M2LO%:K"92Q5B;\Z6>O*Y3&8+R68[C M(Z!KF[P(4+)H9\RG^6YYG9#(.">/6#R L9V\K+J7Z,)<;]-.E"L4>N*JUTFU M9/]-6 =!W5]OI>>UU/V,[B6D23W>Y+HI6\Y9Q@PP_COD.&#JWM\P.%3W+%-U MX[U9CL8IWJZO!D)I5E9"=>\OMC]:^30,6,2V.SM>'MP"EFW*@@U0T1A!X2"1 MK!;+[2:LVHVII@Y;/7ININ=)D!KRL;YO)?QHA(],?'&(?K?>;YV?_@AW#7SA M\M22+7)@1'7ZKJ*K)AER-RASTY_;P=4"-B_K0*1Y4Y?UR4ZI]]/8)+N:3 I< MEL)7Q10[+15SOO7GWKA=Z_18OS4XSBU<^!0X\OFI6XJ6)(7K\A26T9(Y,/!? M;45_@\./RQ@N HYN7VAJ#A4%M*,WEU(C$9W$8[YU!_T)#C]43CB]F/G:$[OO MJ.6)KY:Q64=F>MR\I2:%KC(WS:'OW!;?S_3ZH("H'PSEU\#]U.'V5-LL)I4L MIV"6E.DQZ[F4+X:P]G'%R_N%[_E::>75,C[OVRJ&4X5,/=-=VQKAO_C!]RB^ M?8&V@((Y:Y@S [8":H9^C$3*E?(51Z\Y'%E2$I:6JJ1S8]_YHV]!XMDQ?FLP MG-YRXR,_-#<>4O%U-+O"M3)7)PI8A^Y3H:H+H!_JAYC\:^!^P@^5B4'",;#1 MDB-[):>I3),:(X=^J(_]T/N%[WD_E.?X:*V>&#-XUW1[F)W'B2@6*F?_^Z$! M!?-Y/[1A#[0R/6TQ-+MFQZ"F\\*0#_W0P(#AU)X_7_FA#&M(?#$UX>GY>K$V MYC7)['=]N#YTL$FJKTDFUN7J3 M6B]X:FBKD] /]2T8SB[D;/.KK F=%#O+FZ8[-DRT,.Y1%]4,>C63-T#:LMZ6 MW2+;6]0[7%UO,)*;YP@ UQ# M%_N -_/R8E<;9(&OZGU1[O0X>=B/\W1S-G:UP++T_$"_-VO38QN8[:6!QKQS M.^(5LTMW]$4<+[N#06-98,;M8L Y>V*<]\!8R03@D+52K5A3%@96H$D8M#NI M8K1G-'P7TGR$M4]&>@?,K<&VVDN@0D4%&Y;VY1U+/5")FDR-*R0[8KH@C$C< MOYMBWL'BT^.] T;G#<<\%&(%I&O1)$'B.%:,T7V5!-6Q\!TX_&2@]\!:Z&8< MLK;1J_6TQ7*9I@NX9HQKE2:'F[[+I'Z$M<<##2QK.[PI\R,5M&!(=13V-DQ( M'_3K;C%ZK=*:Q02Y1LN:O#)DM5,0\[ZUM$^']1CJ/AE78!F7X55>%P K 7!< M_7!W_)[I !$"%E(&H$,IO6I^%4@4=$[Q8_'DE:F2U<% *RJDLF9GA=I4;SF^ M%=!S@WX\G>]-HPX8T\E+,SW=F]$9BHOG:,>(%X9@,9J[6,CTK]UF_):EFV\I M=)4U(+%T>]-82[:4C)L!NB!IO*D\V77DG>:3-PT-/@,?$.RN;$N['=JO-_ML MNOI6_*&">3)+@VG5Z3,J->JI3G9 M$IJK287*8_ZKCW+]TENO\?QP^]4;F'Z5#CW?:/PJ7#[?C_,X.]6-LT"[6AK< MK\N"0T5SK&BR>$S,Y8JZH% RWEVEN\LRQ_LNA1@JFE#1!&S=5ZAHCA6-BI6+ M>C'+J3A88(ZEM]OZ1/>=:QXJFE#1!&%B_VWE%^#/FJ%[Q6YV<467B;:JXJ"N M.*U>0LM8M;I5\IT4OK/RPK-A!C8-\E&VUFH2,Z#'N1+MJ#:E V".$_X[*MNG M;+U6/;7W%DMYSM9!C4Q9XUQ1XNIR=3SJ)6: ":7UC6PEKL16_--LM9B1D]8U MNZ7PJ07+S1D]+[.^G7'P&5OQ6Y?+R\D+1$;Q8 WO[J?VTMBRE$]T&^U^-#_B MG%6;$DNIEZ8@CRWAS MP13'H+@.)KL?1Q4R_)CA=7W'[B$TQ4F)P#OTO-PHB&6S-5VD?&N'7V+W?DPA MLX^9C5:T;+E-Z<-,M8_/RDIW 5J=S( ="L5 FJHO'Y\ MNBZMS53#!<4LKF>Q(F8IO]?CA^'8+ M=UX>X-4B)CQ^G8B)3YA*R5RGFGB]HF<+?;DQUYI7ESV_!!85F9K@$RS!*=E, M91E3FHU:M7GUR9@O\K_?OP!H'U'QEI361?0/BDD6O J>;\7+RSIL1>95!O;0 M=!#,CQJIPB#&K?*F NR\ ]7G;C48D\;7/:#9"B8W:EK"'@PM_Q6#>'T%R3XL M>X%6G\_9GB'RX^M/4SFP^;DOA>;4JA$IVZ)6>'DV[ZUXU3(,S;=)OA":MSVS MX55HLI)AVFU@:HR^ )9]:OOR:\#DV+8)>,LQ718(CGFX\BXW3.TF2V M065E25S89=\ZS:^#\SRU;@#-\W0.F.;T84GHQIIL1IM4BE*RI#1I3;752L=] M!U3?[[+_FA(HWPBRI\KI&;L17,@<&S5BWO8B:P/!=7L3W2+Q)*1*_ )*!CYO;CM.JK$$GYZ"N MA#!0)PN[W6PI;FU )J,MO(L)@434B^,,&&-]6"IY$+7E7EZ5GI50 MVU@@@7+?_MGU#J?\,O^LVZUE^@*G-&B,&QI@EE63)A[Z9[[USX(.P?/^6;4* M*NY8T1W:F7"%]80R);X2(M'O_MF7 O)E_\RP,XUFW$[E:*>FF>,A0W&IEN^2 MRW[USVZV5_:1F8*A@3W&3R=\@:I"P2H '8H8\@72(B0&6CY70]&XYH@8L.5UJ++I5BE'!MUJVPTU$;! MW,5TV=.HTZ(HH]9XM<'+(J-G^9EL\^H6.,W%+"5VIFQ2R>H- 1_:.==A?.<9 MOW-M_8M#ODO#=0FHB%I^E1)(+JK4AQ5A-5#;?+<>0N6[&:=+0"6_K&/904KB M:9YN5-N#TD2<%GUKCGP-%1\8(((ZA K\=K#^1;9!!5IC2 X8P4WDD0K2E@5L M*^-6^:EA9E7>>K*]:[L=NP54[QV6),]V7DP-G^D:.3-DA>]EIG1_44P6"[[+ M91\L2WGKZ \6<9T?_K4@1%!OAA"\]>(0PD\[,9@N3@>#GMO"-;TQZ_6+E+$@ MKL[K]]MT O^:Y?K4,(IO*-5<)B20F*\8VG%KNF3B*Z7(^&R--_1]*"R*7RI3 M1PZ).!I\;)B02LGBB+ :=%TI-*EI!<36UWF;. M89-UK-EOU]T,YENW[97A'LR9G!EO")(70++?*06%RD2+?[<8F? )H.:G\1FN M3;M%=H$U#+KJ6PWR9HR<&>Y=0<2S))[CRCHS.%Q@'A@85]?!:G<\T.,\F ]* M<^TZ>ZXP5Z?&#=;-]+2&UZLQ5:ID*[-Y;^H>#>G^ ^3C0EK8."N_ZK)OBB?QT0/1?3^1/0]&>)@N[[6O)6=TQ5U MAF/K;*K-Q.TV93@QV9QBA)Z@OI M',DYO-YAB'%4 /[;DQ)&IH$073_,I[Y'=(,6F8ZLDM%IKK,D/>DY3 5L''$:FH7"^43@#&)FZ MU66KQ#6F7#FGL&NVVZ5E-5C6,XQ,[UU$3RYK:'C-/A[$JX'X_E6T^(OX>Y!T?$4X5V8X5Q.*-0O5&-%>=J M)T'Z,R5^CKUW>C3\"PQ^/!)>-V9XB\DK&$VEQP612,RGN5B@V'N?1\&_P-R# M(^ UO669HV6T2K-&+14%@W@\.0H4=[_IT>^OL1>=@[ I5;CU@0X/(9+UB0K> M[LO>RD7>/7K.1>8G^83 FVL1IP;.W%M>GLZS?45SSRI"UI45UC<_=(JLZNF[:9=_Y]:&X^EQ<_3CC^AW%=5%= M%=OR+"/C?'.RCJ\[70L,?3?7&HJKS\75CVFH?0Y6XDW0 C/'%"3> @W30%N= M#T3WY'4K/9F88 *[MI64YF*1)F.%F(!KU@J8W5EK#;J^\T/W^D9!>\J;X3'4V)%Z'PN01BM-EVVJPW*XH@1O'>%''UCQ7P,$F^'Y36?B+[MSVA>;<4!]0,_?@\R3DK=RQS M$.-I37;&9"GL2^I+EAE267B"F^P4Z%2JN/.R@\G ?@^#!DTJ6Z>'&,F-X^N M.]'B,CW5$GXX0.++/<)G5@'/3XOE%):=*@6GH0]D:85))3^<2G(3%5HBOU/I\W\-.9"9=2>PZ,5CSL MHK %'7&GBS#"&7)L;LC3<69,E98TS1K#=5)?N"7!?42)!GC+,<$_LF7$2"+Q M&SZR>\?NTNX[>LDK+X31,QB.1].,WI4*+@?H42>=+]2=17SY[(W;<<&/GWBA M"A\!PT0R(2;*U'"HE/OK?KS;='JNFG[V1@]HWA.?>*.PS2@-56&E"LF<6^?J M,W'&R^Q@8*>?$]9[Z>ZA3[S70E&I-1P,5L78LK"NTE1.+19,93RMKR=GB+MY MYOTOS?+:OK9'IB=MD5AQ>EBL44YMHG?H!BD3O@! M]NQY]&,.Z(9W@/OS9M\ZX*,F?AWW_AW,V,CXD)]+46I6 Q('9D*I-\VT"L7A MNH%=O.?O^%?$X@E'G\RY8FT_\VPO&,>X6O0$7T+\->/)ZV: M$UG';&/VFR0>J)G]U\$[X*VSW8UCJ(*P,:_)JOO[WVVH9ZU(#2PC+4/C]7__ MW/P"_X6*51[_^R_O;DM> ]@0;'/SEM_P8P3]B6X_H!?P$EG2'(("-0*)"$/_\Q. MD%* 6L'\/3)LZ:^G5'U&+H@>3-J\,?F QS>=/FAK1W1$0>(!GZW^&ADFY*#W M0_0!C=2+<"/_PKW_+D+4&.R&*NM@US/B@4C]==03> .R&!BORA.HD"!9@'G8 M,^)$SQZY]-=)3GCL?/KF/7?W[UW(ENQ9W)(O0EX"M_<^_DB0>_6O/F3U7 MKD.*YT._[=AX3XD,HR1!)J-\;#B.Q_AA+,%'A\GQ:#2,IA(I 1^-XI3(_]C@ M]#)R]MJX1T=OV0K2R%!%>#'R]Z_1TSLV+:.!GWB JS%M.A=AV^DVS7H/HZ%_ MQ4!>["9+9[D6TV9H-I*NY2)T+UM,UPIT)%NO5AF69>JUR_4]\4D>='E+@B)L M&_K/2.XADGV(D'@\EKH@<12GB$#^G3,$!UE/E+3_X5;"JO=ULE@^R-FZ_TF,"Q M\H: 1SW>$/1 D7^8YP^/%@Z#-@5Z?K_Q8\WA?7VT(TA% >V$K3DVO0=]&_&" M,C$-1Q:]^H."K-@V3\0?8\L8(($J /=\CO&,;Z)T; MI7PAU9PXLORO(>N/*F\JD;H._KRP+GFKZG^C;K]VIT39FJF\"T-"SQ:-5$-0 M-B(KZR@P]Y[9,#1*;1X_%L4QZN3SK;192(5C=T?S-].[[QA M1FP)1,:R)?!JQ(7^>@1 ^(NG;,\!X'^+O TTV)XD\BYZ"NC70OQFI36]R3L> M0#XU6;+EZE/0S5?'R_2[1I\#PB:?%25^1E"WSMJOVWA;Y\%T;/;B MQV8O?D.T?=;SJK=N[,$&@*;?TE"U35[?.$K/C-4TKC(&Q1(YG,IW$XM8OC2J M+6YEK&*7,U;M5KK&,IY5"@W6M=S5G86R]WB*;)+VD;%I:)'AXW\1VSC\^A J MFDN%_&?PGS4T3;;0-% D+ZL@ B4)&=.K1ZVT-_6#7KEYXX%J*0P*A46JVF[1 M!1] MX@7;HPA*O)M[2D1X*V+-@(!FC\6(K$=DVXH($F_"]B\=UW^]XMNF>8&8&@O1 MU'A(C<7Q,#9*18>I9(P:CN(Q/D&EXM%1:KQ-\VZ>: O#A O4?+:-.9S&RT;' MD>ADMM2$@,2?W9D9%A2)E=)<.94 VJ0CM7KZ$[BZ9U.GNV4S G6QDDL[^*Z M5."[T?0P^KS-E1VKLDPEEN?J'6XZ;;>3=;JTA'<^:[,HK%F\35?FBCR-VOZPFG0W=QDTVX1_Q%WG%L"T91A-;C$#>;V]/8X_ M1./_?8B>;<,[)-T&KR\[QY8-P\R9:2R0T%T^JMVH-$87'@OVL>B-6\:[&GS*V:[-F>SHN;0SX",$7!MPO940^7 DFTY-:*;-W)IR!CB M?9X&B>%Q(DH1R9=9\\N3+[_(6.) (7@:XLQC=&VA% M4F3JF+(ERH+GX1OCR]G?"_15/A17K\OFA-?EM??]3Y_)T!M\CC^8A]8#^Q#9 M+L4R(\=HC]2,AS^?P6_7KX.ID!\O#%F#]EP%;T7EP1S,0?L&;'.L&LN=<[#[ MCBU-?O9[9 )>P9;0%+ZZ^F)_G1]9ANK8FSF;.+1>7EB);,!O[Q-\&OR!_\3@ MI3^OO$+C(C[^X3S2RQ \XL>K* SY<2%^^$MW^\2^ID71!):U_:!;PGF M.2%ULP'?!HW\87(A86?-UKI,E94LY:R&T?1\F&A-WD4U!* BK\TL20Z][W>S MIF% (*@#>?88$WF,*7<5,=U3!K8B5ROCMAY7>:'[/CCC43P>^]*LSQ]P7!$T ML.=^ED],Q:7<_"TW4?IJ9D(9DV>\&@$K(#C(+X _0Z\36!=THB.[/XD'(G4A M8IQ<_/ADL2WZ0R1?\B,2WL7_^1=!X<=.PY[[O[PLCT]]&U]VRM]IL7?&3(\( M)\B'%.D[!_WY$'V)B;<'18\$CR8>HB&];T=O(OJ0HD*"WQ#@\8=$*B3X%X3U MK^KRVPTY\8XA7TAQ7MJ;]HSM\6 ?)XC1.(C$7U;$!BJ8288.(KJ7NO\9@:ZG MZJ".17@(6ABXB&#CB3W_^UWCWRJRK>NQG>HD9JOS>WZ^)&Q[R2/]8\?W:\9V M*#61AI1_$LWA ]8@A$D^A5-]!V-&:2&9RY]<"W;080J/GEO$]=)C?T9N,5"T M"UMM(.P]6YW"F.T,F1L4.AR;Z@SU&CDGJ]:K@TU&,1)"Z.RRM?<(ZVM&X.)@ MG#J6+8_=JVBG+PJ94C<,F=Z02F!A*&UZ6_FWZT. "<3(S#$M!RT4L8T(O,.; MUB'(/T9_HD (C M$0CBTT4+,A65]1Z;[=%9)CF91*7.K"2?7%RA-I.-KM'*512G..O6A<&HHJ:6 MIQ97&,W\*A&MM2B.7$J6VU?7Y26&VB1OOQ!B(S2IZ -.?#:@BT8?HF?M9"3^ M$-MF$+Q/H3MV!?\7,N!\SBADP$T8<-8-#AEPPX!DJXM>[.=^FS,,.4_$]R @XM>)'TZ9T+9L;RH; %Z0(H+*6];[W*J-;@D)NB>H MR7NAEN5MU_CCG>G]K:8(R;DC9VV[_M>#)U@)$J]/X ]Z9"G)\)='M^]CDTGW MI0^^?)9SZ["[!#GR%,]^6:$QZK-M)EDEE;I9M&-YI])Q.Y,AZ;G3+X6(:",& M1 -K&X+R,_)?./17(S/>C"QXU0$7B1OO2L%].4*VZG.SV6T/C\)RL*[F&B-, M86/3K#LL)<0*.0K0*GQELC/(P75&/%JA 4J$.P(*AY*(/>#^ M6[']C0E.1!_P<$7(5\V7OZA;OGK&],(SZ%O1_L(9Y,]N4ZX9.MAO.KZ8@ 6) MS3[$]Y&#D'AXP^K=S4V^D(+WQ'_76>[\48K]L4\F9U$>^7V9SQO)A)^@<2]Q MXV<6Z#"ZB+9F@LC(C0@2$)2(AFHXRIN0Z* JA&Q%^,@2J"JFZ,82M@=X"^IF M$5ZP'+0*BKDJ3 MOYX.!%5@(J/G&WJV3/[4XJSK+^'9[$/I0CJ6$1G9+149CX@'ZWFP<:@LR]A!_HQCZ MM#S2MQG(#12.;MCPE[DCH_R-;43&J!24Z=5\LT[G"-(D8X55UKTX.]>NY-O0>WH[A3^B$Z6+D#W(SQA$ D+_.:(JF6N#]WJWP M(=2+;3NHFJ;E=<+K)&_9D10>$7G7>@B1Z*^)VXT*SSJF"=^\J7N*YG%MWG8. M-3F6*UF:N9 '',B9T47>C(T6A=?\QCZP/J[*+Z?$7WI7Y#.O.?_PD3F[DE/P MU7Z7K^3HPAK=4W10QVFR;4.MZ$TKFX:.,B"J&T''P+D1!E&*%[P]X3G>YC<5 M19_H^\)&]^9K%VY _T,?$7&24?]@&O[)5,G*&2 MB>?,P*:!"]F"3??W*AY8?X8*W)<*_ ","(M;?7Z@P 6GG1=2HG?XU /&,G+U@: MU//P+>;.'X(RJ\'1NS^1LPZ;@QXNZNLD,C&-I2WM+C] WQULTI7>3*A70P31 MC\3_.M<[[S+QU^ZV5V\XW[?=C0N_#B,.7R\<.6V M6Y!__%/Q^)<^8(^7[GA=_UPNV;.49!M@\+H ?D.3[TW0(RV&_CN=[GFVO,\S M%AZND'!-#-.]5KDJCSK9[4L.JU3-:^-D;3H7.9)O9%-V+I/&4\M7B/^,[!\Q M2Y\R%6^U2"_Q*%)[HG!\A2!VJUCV06 DN]$6KV/+.Y\#\/J85RUP'3AYO'8IL:X85IXHDT0XI#VN-T41LM:]*XV]N=:Z^PN,6#MKX!4<(%:]X MXWP,BK2]^!KJ0S0Q Z-.QP+>7?#]FY.]3IRD OTP]"[512]?RO#52)IT.#8# M^4:03IX#I?.Z(/,J\KM0N7)OA]?V[&8K@BHVRN*Y-;S1/_@_3_E$#Y&CN8:W MR\"U,SAG6?7A4XJ^;&+A+6-X??+OA=S.-E&_]:+1QC3D-?.V#5 M3\1_" 5T M0@7L.3_Q$MK_AC&&94'K@[[L@ '&8^!%W?JV8B!Z1D8BK4/4(65M&FH$+:D\ M ..CZ^[ X9H1:PNY&!X[*'? \N:(A\UB]94*7&\&X \B'N$>V(?L0R1!4J@V MPI]HR(_CVZY('ZG0AAQ ?BR;VB;? \W2C$IDY.,;T3] MJV=$OG<>T@1=&KW+N9KC*>+Q7P"C!M M%AYM'MM.29HVBO>EJE!C3)%DS[R MN%X&-O)_/ P;T'W:P/ 1G3M9.L"[9P_VR7YD"@7#F]B %D]U+7ECSG3DH$+[ MAHUXY%$AGPOHUL9$HED'>,F;S]Z__5""]L7-#JKG_L^_J!@93_TE -,ZG,,P MH1.X0%*W[\?6U3N4^NV42 Q_(/ <1D#1AP+T=O0]Q]MM.'?4Q18/MT2J=9=O+'J9TIOG3B0%-V-A;#(\$G1V//=%V)09L5"9D0A4 YZK MXDW[C9$S#YL^Y??#)TJ.#B)1?'/&^L_(QOF!O_]7+ Y=#^2:;-[RTWM612O< M-M$SO,WB5;0D0Q:\@C?H^@M5"C:W0$\,'4__TUN \5];E9GW)O3A=4>7-QJ1 M@Q^&[#9_->38W)"GX\R8*BUIFC6&ZZ2^<$N""W7@8?R@.YIHV"(09(U7?T0L M@4>LHXZ5;=H:UL=#:AC%-\JUN4Q((#%?,;3CUG3)Q%=*D8'!P+89ZS\_,.JY MJFUXJ8>\:O"':P\F="&:Z0C)MB)W^(PXFUG+;AQ&Z'$"W^G(W5C_B4 LJ?## M)=>9!$X\7O.PO,(ATGP,& @XIZ\QCPI>J,0;5X^' Q6Q=BRL*[25$XM%DQE/*VO)V^1 M(_R4')%#(H[D*#9,2*5D<418#;JN%)K4M )BZ_KR4(Z86O[$@DQOR-Z(6:^' M]<=A'YXLL\ZS2;)!\ K+4#$Y.F,X,@LCE__65 M1R]'7$^$S/ M\'W/&BB1O5WHEGSVA3>NZ ZUC%0#/B,,& M/?A+ABH"T_IYM(#>F_!YLE8>)?#W\S2/![W_]#(?C^=A;M(5)A@#$^@"N@(; M;O"F'6$89K_*X?Z "%M&D9Y430"V*9#"CV$O?_/J MDG>M71%N*$#[8Q9^[V4GBKH>>X@E_COR^!&-XQGE47FE ^H>'VV&/Y"I_WY2 M06GWXRMU6@ZPN^6A!K]NQQ4CO&+&UZW8LG$'#WC(1R03>4__:AO"24E$GZ&T M0&=,/3H>;_L3="F].E:HAH'A%:1Z7+C,OP78QY0^1 M'\:28VHX(I+\$."$@(-4DH_S3TK)>R-"WV^3;GFIZDD[G:G0D7H^DJW7VLB? MV)= N7TJZ%(Z]7X*F!$/R;,G89PX0C"L]G2)\EH;?&['E"0?8E]Y*/A66+P7 M/R/_]R5[_'UG9X9,^'BE,Z@PT9W_^1']\;I"0J-\,U>NRS.SNF6=:^9 MD0JCR\,&D%H_BA(>E1E&0#=MJZJWI.1/,,%[ZW=)NX/U%UL!_)B#=96H"/W! M8@_)^)/ B+&!1NSV/PSCT60BD?I8I,2TZ>IF-IEX>!8D7= 7^DJ9NP+9=HU\ MC&3G,',YQN JA2%T!D;7X\1E-#*$$X M3!*Q:.ST 1-OE,W,GB8Q>@F)'31R2[>A59,,T9HAHP!J240J/Q7^$PGK'PGH2#Q^55_(^Q/52 M-'ML)K2:IP4Q<3^"&*V ":]"2 C JP9G#>,D225/G\7X-G&,WH1F0WLPN,Z0(,HI_<&8WG-H-IW;?-K7[ M=]N]N.;77YCP[0ET-IOCK V^WOHN?.Y[%;\/JS_]:BX MW82Y.ZJ@=7;SV>8E/^$=JK?QXV!O2J2*ZD:9FQTHFQ.7(@W'%"3>VFQKVSQ[ ML%I??505"=;N'1)),)3Z3/Z/N0R-<@7S_MP5@=Q= M_'^A>)X6S]3]B&>BNJ_[9Z'@T/'V$D(%G]X61S+&^4](:>(^I/1Z5'QL>&^H M'U_@&>+T016KO9) NX/$32%1= ^4>$?=E'ZKS\"FVDQHG$]+?Q2_(^E/-U'% M,=GVUO]#I,"OZO;;+E7TV<67B3M9V'4]6AZVZXGS0F0X^W(K:'58 M*.$G)3P6O1\)3T)#X"VSY0]]R'UE @O"B?V$?4_>AVQ?CXJ/%ONQ-4_&66:\0L[[[ZM5XTL4#__W1K(=B'XI]&A5[, T5&1IO MN87HS0H35"*>3'[604_=B8-^#2KN6O2D]['-4&9#FT5KN82K[&4&\D\T6'Z;205:J!2:\ MZ54QS1LFO W5'#9E2Y2WYS5X18$;)EB@0HF,;LVV!SF$0OHN(?UN!4W>5G:$ M88:Q:"I&1C^Z/"UT_@.1D=$628%KT[HZ<^'LOH=!X8NV51 MT=Q/. 00E7?A$%R/C/MV?T;V+4=V37OA=797V#A20#7-4*;L,#D6";V$ R_A MCG:<$,0>,-F#4[N&B50R2GPFW";NI6[0%0CX*,.'388^?2BMY'9YL%M?ZE"U M2_+,&&?A"'E9SP =0(4O?T9F[V1?]?7(N&LWLF_8JS:]:3JR:YM7M]<]T_RX M2FV[W.SLVO%0 X0:(+H%DP<3E.J!&$/>XQ8V;9/_S"0V<2=;N:]'QIVL'S5\ M)-BH;8O?';CJS71OO/<( _L_0X?9'SOGH:P?R/H=[?X@8@U3U@5YQJN/2QWR M '@KIH"Y@-&=]1E9OY-=X=6NCG*Z1900+B9PS]G6P OQX9 M=^T^66?Z>$:AU[:CAL;^G+&_HUVA!(6.@23P,NMH\#%WF(PF_C6A>Q=L*CBQ=;>A!EH$WN**;%B]P#NW94)9\,90] M1]Y4["%Z%FQ?;>E8IE!+M[D6S0ZC\60J_L$] (_-A.KYM'I^NNS_EW=ZI$^/ MC?.)1K\=;1(/'SG9.>S610^9CCY*3WC$]+,CIA.IAQAQYHCIS6'0D8//GN8) M#YGV\R'37W]$=#;-M9EZ+=WJ1VKU-HU.BL[2K1I3*T3R]58WW9E MW4*5!I>\*6*J82AH3LEZ+&^ -D++NE>'4 .\CJY"J+&;?1\1,I%&7]'5QT*" MD;1@HU^)5#3Z,\);$5Y#D\SBS^TTU?91@C[Q*+T2O&W9!VW$#MMX0-T_U]<) MT(')JZH;\> +(K81&3LVVMCB[5BQ(H89,1QS]^-XGUE#OV]J+<$6X0=O]YDN M;"JXR+J@.B(X?!.DG !,1 W8.&[T97=:%=H6E]& MG^'K!,/:/BCK"V#97OM__HRH,N\!548WR=J,ETTON0@Y8$XV#VHS8#]6ID*\ M0DVC$G?> QL>0>:9Z#F-%TP#0-(8FBP@$FV*6GE[YQ%!=L/>SE>:CW6NC'V= MJX<( ^7*T$!$0(4J?T9P.@("[U@ ]=/=@3N"CD^V(I8C M2 A&2!))9)/^0Z[(&Z?3L BI6A*:43UR:&X][K-\'FO^MNF_.JCT'@5H ZDQ9,TT\,"O+I?JW=,C0VN-MI@ M0QA/BD](W\^##HPW!Q">H!8:AN6,$*B0UE1T8[F1>4???#9E2X%M.8@]2*X\ M;?VLY0T3D4[:2"(B/KSB'&J_0_5JH,L2@NRF&_#5(Z33(!%E3Y&+,M)M:/QC MT]".B( >WNF0K3P@=II(,T$I$".CEY3%PX6L,/G4"N,/\7=X"\>!!>4O_\$# M^XX#R-X@QFY(OF'';E69S2M 1_1VD"796S//#$$4F #9+F1%#',/5P'>"!'J M*8PC&[B_VRO- CDH &B*^)EL0Q0=6# /?<@V;O0(C]R#G9W+^S?N+GK.S!*J*_O6(+$+I4(W9SL2Y!FH;*37#*V=Q M0/#?U\+TR[G?"R'Z($#Y5,^/._#HNF_#QX,^HCCPJ12\-9GV-#J S6WC*/2" MXSSATN1GWIA35"+UUZF4\)/6?OP#=;&%"@\AO_'0#?.$8X?,K>VPH+\&'DGI M17N7!\&97*TWW'<"XI ?> B0CP$$!M+R6(:NL0V5'M1NYV$"=>)8]CP-.";K MQD )E<6UL7#X./2FL6T#R-*IAN4YF[SN[FR=QD^A]8$6343N&B\NT-F:T-'B MH<$4O/#7\^0=;03-$_)^W9GG!>\#T,.8\Z]()!+"Z7O!Z<<_"]E$'KN\YG=. MTD%Q'QB["9)NJ :*Q- >@O9/Y!)": G;@("?0?=;V 4JC[Z4#FP8#J(@PJMH MCS8/']^*'H9!%RHF89C0DX*NIV4Z,P^4*%!0;<^E\V ,GO:;L-O#BA=!_W_VOORY;2M9]U]!96IN)564(LEQ MXL3W394B.XEJXN5:\J3FIQ1(')(8@0"#13+GKW_]=??90$KR(DN4C%OO3602 M! [.Z7WYNH733F[?,JW;58*6&)CA+CY!XDZB5Y::) ZV@OM)U$-72#PCE'D2 M8Z,+))Y )+J@6SX=Y-]#H[2O_D$BJS8\)H?\3R8>"_FY)**():/'UQ&5<$-A:I,%-08Z.O!T==D-<8YM^GDS!'6-,T+!**("IIT:F9= M6EOBX;"9-^!2C1\=GR;-JFG-HE'!!((BVK-IH15?.4_KA55[M5EV$GQ]RM\- ME/70*"M.X=F@/OW7.H:SHAHCN\&7K$+SWAKK&K?%Q39H*W&J,#W1I&70D.P_ M+JJ+K+JPL?V)IH9&R#X(=4X+3\2<*9:/R?HS39O4G'!Q>IE=8$1/Q8>QD>/8 MA./4!Y)__(N*%GL&,0WVL/;?[H,@]-O(&!QFSBNSQ&.SY^V\:LBE,\V$?#7D MCTO)K%U>GQ!25U=F:I0340GE:"X2LU.27^1A_13F9QS(Y!Z%*_1Q/ZO*==_E MDLA$,-?\U8'T2+'71*Q;BZ9 M9I)=1E%;DQ+!DP0604J"DJ-Y:U4QD[R>= ND'$CH[B;_KKI$ZASHURWR8N1D M$T5V2.:1@<"Y6SG_*^HQE/7?A]=WDS^,Y-4-/3&IQD4^TWA3E71+SL5K%%,J M"RY_+(>E_*^P1KASK&RB5'3"=1B:X$R&&M"A!G2H ?V\-:"1* NJ/$3LLX'@ M"Y*R$;C8EO%$ HI3_B*[N."DFDS@"(,.F=][A2V+-$/6?V)HRU/8AW]U>2T% M(D5Z<4M:/6+G(LW>+=(K))"U^HZ+>!2@^,(\0E6 M-6H>2)F%^W9!+[-R7]G2.M/_I&O<)X$U0_938$U=HT648"10^_HH\2L;)9'_N_Y ]^?.[O>^F?SZ9FB=_ M[HW-_H^/LR<'D\EW7\E3Y1<,6?3G_N/O'Q_LZQ=WWVPB6$BWUCUR4\))=I1A M#6P\=^??[R^9O#WV]MG[;( MQH#WCS):V')M5QJ2_7M[R:\2;3ZIBDXB8*_KZCR7N!B9_0U7>D\14(+!>7SJ MHKI<>DS&78G:X5F79S8^6;*Q.NA9IEAV3S7B] MICS/ZZH45Z5K7- :<>P6N9?L@K9EE#35M)6_POX?#IHL94MHZR[PGYI#:B3K MD=ZQ^S:R'A8'8,^(#3B^AOTHJB[C..'!4Q][1"EA!V=*$T0CJUJY+ MLN.TX\LY.K 2^ Q+*936LA^][:(KXX(?K9(.VYMHKTE<5+6<*YTS.1[+KI[, M4\1]\")T"AWBRUW-942N (@G$OB[8M>+W-32572P=_"(G1BD"K1N.Y-$0K48 MDXB2M-BIHX& [GXETV?)U_+7 9(3E+RFI)7]2PM;:E47B)35J*O(?A4FAK8 M+\$3D?AM+G]4>$,.99V>O!)JI#^TX8/(8Z>:[M!+[A 9AO]U.T9J(.F=SOIERFR2\=EAFU2O/")R10'G3_N.] M1+Z%!YQ\\2&0TS!@X<,9^S]\]]2&'\9UT S:!+&%Y#G8:EDC6G+B96-P@3.! M@J]E2HJ[Y'4W+O()=\<279QX-O@#@?><=5!1V"K>,'[AI4VYB9 M[_JAM\FYG(KGSYT;FV&^J0:8ST/'#*3B'&IV?N%,%^FR,3_9/Y[>@*VWH0C! MU1Q@#3M%NJJZ]J=I_LYDH3MK/7)YQ1B8*R@S^.K;\(M/6G ?GPB;O@Y2Q)4, MP0)B$"Q7X! C^/20LFXBF,1+?D^G^QKYP-)FG\0**R B\ *-OHGQESI-X&CH MUC%Y!L(>"/LJPE[7:VMDW2R@ME!70[Y4M^#'90$4 %NC)R]^'JA\H/(MI?)+ M3+,U4I^:#,[O2!PT,7R*"@[4C&?@NS\O&[)_NGB*[F=B@?MIFO_2 M!U!AS\FDD[FSAIUM6)M>T4F(OQ)FA5$\.Z>+YJ8V;<56MJ#'M,3B[-A;K^KK M_!MZ2#M&[@.G!1].KF# E=P4F?Z;$4<0Q" _43YQ)JUVN4_)?5/,"2S-2L%1 M2!$C6E-:M/,)AWNX'KP8!1$/P9RA1P=$Y0HLO\YYM75R89UD%R:7G&#,YQ*GPF-'NVK4&N:NY!79YL0B/S/)(7FNM ]'>3.I1LDS-,8C MDSM*?C,7A6G;G=?IY RUSIL_]:;7B&,CM)6_&W)!Z%XO\DE=(8#EAE6ZT,2_ M7OA@&X)/8:QO4:'*FER?Y&#TF-XR"#+9(";T!.T@2D_9TV<:#8(V"8(VY$CE MQ/H3E/XFH3!87_FIU9%(:DS'/2CQ';B9>ZCES( KB"Z4&U"3J_?)) M$#3F.)E&>4T&;L-H15Q^KA0I. M5B;5B"V>7.H'H[7UH$G9T!;1^Z,2,!(H>+;G[^?O)K1I2 ;@/8-RUN19U8%9 M?ZU(B/_.E>*'N!>O+@B_B7QU1^2:MQ#I=O[)[O):]LE8[1GJFO0"CR3TU0G=(YTX,Y^CZ M9]- 6.SP?(3D^0)Y%^-KHXD3B3C'QF*@J7U 3R)YU%P8<^;N5)#$P#N^ +K+ M:4V<>4%D/5\E4L4DT;9$GX\_Z4 /^+8X61NSMO* DU#$R9BJ&.B-QU8[^JBT M1MVCS(BE=]X%)G'FT[ZXT---NW9>U9HWB'C!D]OA?U'T^YQ7I6,@W=@H?\30 M5)UH,X43D[*K95!0^#+C2N7$>EWI4"5R/SYQ(3#R/Z;");414E M!9@TB%P@^HCO:2, O2>!65!()+\XE:1&BICBJR"^SJ!=HK*%U.R;V\714IUY9B(&=\SCZ,@]V$PN[*_*_.J/Q6WWNB MOA/J+)Q#VG-HV3[E.*##.PO2G-)E>FYSQ6JF>TRVNIH(:"@MQY1"\5$#'SZW M-%%8E#;-$?DFUZA8XCQ%\BLTT>-;>B*T">S<)]9M:8>\:6A\BW4DCPU+.W:3 M0]ZP9V2Z,K#.H_V1KTPXYM=RCOX@6S8Q9!GI=48"5'GS135C-PH7W ML'GR!?8&.%5L_< I=LGWRZ,D,,\L1J::"B[;%_1N*I2G'H D[H$6*Q .;(TZ M*".#;E%C)(+BK+210C:0.LC98\(3Z"VGT\@.<%48QVJ!]:M#! WGY->1+U5@ M^T&"25S'@%(3MW0.)B">1!)=7@1U2MQ9)1=QH%RMZ$V<9V.O/OKC;;Y-(20) MA*D?&\63>K8>64#!_OF78"C&*+D+'S(XWBK$/6XZ+N.);5D+K2$\3JO,I*RJ M!T[L&B>]>\M_14XNDRTC)!>K.PJ)W#.QKGB!B@FW 4\Z)'@;0?PI^=]\@UF" MQNY\0O>]N+C8]55U].=B1$HV_\>'_NI;+Z^N__G'/>+ZWWPK@E'DHCR$-NCJ MWR1XT +$V'^6" R[D4[Y^%"0C>X%\ RCD/L1*65I1?^=2V^.53DDD_,9=]+2]^_'/C%X9M_/C]-#E\^2XY>O7C]_/080Q"^ MT"KJJX7;L'O+JLD2@\9 M">2G1\EW![L'?]<"5$EFM]6.E&T$T/9?AX'0;T8:'-K=UU^^9RIP4&CO5;+' MNP\@9LD VO#D6RF8XWA@ V-<-9^M)K8X23K<@H26)@C0$P MDV8@J%I#N5*X\*_#-X+2SIWI%W,ZX MO2D'TDD59BF/-*6);AFU+NT7_VBIJ MIY6=]T,VU9QD@JEWY-W9H0G+O]FL\@^A%0HR=\G5N5T#T[>V5=\["!;5# ^/ M F^NS]#T%9N\TD,W'J]A&X9"SY$*8;!XH\5L=W"9'%QO^7H (TG M0F-$0S(""^DY^3@<&XC00($P4IHB\HT\%3M*XTYS]T,;.W#P/\F1S#SH+8W8 MW;&?A;TI@($?BHDK[^Q99[0.?3+"# EZI;Q!H8+\$),8-(TO(BU*1\6O&54Q M\![R; K3WHX9=I^(,W!_,5 0C+5<11*?)YHE*2218=4$2GS":;5I$&"6 M;>(6[\&T6;8*Z&5/^AY-<#+I$7KL,+!2'*[!SK7]0U[>'1M\H2!B!T/UX% ]N#W5@UW+\\OG)27)R^N;P]/FO MQ\]O;PC\/0UWVHR85IIS+'-CT;8$X%T3P&1>(5$@.3K[2^"M6FB8ZXKKJ&/'-SKNN-Z_J";KA>^:! 8V2^ MSC!MT(RD^[20=P,?!2 Y[P&*HZH2>>NV%TSCPL=W^2+_KST,MZ<5%TT!1 1^ M ("^40ZW9Y.0O+GF;GLG:;CPL@>9!RQ5 ;4V@?97^ KI]%;?LL[@B28XB$ M#U;M9JM6Z[8VJ(_7KO_/]P[Z2+=EA[&95BBKS()6W !Y.BW,I9-6/K--OE[& M:06[MLRDP00?CL?[CL>F@\D=Y&/]^Z[B5DJNSN6T8WE%>\\NVK!2=$[9;J] ML@>U *%BT"I@3KLI\%"NP_P,:D6EP%J>6;BIVURYT4C0E+M!_>L5%6R_5.2N MN"9HHPK:IGP3 DM%D!N+.)0LKWQ>PSDCKOC!XP3JF#=-G3 :H(L62RO1 M2)8%SWY3]"!6)- &13)EBB25Z[O6]L/U^J(-D,BW*GBB%$=0AC1N%;<(]@% M^ VV@]@"AS8J;@4+,@ &M?<*A@#KM-_1&GCC2-!)PT=RHZ<'%(TS:R-K%:LD M045=Z"<@WGJQWCLTUCX5YS&0T)KGA>G9TR)OQQT)QU8;[&U/D,*(>LO9-J79 M[B(_!4L7;U\_>'O.A@@"W\X$8Y)0K0;%VQJN#*75^XXYV-]&Z!12)3>;U5!#EFPM]BNG02&=N45( M.O)1FN7F/Y$9<6Y*D>!0Y"7Q.*!HFWDE(U;95/"V0>!X?&[Q'@>*GNP^>MQS M-W;LA[V(#,>C?MC]_O$'N"#\D+W!)1DTR;6:Y$00KE>2"PJM9M8GH?4L]37: MC!E81LE=:14G8&S=H4JE8-%V:>-;6)?NJ*#0W_9>5#K!#ZVJ!2F5DL](@E]V MTJJ*7N^!0FF.1I0)4T:> V"J&D'?]G#+5,CZ+V"5P#4JP4LA7R2=A MVZL#3.]58ZLZ4@RD05(/DOI+E-3.YF]1W *3,$8SORLI_"IBUL:8LQ YO HZ M?;4"#>%X6GJO:"TSM":$=4YA,+<(=]%NUSHV+ ]"P!J1L'Z_@[SK_." S<8E M?W[.7@)BS"F6]9,,'F#KNJ-WT* ]3&B92 %NH?\O4:!UH*H0"X+!O1B3[^[4Q/L@*J+HK?V@M_DCA##[5+1 MB_@J W+(_(W@ Q4U$ WO-A_*G8PNJ$Z&MB0">L$?3GF[^,Z&'++UM(%XI3'=K.F+8+FV MIHS0^O,_((]+?P>%[QL,, M8">BP'CF.&\*+K1 E(%5&[?)@AUM3;2-,%1VMI,P0W6JE M^W9HAT\6Z;/+1>(]JU5]--2J#K6J'UFK.JC=SZ)VO[UE77ME5Z?/(P-U\1W@ M!+V5;&6U6,F,QV<'0L0%E!QF7[8V-6P!F.% E6J-BYUN$2<7E03[/=B)&O!$ M5&.=.^ %OKV?_@#)@58KD I&*-=X2!7-B63T" ^79Y5GD/GE@01I)KJ;E\9U ML[69=45:ARK'ZGBVWGDWIL9D$)_B_KQ;PC,):SU%.?%[VM@-V?SVR0+=RC'# M1J8C\M1#E.%N107/=I5NOW^Y^Z]O7OUQ^MM0['YU63!L5YE0&%)LOS;$%HX3 M/Y#%U9E&S#E7 !)5NH5MK>+P.QC9H%X]LK%"""D;_0XLV]A1]V4C"JFY'KL8 M658,?M9#.N81$'B;M9)MW0[:@Z$Z>U#:]\17?NYH?3-VFF.:+:AXZ&?( TBQ M,"%S-0B<3DDNW<"F< B0)N38DM%6%0:?,A TL%FD("WC'@\_4J;JR9>4LTTK M&P9UF2,_&(&#J)%7&GBD#AU<7@#NMWC,0$94>VK-CX<]TZ\A^_SJ?Z@;&,3: M=HNU<)J!*\[?#JGFYP$@5%?HF#R[V*";P)H6T30MFSN(L]V24=]0?+!9*F[. MMKO0Y(:D/U<.3'3D_>45 Y?4!BC&N&8[HDE=.JQ'JWY5O@6?&L69;Z+:+>1[ M,#G,E6-EEPV3#[+H%5<96UQT[89OC&;0%^G*&ZY1AF>ST6@SYZD@-/<2Z#@T M+OXVI:UX<,KJ,KAP4AV*_F+$!>V&//P@7K=(O#[S0]Q2&;&5,])R2UR9SZ1; MJ:J3P^-1K\AH&VJW^NU\8,G#8\]_#@@5E39CHV-)=)J?YH]'/E=@\\91,=(" MZ0.%*64AS_*UP/5.7BA*&4LFGR%37\DOZ>S+$N;>Z*YE;*\^D' M:[5EKOU9XVIIK 2UM-FL_]8AW/ME*6*(CHV1:67.2[;RTXNPRK5F5/15;6N3 ML-UN+HGMBI'7)5-9TC@!&)QV@VL2)T4NCP?%:L3- DV'\3UW&[;A4\8=CKSY ML#:.#XX^F.B(M=*6S[Z4T=:?Z %TFW#_?V- M(&DO*Z0:(# NN.%C M(7F$.8.,(V^G=XXVX5E;W] 59S^ \.F@EK\G;FW9DP<1 M<;7C/&(:Y:4Z52R=AXRVXIX!T5YNJTR(?BCL4-P21 M>TV9O;)AU4XF<\-B?,E6J%^LXK:J$(CX=FX,VE5:"9+;F]0FV _[H79I0\_@ MAK]6U0SL;'O[HOEIK" 5"*QBBXRGBZ\5+Y#^(.="':K(.-A-#HM"ZQD:I++: M>97IV%@H#I72(OU1:!A8%Z)G;"=,M"4D?(G/5/\[321MNW[.%ME#X>O3]$+4:Y/?-R^]C/Q\NF@<7C<[IS?7;'E@4F:BBJ^S/LVL5XXCS MY=R\8"UR#I8T' U3SX4M/?*:N'E9QM[%H.?Y B+2+-#QJ8+!P>E^[=EI M*QZL'H!7^(ZTZKA71JIZB>[S9>I^M:E]P[8*V09QKAHF$IJ2BRH^>V]F MQE7:7-T*$B]D%=L+2\+>C]OS%T*AKGD(+33;/,:#+>1>DCHCZ_AAE0-_-Y0##^7 0SGP-NG';2H'=M$ $:]A MQ'PW.2[]M-"%=NF0['R1(U!>3=OD\+^P]I]S0#9YH"T!\ M2XTOK:$Y2MAX)Z,KYIL');)(E'3+Q*EBTTJYXY#<_4(9=RL-V]==W72*K,F% MO9,DG1 7B3Q77BF*' &Y.RZ@@4%Z^=H4KT[+]8*$:= \&TQMCV*^81DQ[A"6 M_)/):M.^\E,33.?FXA<$U9 MWG97H[]__?[)\S?_.CYZS@.^3]Z^?OWJS>E0P;^A=/PJ; +ABGP!Z,-J_!_U M\#!*EC$'@J[)RTJ8B/$L@+Q%N5&8R4T%9U(N5@GBE7+9G!MCW71:A)JZ)2I@ M,V1[+,^&<^*D=E_PO!2]=JT'-Y+8"SHH;9L!60[!?CO'2X W8] M#NHW:NE7V,YD28V)Y?OZ>;X$R1&\)B.8>.0=R=CE.72HLKFFIC7&?N MPXV1G0-495NSP.N*PX7R(@,B9QOTZP8VDF-/2PLR>'C\[TIH:O.DZ5+N/]^NYN+H;#.3(9YW- MNTJ!V,(9!7U$J%UX+H)4K-_HCI.98M, @I*H]UH\D&Z]1;^MHEU(]>J MK<]H9<>>J](6>1S*3=@]:QPM"$?SR5;NGUE=+7>0A?+0E\Q=QM49.E-=6FJ4 M$11+:*(P_OF"ZQX$W)]G2*1ALFMB.'E%1GE&B^3Z,=+NN\FAK#B>=&\+W6U. M3"E/;A<+@ABO"!5IJR6D*E=/:I!9?T>6U8S+/*1W%5&@9HK!*,K+L*ZX(#VZ: M<*DIZV4["X.Y?A5TR:T_4IT$J"G/TE515%T;8^?;ZT'2P*'L2NV_\'GGF'O[ MG.>?%S$[!8LTBY6)",3?/MG$?<\=]AI.WKG'XW M8T7@0"L,/=HV_4/WY6TXAX)^03^! N\6\ IXJK6+EBD.E>^<&QN5*1*LL';# ME3,VUOR)N"C4O"/OJ^"I#[T0 C\;%BGGF9<\S,)A]6D=NE'[&"7IKOQ40X4H M9HE+6 .1-8 &#!F"KLM-,!^PDBI;LMV\Q;.LEIU6!3^ M)KC;L*JT()=D&R> H/;QDM&@0EJ,T4;$*HU&-35O7B] M30_X&/W]MC'O6:7DXZ%2\@TVZI,KINC/9I)VBO>REF>TT05 @J6(>W(Q0B-]33Z LK%) MQN$0 'DT;[7G!RF/(!V;6[W^Y%>H)W*\CA](%_&ECP!7!%7 T1 0RU=3%/!R M/1 R5R':K\H':]@&T_7BRR*X*$F8>?ML 51=VOXF@BWERB6.X-G=4TG0>$O9 M-MI)MTNZ1 S0L MS=K((*< B4I3^\ M7AD=J'!2Y\MP>*3#ZDE=:WY0%F>QBMI@N(SQC[XP8XPZ;L*">VW:9]0$R1$' MTV/T!U$':)-TRXP54)CQQY*XWH3$3)E\]_W>"$.'.)GKQR!;<"2&TJRZAEY9 M[C725+39X 0%J6UM_P0,PCJ$FWLY@;5#6S!Y2"G/8V;03+A OK^L!Q;>5I7, M=Y!NXAYJQHUKS@?*&+]@A-2[%#UY4F#V'$X142U)NQ.7<#D1%!(G15WQ<]A_ MX<"@Y4#%Z*(ET[&/I6UP-WFA0A:00AO&\B;T/(8<2L,Z%?I]LM14]%]=/CD# M8"!C8(R44A2OL 88>Y V$N[8\$;^!1R_ 'IUQO68W*4HP%G!T$";H.>9C/(" M;+K2^^@00:YW$2"G-&'T1NA.Y&4=""RH=?.;D\)H77F)TV7]N;1:I/."]-_Q M*0,WTI%\]^3@Z[\F;."X:Q>.BCV'LJ)1(?9#C" L.-+,T6JOG?I<=]-\KA0C)UV&%./##EGG MM]"!Y-O5K2:6:8'_^VU^^S'S1!L,_;Q%GM3(T5O+8Y6%130+Z <7_0@Z".95 M5V!21\+4"ZR >876AGEU(5"O*#JJP[#"#@JKV/S)48['!CP92\LYN5!:1;4V M25!*]4A^G]'I)VR:C3%"(3,< 3[/T\20 5C8(BPK01Y <'\0"U^,6/B]NI N M':XQ3B>V0KY! /8N1<0K[XZP8V'KI$Q25R0L/%Z_8J]-32KHT&GIK;3D9RM6 M#L5!;Y*O-YBQS3>VP)@\PNHB+LRW]BT'4](&YO,T+V//+1T3E7H?D@%):04P M105$=$'6Y#2482T*,5D&NI:"D0@O%!5/4BTK6X\)G0#3C0477R66O:^+)N%8 MMPHJRK=7#"F9BEBK.4UG*C]F@S-HE)A7\BL ZD%8M#H1W3F&TA?1T1B$)N>ZR@A\[!("]3Y=*,;FI3T\&@NRRX'&),Z$ MK7 A]2B5M"%TO;&_E!%Z;!B]J8IS"V(W7/0@=?Q;',U\Y?K;-91C M$YZ"7EZ5$L&+3&,?SO'V*IQ4WRMOP6E_VA@U&GE]&'R&DWS=C6F=M)1)2^;L MR0.I;KCYA7\7=@5LEF;1P7_UCZNB=XA@YP[.U_.7#S>Y0%W2PV"WKH^?X\2Q MKWIC#"\:Q,MVC(?5=SU+'!'CTA<+MXB_-3/L2F(XHB_,ABIS"0M;ZP,8C*5C@9. '+[0<-VMY-H0;!5^P#68 VUD6' M?4D-]TF4.^PI:#Z_HM?)6[G'. C@!5,0G$D]BCT&1;I6G@R VBT_2;.D4N\)\[^P>* M:=':\9=%-8EN.M@R[YNUFZ)/F0%K-9X#.X1,1<7IMB07(Q P,*^5U23@U[PG M-C;9.@5^2087EEUGD]UDNN\V^TWDJ9!.*IG I!-A[JAU"X-^[ U2=0G[&MAR,:)>^$F(T&J O=W])W\/]ZP740ID47!_ ML-24*,3NH_WW#H)8/XF^N:"=NU;,!T$\=VDZYBX \YGE^^;H E_X_@P9J.E^ M:.Z2;8]B?JP7Y#4/=O<>#P>Q!0?Q_>X/PT%LPT$<['[__7 06W 0W^\^&73$ M-AS$P!%;SO_CB[SYY_/<8ZHN(\!T'?+/$QB<_XXX]>8\-NPJ7Z]\& M74C/2T#\/3,3@TF>DN=^M#^R">_Q31#/->+JSG=BT\L.,F%+9,*&.HSU_[V! MMQ$'^![S,P:WW!##7F=QW[>3A=EZOT_V8#C9!WJR^X.2_4 EZY/!/_UM,C%F M.KUEO7OY:_;Q6>-D]4>!NPJD[(8*OQN3"-#B=[ZG'Y&QNA%]?_OO_<%.3DA@ MMV3804G<[=9P*O#N:>3)W_ET9 WUX7@]79-\=W#3\OU63_GOEW=#'=&B MQW5.]_G-%.<&+X)[IF6SHS>.W/U MWI?!5[_7OOI-\.>C)P_ ([MS6KA[!^Q&9/7>0 L#+=R\7+@KM_P:)_S]+;H' M[*)?TGTX>.GW)$7_.7C_X,;UP!<:DGU89+%_XZ;B0!8/@2Q^O&<>_F>BBOL< M(-@_X ><5FU:#$&!FP\*Q"S_B%A>!N3>6Y[?>W"NXA:'? >"NI\$-9S_W9S_ M5L0;^JF#+9OE>1L %@#3.C[Y-;FHZK,F22<\&:*ZS/_J MC(S+ 9[%W*1%.Y^DM1DEM6G3O!@!I!:#?W3BE9L($$[E #Z*@)T$X"B-22Q! M66@OF4.!M3)H)B/<\H@4!T@9C +'XV9=GN'A"[2EIFR 6B'&]QE45L*H->V_JDYL)S&-3VPL>!TAOX6M$K:=GK+>A4\ M3<#$:2%-PTC!,: E?WF!O271T;1\OPC)4J$VYQ.XP%(+63"15*8-',X1J ]\XZQCH)Y/ "5 MW$U.F=T=:*Q%V%:TYY$ W!./$9UCL M/'F&2&T73P6C%= 4/Y@/ZFH5%P_23 MZMM%5[2YC'2F!V'TW@T#BUY^B@^;_$YD% P)@A=66CA2/"X3J' =RY0(W)60 MH1(% )LPEE@O]$Q]E9IJ2.$T$$KA;$BD2 MQ?$< K:F\(X%N) V(BT=K*Z3^A<\.07@_HSRG[IIC5 _M&=&D8'!-?C]I::+ M/&J1_J>J\]9=!VN/F#*9D[:A+R9NG\;&E.'<.F,Q@.G.&$5 BY>97G80;<(. MG(B K/(K#D8NRA6):CC[:+;B9 RFOIF*/VO%B6IB!B8!1YO)XD^?$IZ-Z_Q>SUFU?/WAZ=GB2' M+Y\E+YZ_.?J-_C@^.7[YJ^N5^K*V[FHA*L#P?O"CTW"D>(BJ[80#((-D?DRS M'902S@EPDR$%;5YFZQ6K $[-,@3Y=BCE$$T.)C?%U#H[4);GB_B9 ME@>CQW0/DFI953>!^2GWHW=K8)Q MASP%<,2OYU!Y2]/"M<[9EI%'T!>8D:T#^(JJR[SC"@-WVEY8J\2CE_/L85B[ M\:!0OLAYO:PCR'DWQ\&I%\S(/UN(M4[0?IUPPM$G8L_0])A MP6$7*^WL/*B1S()O5R.9_,L_H)NID+C@ 9HP\]1"O!Q1EF4I9@"3!2I!*0\C MRZ-[80VYYT\P[4"&D]X*G.P=P,-O%P#M#X^MZ'=_;O;>;A=* M+1PZM?OD8#B:K3R:+Q5N\!X%F[.S6#\#<+E\PN7CSK[F\/P7+.\'I2,^%0DW@]P&;:%$ 9R MN)(9CT\DF@P(,-(3;$'38E7/+B+ZO6C*OJK/GV M124VQ(W9"MOWLC>M$K8(Y4->\]&55N.E6!^?BM&UI@ZV[^BWI[WOX9+1#P,9 M#63TZ63TJ3 3:\;&-I+1_0Y&/#/-65LM/QHFZ-:#EA\27+F5<,H=@WE^"H-^ M*M[';3J/[[,+ S5\"C7L?VKC]D .#XD<;E X?/9(P>U2PT.)&)QH$\$#CA/< M%<<_%!-^_U/1W^^!)WA;>*(#27T>HW.@J"^2MV\\$KUM7LAPR,,A#X<\Q!,>0#SAI6F_/:H6R6O% M'7C <86A_N"60LC;MS,#+=R14M^^C1E(X8Y4__9MS%U; W==1I WRR)="=30 M"0[FH3CA0\[P+F.[#X:KOT1J& H*!G+XK&'Z!T,.#R4"<.@1#A^P\S\4%7RB M(-C_ EW#@6@^D6@>0FO+0#3WMWQIB#QL9>3A%6/A_Z8@S-^>*!;R0PD_/)S> M]R'JL#5AY8=(!$,-P4 $0XW! XXPW,1DXR&X\"$F__:.)OVT,.1#*%)X4-WM M Z$-A#80VG80VK8V0'S>*:%\IA0C#;$&,[>C3!MLR ^XDF,N(0V$G/WW'@?/!L3>7*>0%K5JV'2 MWI63]MYBN!XFZ_&LO7\]?_GLU9ODS?/?#T^/7[T\&<;M;6!T+;EV0REUG-UQ MB6G)R8M\4EA'M,R# [OHQQ^WZ(.[6/0CN^B#CUOT_F[RLM+YL9BXR@-" M9<@ACW^=T>05;KY-B6ISOJL$=:]@1+ZLKT M/,UEV"LILXY',M(*2T;RUUG*HJ+W%HU.F'GTL4X4*8< ;F& 12((S4&DQ#@53Q M,$5:("X/I!,MAV4FBY#K2)=NXBG7#WEMNLD\O*>,O2[R,\/SJ*^;?"W#WGE\ M,^^.3+_F&?<889TV\P2#26YTMO,#]95.Y^3OSN95)T[ RJ0US]MNT@LW"SQ+ M\@6=W;G8^DI&2@-$A!CV+K.!VQK3WTF5\#WYJ-1Y.7KUK^-G._L_)O1RF5GD M$WJ&S."NBG.PFXR"%VXFSYSUBW=P\(C,_-5A#C::Q?^@B>BJ[Q0,X?T M?&WRQ;@#0W4R^93YJR5?EP?'@V5%6$TJ92QXQ.R@ZJ1F&",-'2N?UGG5 M-<$EYV:>3PIXOF_LL^36,('&QE(0/7L!]B4YP 8@+ U="NZ28LXK!L_+(-AO M*_#\&%/=6;2E10.)/3%8GK]6#*8)W05TZ6R;:.AS- MC#,/R*07OUG205@"PJ4Y-B7EL!1IX(;5* EF\"\=G2F3:7I.NA;GQ!#Y"TOB M>!80_(;MO&H"MX#OQA0X*ZHQ$>#Q:3"0'1HESPPVX["@7T*6C&N>"Y_BK/ 7 M'4!.%W6!X<-O1PN2=R7%1 9+6G+@#2]II]RS$HO.*%QM%+KSZ\6^7Q:K"V*" MX>AHW6P5"?=Q>/R387B\&8;';R+5.QD>O\4ZX?V#N<^.3T[?'/_\%J';(7*[ M68%.NV*:0[Y"&%B[3=,+9&(1"IJR:F*)2LL MY$]F:GFR>@J=;=$O),W;.A]W+>ODPY95R,'W3T8DX9*&_(T:%A&92&0)S4N2 M?[-5CKTF M+3A=Y0,5C_?V>-/D!-V[JENN,0HVI ^>YN6DZ#)V)N@@JI*T.V[9L?.0&7VQ M1N#-1O20,4*H[@LV$4Q[4=6<8YMK$?1N\@I1$FPF62QIV\OTO^0V171S$CIR+WUCQ*>:>TFMR9=,)%B855I M8+CQU4?T?J?'A[WGXWB$=.T=F(C8*+'V$_L3GB]PP&PLDIC M,EJMWVB[2?'!T!6+=&:M.Z:XACZF#VB7F\9P?"H5'D(L<4$>0?01Y]-AW<'V M+>NJ*#A$X*GS+&];OIW2Q9+,"7ZB'*,0=VV6*:W;_FIP[=]'?(H;B RL-XU% MDKKT[V:A!T?:R3WP-7@O+6',@I2<$%U(W$_OI>:U(T3B-CR-94FG\C64IDE. MM%K3:9.4J,J";')A-B% LD]<+-$^BAGO0U:;-U;-0E$G!=%]R8XYGMJ+/>.I/\919XD%?^@ZOD K MY/U-MA>'+P]_??[B^O."\>W+R[Y/3YR^&]/LF*01]"W\YS_*4 MG6'BT()^&Z@(HDS$NH3;FU73FH6-/G' 9&P,?4Y^*BO%$I)&1 S=1O+!D#H= MZG!..5MI[X'41$ZF"#VC3@N^.G@JL0B4Y+0K)VI.>57(4C)IT[- [\%Z8J44 M&Y::F;9RAG5RJ/XTA,*_9$8MSR3IV1G7GZ4K2'N .-JS7=]WO-Y^\J?DIL*JS MM$T'R^,]>9X!#Z" R8 S?"E44$$7&@Y-)QIH)P8B4W.RLGQ&&PYFMD'S3<*! MCE!8+"X>NY0?)V1T&LOE("@-:\*!*(J1]\0XU&_UOIF2O,D-"QP.E)=DFB@- MCHFC/3TY)V)2->V.^UW$'W](,E7*_VS6+.F6Q BAG.2VG@'"1WQB(][V(%Q35M"+*:/\1DK9BB[WR:9V2].[8!&5)EAGH M)RD1E4BY#92KY+6'%A%4(-HBNYEN,1/S\]'J)I MER;QC7IJ01:6!5\J\=_CTQT.VP:A(4AO9(2@='UFA&69_%MS.I+ *5,AU4WY M&WE 4-WA;:VC9W_$A2$GOQV+9#TN&Z[)?H[L!'EO#52XU(Q#YTR>^9C[%E"9NJOS2O"J,EBKIXS9$B M/$#?TG^;H/*@NBA]V$)+J^B20_K$1 5P43VAE+QY6OQ,'29Q?NY)3Y+M]$29 MRTP*2;TGR_&]]P86'%CP/5C0A=R6W;C(FWG$,Y=4,_[K!7XA?'.856/SV=EF M TL\^OY2EG ,,%#\0/%K%!]%Y2_1,:J7G*ZY2HV(YA!N4)4R\,/ #_>&'WP" MB9DA,^>FJ)::CN3D#-!:V[.WN\F2XN/.D$)C%;B#_-U/'1EM-?Y:^UH>(DWE ],- M3+?.=$4U02<'L4MM9A))^-?AF^8*GKEG590_#E640Q7EEE11#C;2(*X_T48J MJB[S$=[ '5BD_R7KZ \S3DYO534KS.6]]-MB&0VD/Y#^]98*)[%ME8%/ M;Y/CYQ4#[ ^W?&]KOU_/TF2"@]M/_21?+ MIZ=,YO^B9_[W%L3\D$P8^&6K^,6V/D_KM)S,\X99I$(EB.N/I__0IZ0J7.>" MS:2[:KC:M&E>1.SU2N[QC,OC.A.]2! M J&^H$PQ )$(T1UL%7+8XA?70^R2AWF.!GE;Z&#?%GDL;IJ I5Y+(Y;MFJ(G M,:Q9'ZP+RA M[6EL-]RT4\ 2["M(Y&#OZ:MS6%+F@O^Y_Y0+IN!(_#"R5[QP5>4.?O&9W)N6I1^U I;Y0'[Q^Z)[_)F[/D%WEG M[<\+\"HC$ILP2D]M %+$>R+%9DDSMWO/B!)FEFKU:JJ(/4%??K %+6E,>JT2 MW?UOC-2DE\DO@,;8W]OYYU#/>NW"^S 4#-PQ\I@O1BNCI7A:8 YXY:.@CF^2 M+N73W)HHUN[GOY5/;4'>HFK: '4AY K+.'FI!<\928T!]O/JTM;CEZ?/?__] M^='IV\/?D]=O7KU^_N;TW\F;XU]_.QV:CBZKX6[K-#,0/HW6FJ(X9U&ATKZ5 MBAZ2BZ70_O_\;?^'[YZ.DM='&S[\M3I?__!%.EG_$)!8@*I*CD_M1\_1QP>P MEED" 5_B6-T]I&=Y_3Y''%E=__PY<:PT!VQ8$.F59URN07O^W9,#^N@/,SYY M_>K(7G%235O:#_?X7QEO!1%:8S]Z@^8)W)Z$-3&JJ<--TF6]H"T]/N6F4OMT421DOMJV!.R]J:9L1G"[>B8(DL:V?[3<(N'U;6>AIO@L M1U+AF&2&-!0MC+1%2N*C#V,3'+ZH>M\]EIRG1:>-IJR1 DDETLDJ9E\F;4&@ M7,<\/2ZKV/QQK1\I/]1:76@[2FM8NEPRP.4#W%R%#-]2+"1Z#=BTR:2H&F-; M<9W'M[G^TYL@ 2* WI_K0RMTVY)616:P:6TC%@ZE:<.%L AV#_,W4X-<>T)Q MOPB$&H Y0%W@\B LAMON?@'VT+MTP65 @G!0T8;_ETLC4L )D(]JK*7%7;:N MT84VB_Y630*#0A&K6%G1SR^ _Q!W_]&!I6HR;$#\T58Z:TR$/3'62"S0A&$* M9]H6$ L +AKTT%5ZZ,WS7]_^?GCZZLV_DQ>'IZ?/W]R>]EE;S3;OX27YX[PE MOW[R=,/&DHHAW<#R ?ECR%ZBY5M?YGW9W\MI]+(Y$/I_(%?8!J]1USLAWY'% M_8DSOV M4Z<-Z(LLY1Y1N.*D<#L&P;,.+@,K(D1AD,0HV;2Q+FB:G.=5X;J#71UL31N' M=?"N<;/IDO5M:&O@7);IBA4N(_2Y6[D>Z4E.=$;.=4$&SU&1Y@ND"8D0C@%G M*O;$*'F[>[*KI\QG;G?5ACD\3& P8T)#%2;C D[:MSR? UE#,U10QQY6^/( M:&+\10GZL MW/\(D5=%X%_G^(<$Y\.2G\F1/?5DN8LQE=OI#1@#/T/=-6Y@Q M?<_(?D15#(=&;OP\+:96.P:_$MR&I@-,DP&!9>F">)PX5E3HTI V1H!2NYH5 MUH6-,_5A!;H,]Y[R@I&=J-,NZQB.=R++5R%Q"1=O&>]>4:L3#BJ;TO_M[6WF MUGM61+V_-U11#U74'UE%/6BF+TTSG=9=.T><[Z6956VNOE>@HFH 7P'S-(+= MM!A=@:L(;!\-4@O:.4!U)(KJ0N2*<(YZ!?>TR&FT)B 02S,/\LE6:YLV9XK/ M>'^TS& #FQ&]/ZZKB;$)VRH'7/I,X(\$9N)/\4C(Q$-:ZN@6",9YVZ^"PEN MLKB" - H1+6PG*2QH,C!6@:+:%!*Q"GG^$X^[ %@_JY.--L=@C'QNLK& 373DP[\"\]X9Y?]\<\T45V$3"OH#H4QXA368#V"Y^V0]- M$K_HJ-E9/I510>B#Z+AV1)&S@_CEP"P#L]P;9GD->,> UH49^,_-076K^X2= M^KP4\H$,A9[4Q"=2H9C7'MGL6J93G'2ZR"JIZWXR\-W =_>&[Z"D1C%G<3+U MG9ET;.,IJKWXF4?I$ZA'?ASEBSV<(C]=C"!.2D2)M&IET@ MF.AQ#FTR<]G59+4:5G:902%)KF"@8U??J\G. C/FRN".H7EJLX[N)^<\-PKC MY,O&;+R4GJA7,Q"VVJ "H%L6*[ULX/:!V^\5MU]5AB 3:M]),;B/K0238Z/! M-SKMA9@" 9NP!$)#/Y(;I(>IJ,!(S!18B1,F.YF[$)0!>M6:E^I.!RAZS:KU MEY.*9\W*C_ ML^&E52\#APT<]N X3.ACE6I9R[#V3H,KXYQ?5^:BU-[W[,4Z;0L?ERZJ!KV,WQHR8R>ISF0 OW+9 MNAUJJTXJ1M0*\[J,^^!R#FS[T-E6^1#5I6$QJNVB" Q,23#8]I:0SYAOZ[PY M6VLH58" R9S8\P[F]0YM*T.Y@WE5UA4TJ$AQ^%3YN86<)ABXS(8Q7WM)70")@3VC9K&UFX]'&:AB] MKJM9G2ZDY.G5+T='KT<"$Z*_<8J!!?94Y\ "&63B9KO*K<)0GE3IH]I8QGJ; MM!GZ6 :)O:T2>P-=+XNTW+;2H:$S9*#R3Z%R2:*@* A3OM&0>?]5]T#"7Q() M!Q$=HN&\'&AXH.%[1\-^6/H&N\..!A:'#/'[V[1"!@H?*/S3*7R&/B>C&F MW6"9#%1^WZB<$YDML/ASAFLX'ZAXH.)[1L7F+TQ'"'I1*X86[4H0=H"/.=#U M0-?WBJX]11MZ-VN!G..>%J;GZS-ZMQ+ (-H%^7P'D^:FMO'QFX'J!ZJ_5U3O M@&TVY&J& .! TO>6I$UK 2YLDF8NO?H 42(/<["\!\*^9X3-Y:L1)#3):E/R M/!/!99$>AH&P!\*^5X2- 3YUMG-FS++?$7#'XV4'>A[H^CF">E(3N>>EX>$Z]%[ M46F;"$K3-_UP$TA6+>F"DM;OFD,PR:1KT<54=X59@XO9O7(!=YY@-]QH(IREC>\/7L MP"',D+&_0KM-'UM_?6=&,B$8W3YC7C^)_:1-%_026% MR["STDZ]T$[(*P0XP]810P& M)LWA#ON9COIB7A5&3I:I0N?NT<]:^;Q$NWC.?[0\L56&3)7GILP-3QJI^:/, M3-.NH%/G=KMNB582/X^$YP@Q7M*Y8-2Z!2E*B\<@[#]@%.,3YL2!+$XQLU<9 M!&8"NO+0[X!4^)::4PFQ[;P&FX#G$//QQ;$R9F)0'9,W3+%X3?\DZ MP!#E[B8G/)X\VB49:"I2K!BAUV!XWV2L/9O'Z%CCSCG&5B81#6<7[.]*:2+T<$2&Y=YBC(F?ECRNYGQ3/6%R0#,S%#MN#%K.=O *X1Y M1*^3\Y3Y'J0#;=:BPU2$"4N&ICU83RC;(LU=+@0SNO>L%:SLYO?,\]61,;T9NX@@*NT*R8A)0 M>$8;CI7H $?%X) I&[G2,3&J!!OH7Z'Z_=\_ZT) 4GZ^\,;XK7$*)PIWT.EC &>Q<)GK"U%W@JG MAHOWL3Y'''Y;R0HD&M9JO7EY,RRA))']]D3I@8%BU5'CO1%)/=Y#MW!4/0_%/UO:='_)9KK%[)] MX]WB2VBLT8/B_/36.735=PZ8+)Q+U!2-1BUD%)P<7!4SYT@]R, E8UTJ%M MBR3H2;=J']\KV^UR!*RO_O';VQ>'+Y.CP]?'IX>_,^;5L'\WA2#F(,0FQ":0 M+SG"D%.898B@S$D-SN8Q=#X$3<6,FQ'K&QZS!MA^PY<)8@&9+*/(SI)_J6?J MV(7\66N0D00X,W-:L/7J[42W&+:?)0&@52O$W2VNAP*\EC-2Q;TR:CP*PSRZ MO(#!6E?ES$@,;U'A%;B-@,2J21?TW& G.#!P\-2:<<$2Z.V;.=Z?187=.%Y9 MM .VF]V^LKTC78R:*;;U/5JL^ (L)>-@;MKZ$'QMV#PE@DO(0:-;R)*/_!C+ MH[3FZ0:V)V)$LK@K)W.9='"P=[ _DLUH?(Q_0:2YMBVO]*9J\1O K;=@/X]"7;@JL 81/Z!^D"1P2ZAG"\*)(SUFGIHP,S,Q2 M=6VXK>Y$<2?/ 2N;>(3:.=>$@*4U-O,+4"LM196^TCR^7XR2N2F61.\\WU3# MGC:QPT$[6I[^ ODK(8ISW.B?C=S:E+5]#WK3Z5@)N>VRE)/"_BE)%(S P!8 M1'CNV'MGF27"='NC0>R-Y"4<>JFTB-[U#R.L83G0HQ\Z-@&S:HVE# @[-T7% M!3V1/!R $H?"G?2,W"HK?@(WT*<-D(B>, T42)=C-!/F]N* M0*#CRJ8LTG8RUW2*IG@E,=!)2 J3%1$*<@#1O!3R(;$O!40<_JFE>R.I+NS_ MCBSUC+'&80GK/[TG,,>X*K&T,98-BT35SK0T" M.9X?A7)M1^-,SD_5-%\YJ[A$(0B= / >#C7*620C_9'"'@]XF(GU5M9^1)E6;Y.MI5Q0[K"X03SKGH-HW(\FL5HMD?[3_^"#YVJNZ1X\.PK/D@)B& M9N2>I2F^H0G;B*J!&TTMF@_#9]/ M]]K[8?U>1*3SM-&/"HD. M]M9OW&O%XUJ#O&3I,.W*B?8&_ '+I,C-.<>].'\]JRHM7Y=R)\ONSE(1?\L' MO#@\/7[U\O,D M43YL:=?SL];V]7XD'3'T1X)J>83$H6TNS)B11;^>M^WRIV^_O;BXV&W,9'=6 MG7^CF8E*+^:RE4]>N9^R3,OKW ]WA946"*W MLJ2$W+ZL%]=K5D)-50UJ2H ML>")2US0GPNG>R57:YE*JQCE!CD2%!,156V"=V_HY?.Z=ZMO764H.#TNJ8W+ MAWB/1 15X4(;SET1S8RDUCB0.7)O2M#9L*"#U 0#/EMA%UN*G;@$D2]B:/'&$8JU?0,I-$B?;-& M8$QTLBK;#2&2GP^+:?0O:;ANQM_^6(Q!)'D+2^4JN1./D>J@\WRGF,#"D:,GQW%HE"*\:E MS91(I*K%EB3%08]#6,U=(K()D;0T6&;CQD9[%65#B]S%=Y[3X?6UVH7YI*WT MJ6'=5+% )DJ:EUYF]>THF5<7AILO4ZM%KU60H6.9)GGV_[[Z<__[)]]-?C!/ M_LRR\?C/[R;?__#G^/%!^N>/^P?C'_#S]^)2PBOSBF$]T_?),W9[_( MB-$_O]O;_W'O>[WH3NUPK"W9/]Q-L+Q$UW=KQ4S;Y?)?G1[OQ,WLA.O(65GQLIMEC*<<;7SJUMM;G;-=>3TE.N[YLFDZ ML54 1R('Y";51(:Y2S!-B\/CX@*^@1A(4R>!X4)=LE]XNGK(]'A!ZR.9TVE9 M?7^$O/7+46V%X)X5A".MT=6X/4WTMS-%(TXJ; >T"!JD09Q&B]?#F[9#\[B7V4'#K_[QAHGC33RF_6='BZ\BZ 8 M,'1-6Z^&>M,/W><_-%861LG0 &]K&FT\-&I%&?L*-AOE4% L8S=X>P..G.# MSCR!N47BR4HO/@ 67J**K-B"Z>;IG#9[6J#&T'8[7X1G-)5>J]+W)*K5K3(>A;.VA)5)O.WG9S/-IR_67+MDBM:]B\J2* MN0&\CR!_DBRJS!1Q+Z7\"A@<+1>R-'8N][:,"E9:%JK3K:%%YMG3^!LYP;W= MQVN4^AYE74P:&?K$62CLD!5L?N)4,/Y:^UI6D55D-)N!00<&76?0 MEVA,U= MGX5#O,FA^[:%NZZOY!F(^8LG9G)8.:.F0;X$X;2!@@<*OC\4G)=3B2;?(5+R M0)@#86X@3 G@).BCZ#>@7K7)Z]RE03[H5Q4 M7Q36H617%.@#,T:'4:PV3^0!DBNY566UR"=:^:;8V".>\,< MJ'C5K!_WQPV#=082OF.MEU]I\-T!E(>2/DJ4MZ0S$EXUH0BB&DU#3K]&=; MIXB$%U47:;0 M.-/V(JW-3MKLI#O:HR-E_&EZ,O(\3> 9F&)AAC1G23*"P+DS*=6NNWJJ) M,I^*^R1HK8YEF,CA@RXCF+MMI>S;J$5X%91=<"T:2EW.4+*['I9L:(D%BH -UV*@.8YNO7Z# 'O15=FAS@,'S)#LE2W)087R M)&U0AW8\U7+?&E2^ M&QI4A@:5;6A0T=>^JDKQE8->82A+ VG(+@I[ MJRW:XQ6+-G7H+?:EP_4+D&,8>$1LRKP.!VUL (#4^TCE./(7#'9I<9]:,YF7 MQ$XS"_YBZB^V1O+R=9*MLB0C\J>\1-71SKBH)F>11 _DYQ/YN:P.5>7!%KND M4MYPWV8Z0?'W?Z6VFXR^/*09#^B(+F7IB&_%75;7P9VF@)%EUU&8AZ!GIV-' M+ E76!8H^O.\YGIU_TM?F2;.2%Y.Z]1C3+*S$[HLQWR5'>NR_OUK_CXS@D/0 M__89?RN-23I"6IJ +-[R<74JU'YXS):+G_?%A:AY43@^U):"B$<_C#.YTQ2 M/Q:]'Z,7E@Y[Q);L^UO2:;KZHMWDD,RW45!P!,N&/$3Z7S<@D.Q_:4D%B'5: M<$4M3M?1#@,N'=+/)NAT-=9>XOXI1EFU#Q\QI,#DC+LTHF7V%AB#S?(\N0(( M_[BSIUBWPOXO;%^&3!5#3Y[8__%4,=^KL;F$&%C8:3,GH[2ZN"5TT &E^,1!P",@$9YS02]\+1-- M_8RK&&R,62J8XV11"VV7!; 4,!M0/!QN=HPH% T^>:,)2E/2AAHM[#/ZTM+ MK<0I #\-\S,CD!2 !1;9B!?QL4B4!L:(U!]$T,HB\&"$.S!!D9=@LH'8;X38 M_]#A7;$5QL,P-]E24QWI$J+.2!^)'9X%Z*5K[+1@1&)(4,PBU_V6;B]K8B3P MQOAJDN@RXEEUF'V'G$ S!\USMLQ%NCN@9>O;>A"%V0P_@TV M75'D,P5 Z1U&RL&B8#)R^'4P$H 1K>:80\Q*B=D/.H3!2UA5<&TLALSRN%D< MGQ_H49MEUUH8(.+:Q2@B._DD#!%UI?0VFVT>ZRRWE>:6\9-I]5&P$R B)C 1>F8<1:\=-")%D[)4U5 MVRATI&C!$:M;MTI8P_*D]2ZT4;MB%!_YB(=,>WYSP$=8Q'E>^:',/$6N\O/6 M^2#D,*W*X -<\;8 H@L#6]&9;8#U1H>9I *@0027N1$DME&$.=P#.QE<'[GZ M#F\W+!AU&I[5H8)/"@H!*;-2%'\H0Z!C$..)@SJAW6%M$74)Q93I3:93\.'8 M(?QHGH"F=LW^@_*[$;%UZ! 5%# .!"JC@W6:89&6DN8YCY_'[*>I.TXUY M>)@=2JL?,W.*EL]YQB$"'#YI-9#\S9"\P_4&')$[G0E3JXM5C2ZE8D47:0(( MDL >5!!#GN\IUA=,05MY$?@=2%KV"/VM0S)96583,T]GTE5,CS/0J"0A)%9! M] \"4E#)B)XCZB6%BD'90G"*5N -7#L,OC^LC^=SNZ&B^(?,RRSVJ=\S(:G1PKH<"B-FG&T9UEU0B B2G931*-+-7C/*?ZN#?WG*3(JTE; M,?KNGD7?Q5)^!GQRA/&*&"YP)%$Y$\(PUPSC0QHT76 0E0[\T[@Q"0?R4H'H MQUXO\S8"/HPJC2D![+G2*3;IU/3&Z)*$X7O%VR6AW D@\-D$).*B8R<.2VOG M\[JI?N=,17E3]-"_:E-:\"&&BYEND%>6L%$?H;.?PD&(N(THAI9#$)CFBO84 M"[<@-7:19=S($8SX!B_@YA..'%7K/06&<7,)7U5O(&<.VR^Y'J#% MGS*('#?0EP8YB"&FU(O/L4#KZ./?/&!.]M/:9.Y1*KP+_&V QYWS%!8Q'O7+ MM!]?(.E%;AJQ*/!VDT.'? 0PB@C+9Z,SYTW9#4A#(SO4<:._-U06W%YEP>.A MLF"H++@GE04G@4GJ!)4;51Z40*E/)V,('1B2F:7J%VX04U]JF.EJ$8DD?<9S M)H(\@$O5A^4776L"=Y[':1:!#@#H%(S5">E1H%?2N2!:[GQTUCB[BHPP*Q&5"MLAH;(RV[OG R_>>#MZ]@>QB()0:W'!<2EC/YY# M?B[)KH&6/BXGNWY(*[^YPCWKC#!K$7.UZFYRI*;@YO5ILL-7'APNV=1[AK"/ M/.IW0[9^) $F"3D%HJ)Q>"F MP=Q;.A/D\!D:GE]#O0=GQ\0C8,5PF0!0*XTG2KM85'C.9@<22-SO0_@NQHW^)U6D JRHB5$W(2S6Z:1\P$FY&Q M+F'Z!GG;<=?*F>%S-N-:PFB-^S7\-@/;A**B9G>>U&I%.U/QA7?C(0< Z#:*6": M]ZPUY)/.9I@OX&(^/-H+)*:P=J$^9H!FK<9)K3*P3&ME>"#"P?XR! 2PK'7J MPWVXVDMQ.PH^%N4)V[@:=!/-=,]]B+N= ARQE^5[Q),*=X97*F20#)W86.I4 MXJ1Q.@'A\^=U8@LM V'X 8\)BSE*!IVM"'1&3 _#X: M,JGT!L8C;6^@E#%;:KL M2&<8A-)J 9SL-P^P8!48+,@&,!B@G1DV?"&.DMKWC! M"OM-I0NWQY+;+#JNJ6"8IIHV62LMY6]"BH..,>&AVW1>OP0A%6\NQ,X7S-I$ MEO;%NFL?*]1_-25CG:Q&3M&3A"&27X6:70M.K!JUXSRMCG0:,$;6X<:<\E%\PS?Q39"LDK?S,GSG,9"NT*^2'>.H89B@ISH6A M<^HD+-,5HI31;=8([B,H[1+)2 9F8P1%7L14(_8E'NANJ6F<-%X5IR4Z'J47 MP2W23D,AD."";VQL&P5[%WG#OG=49 Q8._>D>$ /F>9P#M9/K/_^O/ZZ:H+W M[\M0A%4R68N-V\I'OJM,]VID\?%#KI;JP2'H0 MV-<)[&/+>[TR+-%ZUT?NKPS<#X#NGV9XVZ.9:S.%MUHYA?:A69;+SPIU6C[8 M(E4)"H;%8L5UKX3Q$_YFW8=F 3Q*9J)AU*,,1TY*G_ZO_Y,NED\/1ZY$4!SY M,M8&ICS/ZXH1M$9!;LI7Z-#^,80 M?:XU0B[Z8>18$?2EC68]+U%F47K]@ISRWO@_LSO)"X4IN!H?BX\/0OM-$\%E*'NEG9(^)RC"'67MZ[JFWQV4)XH MA;^ZM" 3#N6=?O3G?4YZ?3\DO8:DUQ8EO1Z"87%J.Q)5L+@Q21@9%&H-#BFS M-,J-*R%0@20 !H&DVFH_SPN*G_XVI?\C$;&%9D54]2V-0(T=8*?X#[KCX2G! M%=2*(=%)TANTX"'S-M[N&SE?N+R 0]VV"L8W4(;J: ,$D+=@$.BQ.A$5,VEY MAKM-5CH'VZ<@XD8$&1B-JKNN-8W+CZ HYHP5<(U!@F0?38N<,RA<'$8/1*E+ MT_+]$/^6&:FH2:YX/5V)RAKZCM[>D&_;.%_+#B&;F[1 MDLSA>YKZ^SX*6*- M&@6\">(M.:('0VB'$<\C*S1*?PV/2*:'G6\W&1%6)A9*UH3DBABRI&^*2-E1%1Y$8'7!6BA;Z9,,8%0M&?5G?WQ]*4DT;*PRZ M[XOKQ8''-:4Q/(#$U4I:XWC$8\K96DZ7&*W'%]QL)_#M"99[Y6A]RD#T5SV6 M0G",\VW$4%RJ"<^#2VD#$&#IO[&@8YDM^"R@/]_NW)*'Z=PR9/=Y/75HB.K C%^]C(8"C>]2%0J\DWG<*BK?GEA?CRLTKZ !GUD- M:ZS7'ZJ- #'%W?Q(KP%:=P"RNTD@.TZQ+ZQ7U!MVRER$.G;)T396=6GMM \U M>(3'6JIF;.Q9[N!JPOD'GBFUVD+J;$R09VC(: P@VSRW9["/C,57Q>]>$-$393\G\^QE \(&'AYX M^,-X..NT=(G4^70:HAX!DFDF>(8RT;>Q "GX.W+LRI7:L3)R&..EI77"WK7R MMY.2N568,%,&7$9P3D%T=XSB-YE4C$Z08*5ZTP&Q?F#)>\62\+/IE;1^9K** M<$CO&-!XH.B!HC]B^%Y@P[E08TV6WE1*'J9=F357@!EO3E+L'\C;2 3_3H.J M?[A./ 6?(#_5:$,EQ^)*>G\3.+";G5+4\)6K(*CE,?-\HP)\?.OK9CUG5XNN MI%W;*D:UE-=L\_A4ZM!P7DB4@]$[R.$M<[BW)]R\RG5Y*J'\>*-(Y7,3<'YF MBGQ>50"]6"W9*[=AKBF_)>OK< V[R>G[6/PV\):%!L1?7=6FZ%M=C.D$*P9P MM*\SXB;56<=MJ[[NNHDWP-837A4N<#$_'^&K;8*8^SSZ) M]XC__:+!O1;WQW$ M>&2.2>.!Z-:BM]A! MTQ9WE'!J"N&,?-9IPYK[31"8E'0=(KNC^&I)6>2(+$.0N[S(\6D(=^O1AR[2 MNH:0,'TIA'X9;5"2IAG&V%_D#<=S)K5FT6R_&TGE5=.:A9;V2RM5\$C$MGM) M1=M0)KT\%EAA';(W;5")B?]M&JD+#YB&/O^CNRQL3-1 R0HAY=\D= MPO*R(,L36$U.K"&-$4! !/UI2 D%Z5>FUCX*UU0;&U0XA[@EG)WL"F,;FURD MU**DJ2'!2!R;]^'"T*ASOR6$4E3!R]P"!0;GX0$>:'U3IY%K6@[J M% )/,R2L..?@GNKI8<2SC[A%AR[J%C*Z:PK +6M&3G-T/WG$1X!A_4%B?N/: M9K8'R\9]QG65VE$3O@M)B-#//V %;'U'4&^ =-O@#?S/'IJA_JD;Y4KD-% M'!BIG+ 0J1CYL4Q7&ONR)8U>C #JK+'%'=URQI$MB<(E#N[4M7'1 0>=#G1# M,O;0%"&6GI4Z897.1J34KSVFBC4ID0#7."!Q(;V3;4UP! 5[]!H1]TT??2YR M*\P[P&* :"T0 >VZZSS'HUS7.O281VM+?,ED-2ETZHR&19$^,1/M;K2S'C(S3?GA M43,EUBW-G'8QAU'UEV_45$G4ZT[11V$+=/)$P_R?GZM^]EZ0]).%@5.-C3K! MH=O&.AZ5QGR PH1:_'JC0 Z?05W=&ZOL1M[6(RL$I:R*=IB'R0$O:QR8R-[6GI&^&6$NYK15]H8Q'7%<9KJ>0^8:63G#@/.P@(^3F+5OXKIH-*Z4;#WH(KJMW. MR!*1_XV117RQ!]UF\=@U<1/\360+! 73X4>D/N<3%V!-;8Z%85=S 569=(), M$\4C&*#2HJ_>5%_O[8! WD\_ZF9&P%1UD0$!::,]ZJ>[).<,#L^"N5>%[]TS MQ3B;YTMPDXW&^ERG#XOU2EW5FM00E\36=#TF7$43-YLRCH1TD]B$5!YTBVJU M'A&?01^\X.Q>99Z.KK-/1PY5GLA730%GE_K27E+@[[CHM_!MEE:Z!0V[IJY) M%-'2TK9-)V=(Y"I&P 40\&:F\ELK(3U>%CUU4>52+[W,M=O$;ZU#T.U:CB?Q MGC!*-$Q!!YAP@8.W(BY EIWG3M,&6CVK(J2^H,_!VQ.;T1-),D[.)&\HR#O> MR1EI^#M\45<-SK5C&TBR;_MX(R>@4%OH'F6I&:G"D3M=TC_I)BSO=)Y-.&8A M:M@1,FC689A_,>.Z@X8Z^(YQF ]&6DI:"EY>DQ0I^8- $XK =K!V_"SMY9^U M^%3\R89T33K=C1J+_(+/1V#)7%-Y; M07Z.>$W'UM?LEZ MELH/46=PT#TV1M.&F7%O_*,?A:VAKX: TF=L1/ML<0 M>:(QK?@B0^XH5!P2_#LC=8U["M97.3>Z.>UFBRRH<72J1VY M]87/)9W@.*;TPNE)^:V$4 V?]&J,5Q4L;22=R*=B*,>BCZ1Q)5K#_5*9]RT= M\&1(!PSI@"U*!UR#R67AWF">_Z>JU12*FM""270R/TY\,1)('II((6HED6B# MH=RT6MH.L,8!V7Z46_!Y@^D?TQ+("[JW4?B/;8+DU[Y7A),$J]VT-K"GASWF ME4:=XZK"@WH!LHT=2K*6?D2-PH$5+C%BS"]NYWQAV.NINY+ELG[M6T1$TN-I M^HB!(.R6LSI=)"_R25U9G.G39\G)JBS-NQ"<6LQ$O@Z1VQBW6B)RTIDL4V/? MY0OIY3[8__LHV?_Q[_+[??Q+(\5LTX_L*;<5S+7U59))A-CL;O*R50[?[>W]_COK!*5R10]0''F\;R]LY9\@93"TTG'>\9QE>X:)1S MW$+43HO&MEJCP9&?HA;TT*=AV'K=".\'-(.:7;;E)_/P1Q]"Y9NC/&MP9T,. M\@:EWVLK1*+ZZO%J,[>-/" [CL6!MJ-J1H8OR:S#@ ?W'X,''WT.'MP$SZT? M?CI'_H'Q\<3:YXI$:WUH#BI$+)B87)SHD&]X5@[&'^+RN-3,UT]?M\<8?.^V M.)B>V.,Q299R+?IJ8+7_S]Z[-[=M9/NB_^]/@?(XJ:2*HOFF).^DRG&O=;J MM7Z_.FXU:6=D]W-TR)$KD\F<&3$^!H^$A*84)%]1_T^I@KC^+9.J#L-3[#@K M,D^"?N?T#N;!5?@!>,3@V8_'/)Q'!VLQ5V!*' MI#<$XEE&P678A(2_P*%*>B<"3"9.A%5G20$L6J+02VAL%&_*E?Q=ION;5%/* MIE))@0LY;"X!X=!,*P\LY.BJE#&!;%]4Q)G!=O,$F7/]+O.-.7=NZKSLC?KM M,4:S0LHB^"1O.F0U0 [[TS+Y1>5V+P)HEQ:V6$1:S(=@ECE0DGF9N PRR6'Z MB@#C,8?L\H5$LV(HATU6)^J'E;00ZA20.QN5?Y!)(@L:M#K!IE8<_O M!4M N:HQ9%A(BY4V&Y'B57">THLC1W!F^!)]-L%5"N2G5=1PO(5+.)F<F8R@YK@D)A\$NT+E7:YN43!3/RG0TY!AP I-;H E'AY)V=[* M$Z4TUE,.!T.I#CGN4RIX:@LU7VO(/5:A2JW?5#+[.,^C6F''L]^T=L92,T.H MQ*;!!K\9AB[,I8ERE0C*>;950UO$BOX9))C:%/S'K /):5>H?,T@["Z6YS$; M#G-8,^]\X5&ZN7 S%V^)$JH-<>]S$#.D+\CD793!^9&[W-@?YM>V&9=;<9%\ M*&1IH?7"B6XM'9)7/$9*EZ2WX3B$C_6Q+N=Q31-7(PNWG5^3^(ZN:Q@);BK3$R0#DM+19H_S M",PMRVVY7 I?=^6Z5RWG/?WW(_WW9_IO_F.AF$>*%#WY*]['G^AQI-AD&E)= M\FET=C67D +*6J[&>(LC,0I7./%L&BZX.*-8>X14N+=TD?LEC%V?CR1Z@3[8 M3"YTHX=F"L=:QB.*.N&!^#;/IR4VKT]Y2AH!A&,NE[SP+0V?+I&1']3C@VO* MU^R:+CJB1?0N7@H:!0N*:@SJ45.C4D2MXQRW/9*(!2Y^;*P2D;/C#. M]+5@YRNR4GR3[D1SDWC%B=*SA ?3#"E]B5@65I S-%5&7AE'K2PK.44N"8:* M?ZF*+[ \/,E3(+$Z9WCH)QH 17:KM<&776(X4?G43 W.2932V6%\4!*=R%QL MLD9@I7(@1IS7.,E)I*)[(_IFBDEBN/DIDQ+(N7AV1,SR/#WJL$<+="9 G3.$ M:W[2)VWAKPHQ8Q!OEFR=BX6EE3CQP-"L3 MHE0WO'H810^2NH'#:!DIVI2\,54YEZ >%$@C0S9D6S!>MIU?\.!#5>HT,@_A MPN8AV#R$^N0A8% !GFYI@VS%-L8LMR!;2,I&O.=,+^)( MK]8::*;IEO^BB"/?'@A=GZ"RH1&41D%)0^FPAXR,* & # M^>F*&.8RG6_AQDAQ^TK6/$EXJ_E,M]%F.;9TFG&.'_V(-*7.OBU@V.@@JKPX MR6>_I*2+ZTC65Z>9:#"_P:YM%[WEL).VAQ* M\5Q+9)GM\OPG]7 MR->A CNBG\@Y(0I"D@/:&&?':EP5_)K#.G?"E>1/>?++ANHADUZ*(^Y6%PAO[;*!I[E=)S)Z#\Z'2D-516N;RZ*Z[(HF#K_I!1](["[E$ MN@%Q'6IGSIA0*IGDV@CQU8(HMN82%^U+IN:T\TF<^2'\@8UH>#I MW4J*5]I<*W93?H&-ZU(&OR[/C9(1?I;0)&8SK*#'RRY6PO=&[-KD(MRH$>S] MYI,4\XK4$E@J=)@,'X&#\2JM!.T$P\D[566Z.6BY(1]$EK#EF=3EY"2] 9G MEP3_A-4*9I,%[ *)E*%P$!#=@AS\EL0MA9=F?.F">943KLE:KIPT,\(X*6,) M-$YYC/IZ\%YG7RD#"E,NW!!^YBNT^SSE8AJ'(=UL5LGEKR$!0I_='R/$DA97&28T[C,/!?%[_AI>FTATLBN 6M M"JVY+SSIX9UA$MLE(9C@7TM? '387>>W7G+.X_2\S5$]JU8.L^,4PSM MZD-S0E@AMD*\^O@0TF7) DJ7==$.]52XBI"QD-W-5QMW8I(&F29=BPT0"GSYK0 _ M.!3Z^DY6?YAM2D0+&!;Z Q1.@'_?YQ58>=92T8E 4X:,?D((YWPU1'7,X%F) M8Y8JY@UP! E<7*)U7/WZK3N;OWZC D!$.+M2XID DDE",*:0$O1)1I0=.)&% ME"JJ_D16%",H[0'66+@E;KA@K&=C8ZH^%2Y67J# M:I#R?$)XA+&?W%2.5N:_RY 3W\TFE+<7(0 V716JW/*6#N$4*S%!Y O7>?KF M48X&[^PPBU&6KI9H,R@]<>6=LBPI+MQC%M]U)R0DG:S$)>-U^3X3.DCE!P7H M/PD9Z.IO)?.R,#!QK@EM$!,>)&,^YNJ$%*65N,MX^ M%6CA=B.B:1/FT,1ZU\G)E%T)>KF"[GYC,&Z/\3+T9-7FE?APMZCPE,*9Z-9/,7EXO2(8&K M:QF_0DWIN5RAC_3K1E7^LHY$P7F']V]S?-1 ^<,6?U)W+?G'<)8@(3)A5&+5 M#"M?G6J!D>A[.JZH 5?>MT71HMC'C.CC4Q;>K,!U;PHO*O%2DZL%VF1REUA6 MJ**;F-+6Z]B4-IO25I^4-E+F=T'*-FRAH-SU_UI@-5U\%]VYB2]W)%Y9\97/ M:O1M$YB3K0MZ#>D%+MW0I"R,OZLC;\JD+:N9!\\?!@ I:Q+67:F#>BS7BFA0 M80YQH66%B;Q((G5@ZONZE8=F!*X-#73%Z9G#IN)87H[[[9$J( :[^CK!5')C MC'DAB![DC0A]=0GS#.VMT%,95!)&H++8;:W!3D"HD@*SCO8?G'@"3K9(/;J/ M,TZRQ)T'OE&41:00LNB :6SDRI4JE>R%W/HJ KJM0G5@%GAP;0!>S<-[_\,^ MY_K)5Y (VAA#55.@9\;2@D+FHPHDB.@MYV4;51@NJ290I>G0YSDF_F)NG M-J"1L"3]\GL3K39/62(T!C2.J%*L.N+^B!2B WXPWGH(D[I^TAF&&/I M &SN%-ZN\REDY1(-.09))0\T3TF0.62R)$)=0"H76-4JF%G%I->,Y-%\&S 0 MM5D&K@;6=GY"8 P"WHQ;*N_'H/C,\FM+Y(X(TB\QK<$QK U/]KJ M$GAJDM*(?;,4?G5:&LXJ]I2648+T2W@/HT>$%$O9*9RP@KX[)>D95>\E2*[G ME=O+FW^7QC[551\Z8WWF?A%2]/)>&I7H^:H@ U\\/0N#J8E 9>9I%!*B'UJ- M,HD>QB;+[#V7!<5, %!=E,*%&GV.V0_TZ%(A>!K<)D;YE>7$!\*HIXWA)915U!"T'ZQSP_5!FNS(2=HT*9\6^EW;+8 M6'H++WQ5P.:7Z[FF'/=$[9BG9FG^2P;_-7?/4J(>^T&FHT(*)L_3C(2L?VD9 MD%3P=;]SYKOW.MF(KET9\C>&G%WZ4_TB$]9:PL3Y([Y=.UZIV*+"0' M=\%2H?N'*6N6^$NE@"C.5,E>2CA?"/7=>C2;Q7K8N%5L6S95\[%[^VUND!.1 MD19JC9@A2V]R?"C%4_XP]=M*$&7OX&Z8GX@YDM3CT6Y>V4\ MK^[6 F)W9@O])D[S0%->&9ES?CE$0VO,@[9MV>8TBA-E29?J=UYG\5Q<2+O! MGV6(%2!&OH @8FE3WT6'!K$BZZ>V(&$[2BGL8G$J&R@E/)6M)?E4.AF'$0DFXTJ, M;%LENV;9YH MF=OCL(#GWO$3C/\O:9 O0LQ!\/A(Q4/M3(&IE$##/'E!1)"NI5I+#$RN M-!Z%$O"XPVL =A7+L6U%%=6 M('_8/?7,%BA9,-UB'T0141(]LD*I,0PG.CN M@(!J4 3!_Y?5UP620CQ%WW[XY_N?S[H7^NU@Z+@@7S)FR&Z+S"*6D4#9LP(U MHV$2FW$(F;W!MV1X19/,!"6Z"$4^[68W:Y2 M(7:!'Q#^"Q8FPUL:\)NKB(;Y *?K,UDG*MEK\9+%?,\:DKZ57*A$,8#7O(N4 M;VZEY8!^!LSX# Z+L_^AGZI__5_8F2%?BQ;L%(3Z3$0^[0P-LV*5Z ;"8&W, MPT=Z#$:<1<6#$256^'2=15Z4[R?*D-6V58G8DBQ/O"I3EX&J+[KP7\*WKXS" M%(!;?0.[F0"E5!,RIB/RX<'01#A5^LR$-/H#G!]X-"3U=B=4YOPFJ'"WD];9.IK+>*23U)25PR=Q9J)11KM>4S-H463>7)W M9=3X21*[G%-!JM%7$F+J%)W;R^!@5"("8DV1G.;B FM6&L%S8#\HHC?>LB%$Z.\DS P$CYG;96D2;K4$-^,FL& MV?<2E"PI4I/ :LS2%9.XC+E?VKEJ]\C8M!%.::T/54KKH.W\"O83>X,9Z4H? M3Y+\;D=1,N-"49C6W(V4CHCT" '5^N=;4X7!IB8"QJ:C+EY!98SG1:99XJHB M&7^,851K/5*+&.Z?9,_\F=LS&)/YI'$2$&L]I1SMH#PFVF)Y,>Z"$NK2^Y0V M<9FV.@S,P ($C%8_Q6,*;3 K/^%5L)A:,3-TIG 46/);SG''T[ MEU(ZBSHA17AJ$DLN;YQRZBJ:Q: 3"Z;.2K4RP<0^JA2<8>Q:*%!_.?N\$GG8 M=&I^:2!A8=J=,P/3ATPA7OE,T3=HFO%XVI*)NDSCMXA4'AWN1KXWR&+N@!)$ M>EYU76;YKIJ-5K$I>?^>ZMMS^3ZZQKU#S%N\+6",'O6;.;&&28H$QM-IY?DT MLL^:=L'L;T(.6\@YA3A*U6/T>LT:7S;M5O4?MVR"_9E19@AS'8*0$.D-ES23 M$4=$[00B2B0WLN\M/@#@N%&9T8Q8C(HCDTPH"H9= ]@F!+&)$!XA(F$Y MTJ*1K"^;P"V''Y,M2NJII143? 2JPKA:P06A(N 0W'G8%X+H1WCY8%>JKQ,U@"732EQCXD7H!K-4[F&L:N*82WX<$0^T M#@"!N0*N"+HV?$R%[EVJ\550NBEG)KAU/>;Q7:&?"]K*O+\57W%?4V*[(4C% M Y0.0:$ITA)586"9\. ,/1\ M8OPH!%N#KYSEM[BAY"\+D3[4KY@("SH)W5(0[-:FS(=\&#*.QL[:FO0(OG/' M6T$RJ8RK/,SSHPH3CZ_U=94"V6FLDUG9&M@X^JC3F;6&>,J*.R5-+87GB5K6 M;&P+.WR-'\D\EZ5R_J;=P_7L/9R]AZO#/=QC/?F"/:\5@*& 5@.V\[&M?/ZT MS%R+_[I6"<5INI#\DUIM$G*5-L&-. #%$N)4IYZ:J/.:MNVD\\-8(V']C2@Z+*,O2]39=,=/A*9(6&D8 V?FJ1 RQ@13L MC['^NNF<=)J9Z59(!1V+*@JE\>PY,TUU" T(.GE$8; QU_1)J142*)D]*N5K MY=:N*=W0SF)^C83**3.@9.A41'9@)A'M:XQ23$R8#^GG9*+GXL(/0^#.R^F2 IZ69&>5, M8+IZXB[PD@'+2_)I*V#6&D0CZ9)ES !3G'XF7/(\#&.2HI*(P(M+B0 M-1F%<(6R/!$$05E:3-]I&,-D06D6 TQ&AQG@VEI"Z$[9B9 M.\UV206R>=Z(% *A=H;/)Y T23E20NR?48#U,84[7)Y0*?5J?K4!;%QJI0NY MSS*. '' Q+A'*6VA\N*7*Q[RZRQUC\6WL/HB2S4!(M;B0H-U,JKTB1'' ME+4%O(-4.*T0)_.1& MQ_EGS>7X,;2*N+ MG.$,PS)G>H40+5.:B1)FU$P2T(I:WA:H5E,)]P";5YI#JFA!99.;(6UA-HC6 M'U7E8)BV^#X9L&4.;S0VI\L"0=U__*4QED8"N\+R0R,'5@)J]GESM#]1+< M80L(](QT([,^!5/Z)!4\^=-*"^G3Q"P2*N+%T/TS_JBDX=S(*5QE%*]?#!DW MTVR6O#TI-._S_:KM?>.%*):S[XF$T[:FEJ>DCP2J14B8@+_@W'T//:7;73%$6BH6Q0 M-B03FRQ:(G2RG!RIA*!(:E,%Y=<<:>MH=E:7\]FTH"T,D*6T-3WU!@=+,>Y6 MPM"!QU%"@?:%@L#Y P?FTK%B;\6^ K&73F"I MJ&I/8KWJTOYQD8#-]IE&H)9N(?C2YJ7EFFO?4B5,X:9NXA9H @@X04XAL84@ MLF/DN_G-JZPW(LY72D#"G)C%O%6FC@"'':Q;9^9$*/&*/VSY M,OI;R40O='&51<]7W#F4-EVJP>;"!+OA8$:99 M14^>W2S21]VR[CX"]]ATLX\R1Q@.(D\D4;IT'DZA;6-6] /FFXT;0% +7K( ,^"^[?Q=7 >I M!)P"<:=F*>=*9<DM3JH>=CCLMT*MS[7,)B%*ZP+0_&=QOT+L1Z'HX*1QMA%,F0+&-[-.?^JJ#@)\$'BX&\]Y2*@ M29P(S]4%7VO2,X@' _U"68V? P>9M:.3,%RD::R&E/%.RH(<9AY2EC.$&2E#&0K%%4#P1BVXJPQW-F!_BO6N]>MKE3),I/$'G5Q09#U6=&8800O&5BW9+_#R%,:NT5DR;O.>DWAS% M,2CVK)"(A+CQ[XUL"(R#1 M-5>Z&W4!>9ZE&4!!H:5LDA+MCP'1O0M[9J>:!A>HI&X*I9FX0JG2IN:)AW(T M%&V+M/=4:RGQLML9;3OX7I=5PYBV^ 4-FH6* *<]R"2R=LDLI+PUS2C2$ M&%5%9SEGT*J!Y!U51Y(D,2[DRG):DE$=@:')(D496*9MWK&B1G;V4Y#"=.46:2F>*]XB!K%5>Z M;',5A;*E%IHY,59-HDKO(K2_1]EHC.UG%A[Y6$@@T[$S#=Y'A<5$2!%D,P!9[*>>^#(95,AC3;2S&O^]WIB4NQPID*L9C@&;P.)5S MH9"GZ+SE.7A&3>^JDMZ#QIW,TC!9@!3>YWE2)485M;7+U5FKZ=NF.!-4>!'H MYQ[\R:>S4?4C(R17/.Z<]C,5UZQK*7<]H=IWIH)7^K]\X.2'B:&J M?8'Z?:;!5W+5;4(!Q [2@*D2=K2:@VPAI5QENGJ6 M+ H\RFY (@BICAQU+*&"/4W B20/@<33!YDPQH#[<)%H3;((#0F7#9@D&>5Z M/@_YY5H:GT3>.OGPCX"X @.B@9,!X(*)8VC#&4([HJ.@18TK<>C>)^><)<+7 MI>'+$IIT@5"?*6D?7TS9RFR/NKF>F0& <>6"G+A$-X;>"EK]203Z]P M:O(=W<#>T=D[NIK>T1U3;)3,YZ)E9WI#'/90&5I4'941ZK N#Z?HC_MU7]B( MM<_4WZ((C:93EG @6C1;1,396B!-51*! MUL5J<1"*=D1^Q8!]?*IB)NQ*AC@%2ZD#+N5' X5B:*]M0==O$HSC#&AQ-90GZ+PP$6XJNE]M& M\#7_5GQ%)T_>+A)+H[1]J>4YOB_+A*]?()$!Z;?2^,!X+LX++)\!WV5J@QQS M_1XZI(M-;37.XT!ZW\8S,,2=*^3AKN7USP?.E\-.$EDX+KJ,LDR$ MO..=9] MX5'%6#$^8F3^,=!F#HU-4+PR )RGY^7-R9 )[KZUE+$Y>W6:L1^Q/UV^8G8_ MZ8I .5FZ"M@<6&D&)3D8?J6F8P4W.!-2RP%35:%D>S!>S+@1[B2^%0I"SS.J M9PG\(2>8I-@,OZFE.*>F(=;CN1JQ)"L/:,5"F5>D6"3I*A3-%5R@^56&/LUD MA>,*5E -DZ"(1'V1@N<[$1(_$KSP-Q&EG_Y)D'QXV!1I(/BF"3U$74MTZ,1L ME!J;F;VWS&R#IB1WH3'R.2,30#KF$GV%K0@WO,>8+-Y)L>RLD'ARR?, H )H M2H7Q[C@QX:-6-6&FBC/=P?7*';;',B"MT%2D?ZOSEUST$+UF$LBPZQGI0NJIFUSM.ENXI"W:BW0AV M(S1J(TA70L=<&*&5P4S*&5$R\XP)U^XY6 .'0BBLU%NI;Y34 M_.NO&!QBA]*)$B$S?^9!1DE@'- MD17B!T01%-WG]W%EMB:^I"L9FY2ZR<2XR$1DO,\+7;P.XXOO/+F5BODX/"&( MA"N(?=GX$F?Q^RF&N9EOF),H?8,&"!LQDV8UX2ATFS 92UFL+)79YTU2J4'Q 3!*>1YU.Y@J JOQVBX\0\ M;CB+*[^ER.]5EEQT:LU?]7XJ1%!-E%J04Z^O8@M5UL8]%I-3B.@,M#"N-^?L MK>\-5[D0PR[/0'Y!=[B57+KYW/(8;%I6VM!FI=FLM!IEI6U1^"IO5T,)P1B9 MQ6!&1/& W+8?W0RT5^ ZO[IAB$@^,LUDN9,M.,DB@5S<+&_TM4<_&@X_,:HWMA*X]+'/PMP=/"PZ'=;3J_3Z[>=G_)R M2JZN5'V3/\3^)9CM9)A-/!"\^BZ8.H0#SY8.M:(K3'Z*D?T8VR_$A7WA$:9Q M&.HZ$TZ+XIRLO"$:_"WQV^(!)(2" *!;^KL$LX(B9F"+)&&R6%!:LWI8$R6$ MJHIRU4!@^JE3G+R.QALF;F&=@XC\%I, S@65B20(%IXH*"8R1>ZQNI.>(LY4 M+HM0*=3YP'!";N-,T;JF!KQ3(8G"I%-UZ95XQ4H4.ZG:!4BS$5/V=X#TTM"A M0)-+A27F%2*%F5*E!N5@T.KB&(U?WQ>)I/&()@+:>0&FH!9 MPZ5)^(=\[2+2"7:^KG4Q1H=).$T&)W"=P/_AQ>?!^=#S_('WN3=P+SX/+GK3 MS^Z%/_P\&/;&0@S[@T&G\X)/!O[%^TS,NC_](T+#'*W\JPSF"=.\\"#Y?-X= M] <]^8-]'P/8-:?[4]O)>^=0]QS5OUUH_FW)Q6J4FOL':(6&$PE(\1T/NA<] M=W3^N=.;C#^#" \_N\.+P>>Q?^'VAN->3XSZR^+[]JU)Z'50:7W;=@J=L:@G MJSH>K+!P,5P:>/!M8?X<3$/%W&H5%L #\@JKQL0U3&ZPQ\DM=+->L_M@YCY' MNE*,T 7IC3!@,#83B$FRA&S'B?,P]55%>Z3"008A)G3:D"[ MB40"D=]QS@$#Q"B"%VI"2J#:K _O0IB%V&-36-=_YW3JFJQ-\4]JTK:6KN1Q M"P^69PM^<)VXL_5[7$$#D=NHJ=P+\' *H^8>=W#!U:'!+E'--=P VD?'WVC? MW"<.G^FJ?'2=C*YA08CIB@"&9/;Q88O_(P9SDX;^)2CW/FM99.VWG-U6WY*:DO18IIOPSH@DN2*_S MFFVX-VU61+_(]'_ZLOO:P5P'N@K&CJH\?QAWD&&(2KZ"%)KB)97I0$;2=>I. M00-@8&0EW*(**QATT.5J^KR^B6I1W&2VQ$1I>O,;H2O4R/!-LO]-),/6*T2Q MJB*I%I:;%.R!E1QT.8NP#+XP*H&*X]P)CNY020LEAAG3QDR) M"5HOMJP] 46HB5;;SAO/(TPT@M"*8H5# MQG3FNY+]!I6A$0AG+L)\SU^I)JXR(R$B 3SCF @9BU]S&ZU\OKZ]"<2TT-4/G-A-?>!O?]''JOQ. M>2'T;FDJJHIHMC\5: W"S.384\FU&RGJK;P;[S^Q44_Z*255D",TZ%!M,8T23K R*235;6.> MT#0H\J#K\T&+'X(&(L4[F@=6,VYCUA*/IY0N$UG(N%;8;H.WBCN04";=](MR ME&C_J"""#'^H'40XO0I<:Y6%C!!((G^^^,P\#@.)"X5NLPK5\ 6? I0-X^CZ MK)'I!R.;?F#3#^J3?H H%:4->!TC5#\Y8(2""8T;UXMF)&-=H%+1SB^?Q#+T MD\[A$".,+2RQGX=@^O*5=A$#V3P'L"?*SYGG0;H/:!%Q8B%\0?90 M6:'BU;Q$.+D-Q-T2]VZ!H_,ID4)[7C[4\=^+>1KYVI"[R) [DL@\C[#(=>*5 MW;Q@:F7C-:9JB^ID5>22@A?+\4,)TLTUA9)J4B$A!N3&RU[S?M-<4GB XC$I M YN,MET\C>-YX*6&V;B8^US[SHC,:*\BBS-'4P,BDI#7&ZL#7['A_+<8?9[G MD/=H'O)-P?OU%Q@LD@DJ"!NT<3%(<2#^WW2=W0_N>7:'G@&CELKW&D0?9@%# M!,OR\!B:A8LC;XY'W=%XT.E//W>'Y_[G@>A1@=1!R7WN]4>=P?"0E\>]MI/WQZ8V4+_>1WGZ6O?B8DQA+;(VR8FB3*90 M$(7.=2)8>^3X-HRD@Y*_S0'I+^<6 D*U C_\ 74TKP,F#ZCY915)I5+'G+>;WF^9= M8]J4VRPTQ\A,7YAG"/RZ>\Z!AQ;,F=6YDC-D95618)^67G_%<[$TE:K[I%L+ M8X#6Y+''>"LX!$*$:U&0-LDAH.3"852CP,R%Z8%8+J. @NC&@S#?U$W#JM6U M)LL6*0RT7"MW_I2)%1B((&>[=/V_7(\LF7B36(*XO%E<@TX$Z>Z$C9# 2A\*>S).LCI*X:CTB& MH.05!&\*5#AW, =S?8-O['W]V_5-8M1>3;(JI\)6X9W4&E_.?T4J'!IDC(;7 MRL;6S1(_HE0#MPK[.@B=_[,(48_UX&S\Y0']L78)-J@KBD8^36XJ4U2K^YVG M#"QW?H.>>D QM:0K*969RN)]2&&MZ:+56UOH+7FL%5AX_Q6$Z(=G>#7ZX2:( ME9ZX ==#<'&4CQ',8++(KX4IY6.Z"$$CA5RU50R,:QHDER#W$.9S"Z4#TX(9HJ[N \J+@4EW0@R\R'7"- +4Z128%0E-YD2$@;@U<$\-#%O=/OET MQ$"D+GPI)T!-.-*@ZMM9Y"H4?FXK8M\B$#;0NP(Y+6";9S#_O3B\]BZ/7!;1M??#YW>_W/TZ[;\_IC7PRGWI+;UB=BP8\Y.\CG8:\W M.N\#K.L5*6R1_0];IU@Y!> M/54@Q:P&'20XQP@2W5FRJ5=@FIE+TT=50Y&2V([D5^4Z;TJ-V0TMS MN*J!47_@]=W!^+,WF/B?!WZO"TKDW/U\X?OG'=\=3X;]\9(2&?P.8G7E3D5V M_W.0>B'=W:6?>^/!^.*@FF30=K!K#O?-,3IGBPFVJX;)L'80/"S9\G_=[D\\7YP///O4Y_ M>.X6SKJ/;_[\]/[]YU&WUZ_V6%N[0[!AM30KQ)513O^[LIC1]'Z/.=X8Z%2,I+"!^<)Y2['^_.&FOOMO MY]C^#K:6K0/[X?_Z010EMA\MN?A&3 M9(&N;7=(*!P#RHQ)),A6;]3JC[JM;K^_"<_#@/UH84$51\P*("']\1)H0R*P MI !#<$$*KN(UYBCZ,33!F E,9@\+K5@ 5"0LAY@R\$$,]FM,5>*^HF--W=&M M8<7SOR!H?)DWF"G;D;^,YW0>1 QT*.DR M%1BRV[6IY=KTVA<7=FEJN33=<7MDEZ:6 M2].WZU++=;%;IK9+8[=,/=?%;IG:+HW=,O5<%W U>W9IZKDTX&J>V[79Y=H0 MMX+R?RL:/]LJQR4KP@M=6;?PLYM5 M)2D;30Y>7?/$^(Z727<[2-.?RR"MW!MUD'&)PA 72M6AIM?Z/QOXZA#'YQ M7K#W*[!0Z[?P3TIZKN*(.:B4;*E3E\)*N],9.KQDN["T/W]%39 M [?%!SNY[IU!E<>67=CZ+&QW9%?V^%;V_RPBX?3LRNXP#Z%19L7&6_L:FQ6[ MM!B/UV6P 50;0#V:N(F"B[1QDQ.7 %G):T7@!$7@2LPS"4MMA<#&3VW\U,9/ M;?S4QD^;$8SYX&4Q'EW]2L\NN[KU6%U-U]"U,?(C7-Z<#\6NKHVF'FDT]14A MU9P:--P#J&:1 2(V4"!BB&L=1>!*$+J90I]?013F4^D),H<8$$@$!:UPD!2L M=!%S;.J\[+2[G1P)B?E)](\4J#UA*&E8-85R1I3CR#.^$I3,R4F!$>2X /B- M[\KSU,;\.MFV445#5"W7KU>^WA8!($(DF0@)M$W1+C+^2CTR 4OOI2$<,X5^_>MN#5 MB6R$J!C,MB?$M:6XGPC0$C:)2(C1G?G'\J,&6<*02=1D3)(HM\X;CPZF[D6_ M[WR'W\EN%1^1_?M>$8J]^^K=N-&UP.]:3,$%9Z4DM=/HA$BA0618&5.VPBD' M]D Z%QY1?H;(8YH/P@FR%<.@D?, VA9I\O%(DRS"1 ^72)Q),,@6:"2(!$]% M1$"5BQD@9U[YU* MZCH4-/PK@8F4)&I_O+GZ^0]#_BJY=O77_[AR?@)QN8$Y^.)\ M^I,?DG"RDNE6FF)INI@)R9K]$I0Y450&T:U(>6<;(V3^,FGP! 0731:?]FXY M-M4];\GNP"MS@PX9+V&D/H/G!C-0# 'CWYJM&61UZZ>6+4I>Q'D8(X4;_/O6 M#1<:"%?Q[-&0N $R-]'6CL09+@1N)9'<(H6X@M&>@JD)/^)E2F_BNXB;VC2K M,#"P(IEU:_63?XK,#<+\!T2<@_8MC/(^#=C$O(YQA:$C=V ZME!Q((V-0)ZK M(%)N OTLX)>DR#43(SN6!TJ)R6H*2RLG;BY$DJX?1KES-R[R$XLH9RV4XFIV M&.>+B46MYGD853^873MIXH$!%7V-SG#>NO#_OG8[7SJ=7ONO^?4+<+>R'UZ0 M:1)XN@06'!^0K/O+( )%#Y9S"*+_VC"J.A?P?H9SS0U;!6_2'N \+!MF.$.Y M:S'HH]6-W7RUSQDQUW+E*(T7X +LI'WG@#TT1'@%:VOA.Q>DJM""9:MDU2= M==J=;J=W?M[KGP]+[I01LZH>0)A%\Z(]/DFXX&4A,1[<7B*J!-,:#>Q"U& A MSMO]DP1IKMU"V!U1DX48M2_L0M1A(>R.J,E"C-I=>T;482'LCJC)0M@=49.% ML#NB)@MA=T1-%L+NB)HLA-T1-5F(#B6!V(78!11X%4'7_8T:;X"6,CKVE&:Z M62OO_XZD#K/R4/#Q-&?EV&5%(_->/!69MW_>[NU!I31-]\X<[$\XKSJYKBJ:H9KEWQ@W2^,/C9^&==<^M M-%0R?LX!:+HT7%AIJ$@:NLW7#;V.E08K#5H:NE8:K#1H:>A9:;#2H*6A;UW( M1[N0AX.IHW=^?(LUUY'P&(W@?>2U*]O.AQZ;6J6J?+PZP4HN!\C68:1T.YUV MIU-U#/EHUE9Z; U=V]%YNS,\MK7=/YB3/'Z;*@18&V>%X+2%8 A"T+-"<-I" M,!JTNU8(3EL(>OU1>SRH.CFDL4+0@#21/]S4=__M,#[4[V[R161G&E.E"<&5 MG;M>3=AWN_&SFKEJ#Y7"UFC50%N.+AJ]:H](6BY1J^:C4]N6-[QN-VI MW#BVRUN3Y>UU.^UALW6N7=X-NW?0WT$RG%W>NBSOQ;A]4>'R-N[R:%\4M\:# M\ZVQ_UPG\']X\?E\(+JC"W?ZN>OWSS\/.J,A?#0Z_SR=7O2[GO FHCN&YI#E M<2_#,*NX^-'GL]WP4-]G8C:Z$J'P,N'_HGA>?W8S]W/WO'35$Q=%'+#6)0O+(NR ML"S*JV3U 1;E%_I4'W/K+(<_(<=O)>XC[O#M^G3IY M3XD84_45)UD?\CC=3!1*S\ YN@@S>N3#7##+?&K/U&>2/N]P;5K(F?S[S]^Z ML_GK-RV'6$TSXDE&?N1Y$L_B3,#/F9XYS>!%V"-):9KDKXSU*ZFQJ>Z$ISK1 MUNTX1'X;(R&M3\S,3KJ8ST,:(33+K+7I3;P(?:22!A5+E+3PIK\6$17K$Q=J M2_+11@040433>;/0U8PWG*;D=3TF\[W'$40P+F**300,5'.L0C,?W21SWK]O M.;0USIG(%GK\AHF)_Q3S.$'R6N<7T#V@O\_^1_+YI@PDX/B\-I*(=O4<*:); MXK_E^2ZQ]_;ZU'%\ .27B7*9*!G4!5)L9W?(#KO52QYXJ-)X(/T#Z=*34 MS@(OF",UL>1T:)*OW>A0O$&I4!<$,AXJ$TU/7R^)$ M/N71)O7<12J8O=O+%N:;8AC.= K=4T3SX;TS!:T"OXY39(>&/N+.;3M70K.[ MOW471#V=W#M_H/J!]8%IB'#8O\AI^+NW3=MY\\@_>+\ MPOUNRP?YOP3M&!L8GPA]Q<=?@O8O3-2DK!]055G$31$ MK.*J6=ZQ(@5WJ@7_.P_C>WD:PP&-JLY;9!DZ',*_IOZ*Z#9(XHCU#BH5[B68 MS2+-G!O8JK!=80A@X6;\%[U-)+>!)]*V ],F+0&8NCO\G\2-KLF0A[>G:MY: M2FD@%7OZ!=8?.TKS$<8+G_1][S6K4.P#'D6+#+7B?0I* 'X/]H'KL(=HOE;U MB[J%,SX'70HK)OZ]".8XJI83P33'R1?YVMDBPAGE7^?:%P;A+SQI;,!<@VZ- M$UY76.<[&.4B\6X0JIH& JNP0#T*NCC!S@5IE@23!>HG\ZUD%@5$&_\^HN.\ MA>\"[9HE"_JU3T]#OR9$3H\J^).6 4/N?@6_=D[/TM<8&W:NW! Z^"&Y=J/@ M/TQ5#\9?#,<9S+_Y*7Q&9ACH\80-0S#:J*FK#RQG\ =3O>RU^D.Z5Q#R9'; 28=& MAC DQR'7C#LCI8)DMO *GDK<8W1$\&M+DL7]SX0[XV-82B,:I2A$B;@140HN MH(/B#R9Y$.,;>!<9W2'Q2>*I8,\N-$0<;'E8]OQ)$#80-#C/9_""R3U-)'R0 MXL8.Z47P(5B<<,KA'KU774ID7UFG7&&\DN<')1,Z"=*0.B"IH4_[R$/N'>@D M&238Q@Q.9#CJ,^Z?WO&XST,8(+WFFO45M.C!Z\@>US,%?0(ANKZAE\E-@7,! M^IA4"YS66E[12L/V$9K#X6\#G(O#A"QK=$R@8Z>L'*W)O_U;=SQXK0R824)2 MJ\S!_#'G'6JO.5C8(M_9+?.!GY199WR-+S,>^;B8@(L)UA8:0^9S=S>!=Z.5 ML;E%"BH;-YS0_6@Y5[__)!N9\YM3?O.,2OGMDK_X\9'F+_E<[1:Q&*JAO2ZVJW?!=]#(]E$.D\IKBX_ MP7ZZ /N=_PVZ$]X*;P?]PY\D A1@RJKS5F#'06W@,<-=4UY$RQ%P^$G-TH(^ MN6%VX]%IGU!.7LLX\$#-L+Q4B8V>O#9FE3SJ M)0537E!G<.O248 M8".Z9+V2D/&FAC>=16*1H6]HSH(\140B?3#M8ZA&6]IR8AF$MN ?#IZ* ML72F5DX]1L:@!0RFR1G]27D"Y(GJ>33\=] ^OK$N=!BAG@';&P;#;HOI=M[E M:W0G*,HZ RU^C8*(TQJ):SKWT8-R,9(X)1,AB!;"+XI>$,'OE(V K1J]+[2) MWA";)63:X.6=/GK9C:1>F:>0FNE\Q"@I<$B*51&" )5<,+V7@0@ECZT\KD'V MAP]C#N.YMD7(GU/!BR9>;?<[]FK;7FT_\6I[!W%MB0(SD@&,VPULJ,-+!\HVN,0 G M"HL )Q_-/AAGZ&7"J7.?'S8H9?HF#L^\[[K?HU<)BC=5WRLQ-C8.V*S@8BZP ML9L __2.D1^LPQ&)!=2O:&XQK#N9-8F0NBX _C=O>_AK5ZR"#(Z$\EMC_3Q MF+\PN]'V$!SP;%709M$1A5P\U9V!#FY*9[[_?6$Z<+I 2$/5WZM?Y;4H[@7R M\WF8,Y=LQ9G[5XQ^$M@:F195_!U: QSMY\F2E@'9\>2DY]T09![2?H0?LRKD M.#>L9$1K(^>8G.#0NJP_?HKU>LH[9)"K.TS" (DG3XJ71-Y(*#U65$G\B+E@ MVEC-8TD9*Y8W2AJH3OATXE7DB#^1N):9"I]X(FE_MD::M1_@NK1/)).>4A-WP+UC3I?$Y.2>GE M^L@C7TQN<8'7*'R.Z?;Y/+D1 MKL^W@*JYE'-H9&(*B3V'*&=P=DQR%P W"CD!PK=;X7>*5N:)38;>XVLW\B=Q MM&DCIXL))GIE2D&RL/K%NVDO4Y>@O%/Q]6P8 MR4U.%H:.()"WK39^?!?AY@^B:>+JFTPSC)"BY-VIL(.]0_@1HQ2E(V]Y CG0 MAS+'<041D>,@S=4Y7PZ0D0K';^ %@J72B&84(S2K9>04]O_V.3&?\C2L_Q'W M*L?(>%U! MIU4@Q?@$'7@2$.S#&3@R\2*[G 9?A6^Z[RH"P6,N E;(QU"H7KPROWA6ATMU M=22_T-<-A9/G2]5TW_[M8C2^>%TNV2N5W"VMX%.[O&60X0U;6F_>R\LX;;?Q MC>]M'**- Z92D%)*7^"!G<#Q.9\%RT\$!'S6,,5J#4J_AA5/)X(G]- M=JRZ^B1#D_QB:8](JY#4&_@#PCQA"PH2OO\BQ-Q9S#E :GA5VJ-%WV"14%0, M/W_SOAPE,$:0IN1OX:OD-.GS]T[P50&G0M()"DM'5X^ID)[.D\>N-^3.2Q]U M0+$_6IN)1_&YSO:)=U:%G)(*>1]-I2/MD[L'[OXLQB-0WM9@!*NE0E\8(,2[ M-[S,$7F._B)2UVH"%% \"SPSZM22JB3581%TXSZ16[9W%(W=VQK54G#^FU,/MNZUK7_5_0/,!>;LK7!P)8U&)B1&/ODP<$* MD8^)/46G;Y)?D;C^7V"TR;P$NKI<& :>X0XJ9<09_G@Q%"]2=A)5GUC)X87< MDN]G>A#2-D?3W"HHJZ":H:!0-_PB?$KPE17?AJXH::1 )=Q.%IFT>_(Z"I]# M/*6?4' G@8V! :1,N+[TKI09 3O)%W+K\^L'Q6B5C[F =/^;*4,"S)X8;!2J M ^,8%#EI:'11*0;)>$M52]T)NN^DBVOZ6=&U,((L]W@KT(R^ESSI).K^7SCTHJZ/"$(QK. MTE0528,S@*K%Y?(H#/+SK:NJ.&5G(U#;&@Z(?M2=T 6L MV*F:;7>&ZO33?SX6!&=;@3*.U*= HI$.5XAWW;Y=K0:M5L^N5E-6ZQSZ:E>K M*:O5:X]&=K6:LEJ@">UJ-6:USMN]C;BZ=K4>"8QHU=X)+(W5<;5=FG&[?V&7 MII9+TVT/S^W2[')I'LF;]&!$Z)#S'X#$==8FTPVD]?]*L;KI\^%_A)JGSKH"BR%Q+_6Y+ MD2Y-JI&YS=JQAI.S:OS'IH*6ADU3Z M/XIVK9RM?:R*SEX M=6R[LML4#ZGVQM?3G*L#T( 7DIW&[=Z\F+IVQA\],+%_Z 2S[Q"?+PA#+&SY MOC*'Z(#TZ-N(TK[LJ=[*F2@JH3XH(3]>8++6 M9J._47#64NZVSH>=]G,IE9?,I -LHP>FIQ[[:O74'%RT]K*OR+FHX>!WLJ_Z M+:2B?RZ7M=U7=E]MYQ[4E6>5^Q -']?[<%G:(2#\*L!+-B8:Y(Z MJM2-J>NUW ([NZ!HI*;LGE=O?AQX'WSSG-!=,1Q:M?5AM\I#6<-UWBJC]KG= M*G:K[&NK/)2/6N^MTJW:^#[X5CG16/H58U"W%!"\!&V=!1&R[##+AH*[M@'V M?038ZZ8:U0&PNZAZ,Y7@H-VSD;U#1O;J-C45;I0U8?)F;I2^#8';C;*3C;(V M[MW,C=)KCVU,V\:T5T_3>T9>8EPFC>9JH]O'%=VNV-ANI![L5Y^*4K=E/I1Q M4+=YJ-AD;JBX7UAQM^)^*L'C?KO?M-CQ\S*_JS!I=X4I7>XK?_,H4--M![,/ MG-,\,3R>.B]E6JM*$%>XZ4XBIJ$@7G4W1SVG'XP'[8%^'-E87,GH@B5$BO_O MSDT='T%2(R0T#^,[D90@3Q$V]1W*R3P)X-57FDH08^L_*:*5_&/%=HE@JND- M:=A #-L[$)(Z_ MI*]FL:0LIQGN#-L]-<-MI[!>+E'(QTF A.1^D")+K"+,7""++?[IB_0+R&): M1&'W'>0\/$,$$&(_;!5F\@_HB]-3W!)O8<:Q:H:P\G/^JRL-<]MV.'UHGL1( MP+BN#9RXE]U!>Z@%IH+5:YGKPTP@V;KE5/WD'6#0!2SWL]OK2)X[6LUE07,G M\:WJ\%(/W/SE2^M61(!E;4:2 )G^@VDGX>2*\^#H*D!\>IY#>3EWE M]89_OH*-:+Q9@;A@SWCSK6U\A1":,D12(I!>CKCDY%1,!+Q5$Z3,@J\\+6UG MF?V5"160?Q!D*D@1\+<\^;B?$"TX29FM02_21MSDQPC!!\V0*;&9UPML3%C/ MND-TT[>I&R3A8T,EXB]&15'"!4'.6N9C,>677LWZ0NV]U4.H.13T7K@'Z._+ M( ,KPUNN#GOQXQ4MR,]X)QM,Z-C8]]EZK.#GQ'*Z?@/D!+3RE%:TE$H]7-:% M==)"FZ\(\%ZT+RR,Y1.AQ0X!$=NWJ]68U1JW.Y8VH#&KU6N/+?YE8U;+[JTF MK9;=6TU:+=A;ED"E,:O5LZNU_]5Z;![-0V[6H<$Z=XUMN)7W4K])V [W=_A4 MW-_>B),UCPFV:G^XOP\IOAI.3A6XOW57)4O#;B3N[SXTU6YQ?W=2DM?I'IFZ MJA2)=K.34\/1[QC[\CCEI3JL5"LOJQS/8Y.7JE \3]K>:6KY\(;I*1L^1<;X M9UA-+W[,J;UU.U19U9EB3>L$9:&6OG4=]$(]9\9&';:Q+SXN)F'@.5?"R^*D@8&' MQE@4]6'%K)!\I?(CI6[B4K4M<8Q2T*WI MRODH01%_#[[:>IQ3S5FIIW)K2.9"#>;*RI65J]U97G:N:AWL:9I]5G-C3*;; M_*%AZ'^7,/0V:G1<,8 G)N15FK%O2SJ.3T JI .U E+KF%!=4GH/+B G%[&1 M1L+/DI2FR5&3FAH']3.DG[;;*TVVJV?>PG/.!RM13TA1L")5!Y&JI;=? R55 MSYR7?4G4,<=$KB0O8&,B(36U;1JI([K'AF71A#.FJ<)2N=5K9>5HXR'5VK,U MB(?4V]1H;+#E2B0PO/35518G[G5U1DC-;57K(3]:HU0>@:^YB-3T0+(2927* MAESV(5$VY'*L(9<_1/;J;3QS9)JNA7NQ[O5.K@#J)@X5P[DTHW MXKH8A_6;F5V;$O4;<1UDH9XS.0?L_FW:S#. M(\&/MJ$&*RHGE#91OTB$%14;J#C"0,5.0.GKE )S,!(;"\Y'_0(Q6 M'Z-^*-P$%^1&=DD+)G9-&@V=SC<[$3\/+""1J+E 4X>70:]! MOV?TFO[[7V;G\U&7P%^-4=WPO/5(BJ[%V201[I)B)T ML^!6X-L+[Z65R>+Y9:_;'J'XP#_ER ;=]F!'2Y4+*:U)/U^8_W:=FT1,?WCQ MMT^QMUZ Y:XV!5A^!"8M;BM4$UF"COOCQUR1. M4^=W>DEJ[L0*-Y-T);KG&[N[I:']['Z-']>MTH! +FZ$,XW#,+Z#?>*0TG72 MQ0S> ^E3KQ(G!C.$S<,G6N:7'YWVG+F!.B^T)VGXE+]878$ MM874%+AI/-YL2MF3:G(76:P^8+U$GQ34E^G*\C,D?MB;L]"]CQ?R1T4UE"6J MJ[(+79Z+[3ST<:?='6ZR PS=8+P?I6,*XJ.F5OV;;)5+UO]W,',/JEUY$E+# MZE%WDB+)K-BIOMVZ=(1_"E\^UR*0_WUF;*&[T6JSJU6GU1JUS\=VM9JR6KWV M:&17JRFK-6IOC(#8Q:K38MFMU:35&CUP:6-7JTZK9??6 5;KD?>@#WI9AYR: M\^=-S5;"NY7STOQ)\.(0/_SAQ?#%4W?SJ-T9E"\P]III<;XI?KQV5M=3B+WX M\7\Q!.2\BWSA.S\+3\PF(N% 4+_;4A&A2367&IMU80TG9]7XK7:IBBMW'PKG M\?)0OYGB2,51:9U>I]<_=;6R_-^*9H2\[V,3EYX5E]V)R[$9-2 OW5.7ERJL MEL-FR_ZU2+-@>O^LN?@P%TAP&UT[5^)Z!G-;&9UM]RBRB?=JP31LMK9(.]H) M8R0JG*;-U5ZFA@T;.S/'*S3[4D<'JN9LY&R=I&S5,\KS>./H'5J3\R1(A7.% M8?\@CJHI^ZU;M/BPIDTS4]8'[4JK=G?L*#6V[.&!;(AZ2TBE%9A60IYVJ5]O M$1E:$=E:1(XX#O/3(@TBD:8[,#1.S/@\NCC+TU1+K]^NM*:N(6Y,95 1-0V7 M/%$80!-:83B^F,<3K8Z+=J7@9H>7AB=D)^P0&Z2V\8R/BTD8>,Z5\+(X:6!( MH_ZA9!O0V*LO1O/8,3W M30XBU/1P/QHOX/PH @0-C5@?D1S!MK!R=,";CR,2I&,(4AWZ?F1?2&,2\D7F M/ _ULP0TA?_<%V10%4!+;^,T0\2?*T3[V6?OZC6+FY&7U"01))(31%ZX\.$/ MA$4*HMLX\(3CR4?PLSGSZ[8R&(C2^["1+_;.XFV;W^42J1 M]?4O\(L4OX'M_<6%CERWH*4);F=Z2;S(^!_3A%:S19]"NSAI<902:A-T#883 M)_=.C,6[(@77PA/PJ(\&M?#I(3](/7A3!FTG8N)FV EJ@;#_X04^/.0BK)0+ M/T[;AP'AJI>P/'/+YL$4 MCH0(]HJ>.B&G;BT^F?.=C[!>">Y7!WH?XK[X_M+BE-4&IVS4;8]/$N9@G=Y8 M#VJP,H$B$GDE1F'-0IX6[97-A+*C3'F@Z874?O?%G!2,YK MQVRN$B@?ESW9[\*:'$'ZI)5T*^D/2'KGO/H2MGI-BY5T*^D(VS >5UM;@=9H MO:;E.9)>N_#45E;I&Y\ZF4+#30Q7U4A5'7;4E149/W1=6$_5U#NB,G(KQ:*CB5U><2V<@Y4LB>MEZ:MT,4F]))A7!]ED M8YF']7OK-A%'XS9WCP+9HF[B4=-]4O'97Z_Q/=[Q>LV+%WXK_>O$? M5PM\9F.FAX^9?DSBJ4@1T\$-G:D0U=F_#5U&ZZTWUUOO'1'.JI7B4Y7B8:/A M1:T46REFR+E*;[%LY/3PD=.?!:RP%[@8)R4,+W<6PSC^0Q_8N*EUB$_.(>[9 M>) 5_U,6?WL;8,7_A,6_TA07&PX]?#CT%]?#\07P4@D%6F5*0$.7TKKAC77# MSVT6GA7BY@MQY>5W5HBM$.];B"N_.V^H$!]-//1M(OP@+\ Z MP4?N!(]L!-1*_PE+?^4))_6:%"O]5OK72O^XVO"_C7\>/O[Y 5FY;+SS>8KK M< !M!]!B]1WLD^YT.K;XWNZ"D]\%@_;0[@*["TY\%_1MR+9I(5MCQ=7_']'[ M/\69&SI7OW[KSN:OWRAV3QNQW8/77E0+?5 +?KQ %M)]Z87"Q.P4!>_@0ZU8 M!0XZ0QOALGO%[I4M]XJ%";9[Q>Z5+8"&1^?MKHT=-RMVO-:V?I,ZKC,7"7(D MN-?"B:=.)#(G=<,&P0G40\O5>)\?9%I6!1;J-2U/C*\U+BVW( C?+--HJ?>^ MA4Y/D@#>\YL(;P4.!-_I1NF9?'&1,\=N(;N%GA:97F0O+41N#<#\"GG7N@NP& MFTF%$T1!%A"9=4KO#2)OD230;+)YB="=>@E;57&Q.M,X>;#G;><3-5I\MWHC M]%TX\R2 .8')=8AD&]X"XX+5"J+;.%R )Y?@-_Z"!Q)$--H;X?K_7KA)!FW= MQ7QPF28OR<4DN@>%HF>G;@A-@K^:"+R'N&O/2]9P)_R MWB>.. NC@1]W'DT\MA1+1N45SZK9I7 MGCLM5J:8I&ODI$>-("UC>W\JRU10RSK!C.),X?_@7#V<=MW2-;TQ8$MKH+LOJUM)6]@1&[X3'W^T:OZ;__978^7XTS+P[CY%+9.L:H M;GB2>G3F7XNS22+<+V?N%!J^=,,[]SZ5HQQ?M >:P/12VTLX#YAXU;OXQC'^ MQOE8FLR9^_7,F#)I8YR%8@IJGG^F/B,327\8I[3Q+FFS@ [&MQ?>2RN3Q?-+ MV L8U@(5M4$[F(/;B25?_?FS[,/_WSWYQG^Y;S]\/O' M-W^^O_KPQY7F6=VU6BANX:%^ED0'_[FEFG"=P/_AQ?_"='^ DQ+_E\Z.)$CA M['G!2U0+ Q*[YKQ;;67P>9>PZ2 ?5(-\=$,KSZ=]:ORJEG8?!NS;&S="2PY, M&QUJI[,>Q MBE1+3@?*6:?=Z76&X]%@/"Z=-8:#*P^:Y<,\2U1_9#M='O!VESJ#?OMBX[6' MH;:-]\?PSBDLIYH_]6_R^B_Y: ;#W7_P1)3;@!I6C[H3,(L7F=CI4=CN#)6% MHO]4JL@\(F*DS6M4M3UZ7I; Q#V:4YV-*,VQM1&^S*''#3 M#(=V:6JY-*,'DA_LTAQL:7KMD=TU]5P::P74=FFL%5#7E>FV1_:HJ>?26"N@ MMDMCK8#:+HVU FJ[-*/VL&N7II9+8X,!M5V:T0/ IW9I#KAKQE:A[71I'ED4 M]>#]V2'G >]SGYQ@M-.KJQUG(#UAGAXY+5XUV MGK8SH>T\;6?/UO"06W6.6:/1&HV/,1H'3S4:NZ-V_[ 0>-5O*$SQM6;A$W=: M)2(UZ!V?2/6L2%E/HX;S9#T-ZVE83\-Z&M;3>(H%;1T+>V3O774\D$MHIVE/ M)_:N-&P1Y*@2K^&A3+H:SL4W/ 'QM"F.TS[$H5*AL/K6ZMM*]>WF1.K3VV!6 MZQZUUM6QSMY38YWC]K!I O*RLL/'QE-J$4_9@0ZI3$1LB,2&2)JB'IYZ4?;D MP^.1)D]8?9\P@R.+?'S#Y&Q)KYB,H9FF+*UDR>KHW:OHW;L M,]=.IJR.LCJJ7CJ*G?"CDBW&2;1VU $\=2M'UIU?X\*V*E99_W;J;%:V&KAZJ(S=FJL M%K9:V&KA?=3AV*FQQO 38DYV:M:%FXYY:AJ66-+M43/O,"HW3X)4.%<(U(4\ M.TU,&*FMV.\CJ?N!8;]L8-;UJO7L;US/M0S#K5X'Q+%!E2Q/DFT5'*]_FO3N MEGK0:_>J]AP.O'?KP]!NM5J=1+W;ZO<&[4&#ZD6L5GNZ5JMPG:U6.WJMMG<0 MD<<;W^MD_;MNK]_N?]\T8ZUV?L?><3\J%(&+B@5@QWDNV^F[(TI8D9&#GQ9I M$(DTW4'C!L-VWN3!6C3]6C5^TSZT:/[@VLFK\I!)IUH>G1A?M<>7A M*2M7)Y)JLUZN^NU1Y4&OTQ6K9N;B?%Q,PL!SKH27Q4D#TW%J9PK*4_MP-:"' MO?-D%ZK>HW^:53P^^CU(0>ITJ,[OVCM=04Q?:ZLW:C_Z)>G.X M@RC4TO-[KCZL-+1RL&)JT,9PJGW\)^X#!6 M@UL-?O *MSH.?C?I(;WQH#TXM;0CFT?T>$$Y;Y^?0!K1L\OI#MS_7Y,X39V/ M23P-LNKPGFLML4>$ME/_>:@#K$4-IL'>Q]0(^Z(&\U#/:VJK)JV:/+ XU#&+ MQZI)JR8/O2^LFFP(G) U)T\MO:<&\["?])Z:XQ?7*3BT#TCCID4*3[HZ>I>7 MQW5F4>HIS!. 5;,JLRX)+753"]O"Y+1[-EW%IJL\G*Y2/=1S_<2DN>DJNX=Z/KD= M7 N6@=K#>]7A:O:)!5.#\?&339WHY>P3):)??9*\U1]6RYZTEAUVJ@UDVQ28 MIFO9!B*!-5U_6"U[)/DS:QWT?L7U)'4CXZJGO-0^OV9]X*\]/#;NKGIC%M9KU>SZL\EK2YO749<0GG==CM6[S M-M)I:=U.NV=3@ZS6U5JW"$[?'IZ@"6MSB)XG M->-JH>T.E$%4\RJOPX64=@'A7*> XL'X7(X3&&X%=4O]0.">>#QVN]7'>(Y& MKYWBE7?W_.@2B^I<>'!HK6+5Y[/49V]4?;#&JL\FJ\]1\SBPK/JLL_IQ9%L_IGUL*8X7B$D302G9)$9=BQX-"(_3W99#!*GOP[1\BA>Q\OLLMI\%7X:G=U.NHD4D,L1OV>U:_25B?Y@2YMV.SG2QO\ MV[]=C,87K\M:I*0%UMHSC^VR(;M1G,S&.#OQU'G9;?4ZW797 MB^8T3ISL1CBK(*:<5%S/8 OW^ZK-[4<>-,%>%LMYUZX MR5D,,WJ&?[4<>"TL,HS1\1<"MX_Q'M@:OH#1^OA&$?EG\SB %GUQ&W@B;3N% MWD=Q)B9Q_"5]-8M9G&%+>?!<&B>!2%OPL_0+K!K\A6_T@Q3VVGU*_T@Q^FWL MYF(G<7._''?:PWPX+P?C? O#/WOC]GG^3WSE2]CD%_E'B4CG,$O!K0COV\ZG M&P'#4^VESIU(A#-W0!F, M*HVGV9V;"&X_AH5+G!LW\?&S5R E-&FT-N ;FF/!\O52YP?F< I]URIAYX>( MH_Z_C(JO.E%",UU3>9<5!GQ;T!\%;?$2)JE34B?& M>NQ!%HN#,>]LI_!^XVE;GG:;.&X[[N3QK MC;>F,F%9[45Z<['>.S>W*_RTO\)RHYV;_^X.O!=##R:PER+:[8=]RET%% M3@6LN!LZU_C""+L#"FS5MB_J9/W[-',S05LYC+W">^A# 8K Q='"5T&49D'& M8R\KW"<:46I(*Y5GKZ!;7G8+JI24SVBM=2758:[KUJK#7&,NJ<.'#.$UYB\M M?;^@V<_;@U+7QVLU^?[TYA,=V,,'#Y@(:4Y$2,OQ@UY[S/$#NOHN1P]:#B@M MT..;6[BF%KA+U$(NJ=!"M]=Q)FX:0!_0"J&-A+>JW^2-V""$/9M.[\:>\_8=^4]!^<-Z'/X0KX2VH%>4S>7'8GBZ5E0\S" -UK%I$W@N0 GQHNO(U@S. ' .*9&J,.HWT,7M3MV!33!QM:6 M#AUJSSAW;.3 :IY&:)X-@0)#[_1-&PY# ^UAQ6K'1?MJ$6:XV5T9>GBDZKE0 MNF?]WGOE![<__C?\1\V[%T+7\3KKIB20?9Q80]YV<7WG"53[:BOW!L9>9A'I M#_@*BWI-__TOL_.Y3XR;,TXNU26T,:H;%H(>R>BU.)O ;'TYI=*!>/;"^_5BJ'7;6/X8 ;_E",;=-N#'2U52Y 6'_X<7? M/L7>JJW\\&[\1"H6I/TM?(L>H99:]T=CU=?):G&F5TV@U>'/T>&O:J2X]VQ+ M/OO]-MM]RIF$T/11L+D8B70S/.!,^/,0JQC?G$ A5' M0%_HOL.PG=*"^23W=[[GYRO7H=PU>#C+D@!>01L-Q"9>X 9/!/P2W@+2%%VK M3Z\B#A3:*8:6 MYV*6IZ]+8E:GER@S;XY%=FEHN3;<]M$M3SZ49M0=V:>JY-+WVR"Y-/9?& M6@%U71EK!=1V:< *L YG/9?&6@&U71IK!=1V:< *V$@J8I?F8$LS:(\W@GW8 MI3G@KAE9X[F>2P/&LU5H]5P:V#5CNS2[7)K'XHT^<'UVR&DX?\0T[/2B:L=) MIKN?%B\.\<,?7ER\>.(4]7OMP; ,M;17'.SS)TWAI-"L3".:Q*$/7_ZOP!O^ M=Y$O?.=GX8G91"2,Q=7OMA0HUZ0* 7O(^ZF?@"U-U[XVXA[X#9L_3P_Y!7:> MMC/2[3QM9S';>=K.?*WA(;?J'#LR&_%@9]6)&(V#IQJ-",MR?F1&(R;#GJQ5 M> @)NC@^ >I9 ;)>Q-ZGI7E.@_41#C!X?Z2,2VFIXN'S#@X^G3?%Q*EKMRM;<:DNK+:O5EKNU MU*RVM-JR"FVI@X6]IP8+A^WS&@Y^X_J_K&C=;1#C,$&,'6B$ZB3"QB5L7.(T MXA+//SM&='8Y#B]!S3,ZC$IL_1,:*^(I)YIIAEQY: M?*P&VH,&VL/1;C70X<7&:J##:*#A\6F@MS=N="VLD[U[)]N*C?7$ESUQ$['2 M\X283@_MG*]B=:G,Q3[ <)_%/+Z_Z__Z"<++RBZAZK?J_8VKO@[JM]L_;P^K MOJ>OW^2LN9ZHSA:OW8B?* [=*J6![>_ZJ8%OUF/7OX6139( WOR;"&\%CA9; M<:/T3#95O-JR*O/T5.:@TDW",8[Z38Y5F5N*0Z<]MBKS4"JS5\?)JD)G9]UNA=3CNM"\:5 ?1D/CBSM-^=R@1PRH%8C]7 MG$U7(%;+'KN6W4%(QFK9)FO9?OO<:MF]:]D]P :8\JC^)8 M>:D9*$>E\M*O/)QS(O)R)*DW:_BY;?;-,6;?'.Q&\;@NF,_[[9%-R;'WRRK= MH$II.-C]LM6:M=LGQZ4UQQ?MKLW*L5I3:\W>"6K-*A&)FI%74-F(ZYIP\S3Y M'U0;#S]0NDW]C8:ZYM\\36J&5:8R'BS[9F]2T\3DG=^$Z_][X2:92-)7'[(; MD;2<1>2&8>RYF? ;D\E3?]7 _L3A2B1KX5S4>_A/M"U[-J7G2"^;:S />PIW99?=Y%;/#;Z<&SX\6(2BKV=&X>$6CCX MX'=SS=&IM)JF,;DRA_(OZCDSL$UU![4\]H4H(,/?B?;K-/N'T&.4.UT\7&E!'6JS:IM!B#/J\R% MW5UUXZKE//936 %^3"F9H?[A62BFV67^HK,LGM/76THSC44U(C69%X>A.T_% MI?KC=04C5%TO=95$$_MP%KKW\2*[G 9?A:\DHM-1\7RUXL68WK/Z51)/VB#0 MI9* DJC+[IPO2>"W?[L8C2]>ER6_)*9KC_+'=IG_B2]26X<^D5C=\J,7/U[] M^JT[F[]^XXBO8B04AQ]UHX\=2)1.:DR,O0=CY!"_?"3?0>O@\Z .,!L.&Z6)0$T1Q*9Q?JG*?X6.[](J4$C20VZGMP&GDA;V*DT MCB(1.EZ<9O"!&_E.C"EL^2S CU]VV^<.3'X((V^5_H6_@$^Z^2>)2.?"RX); M$=[S\%8UCO,3+GR1?Y"($//E6 _/Q!^0\"6" M39'A9]4I<%-[E'0LZ8Y^KD%-M1=$MR+-L'^DOK6&P^] #XKH&D85.?"AU"-Q M"AGHD]?"@4C2UX)(96]:8FXS:DCVV2J,. MVYW*-2J.(DCSILGR7F4N%G3! [I6VM.]9]J.@_;HFZW7L K=.%BM&HWC\R[( M;JB987O\S>K%UR/TXAG,)*_17XLT@_'VV_WBKPZA5+<))^C@@56H5J$N*]3E MSN\[!2V;1Y;1=QMG5];YP BDPJA02I<5. MYM>_>V]$2"$0-G9B%EL]T]D&M$3PK>? MG?57K6MR0!Q?K:&MFO[]+WWQJ?L=&;L??%!!+&U78\% JL3?;OG1$*#W[8B- MX,4?F'O/9J'<9:M3KILI3U:KJI%4JI2K8 YI?R,\%H Y8=^/-)!)5BD$E[Q- M?4=AC>1+/W00]3Z0!@6, I^>>6XB5*IFN8E(#A_ESNIFN?Y"1S4GGVOIP?R# M&6/06/[Y[F\WOI4G!A[GY#!%*B$,X4R) HVA92;*D MUI^0+*F5-2]8T@C LW%B3M-PD"F#]2973HI%6]=P$-OA@MB-\+X MK[424ZWN)'I=<$5II'AFK96&1G>(%6VPUA>PXF$Y0B?W4[N3ZJ;K%A3YR##' M519P0:W"BH, &898!^#!O.:Z'3&T42F37<9#LZW/>[]][9WV;OXPNA>GQDGW MJG?3/3>NS_J77Z]/SOK)T.M]\7IO_%P723 /R@X(,AO6;ES>H7W-[U_ZS/<5 MMD(4(N^8&N4_>SS>BO>TYN0!N#KGK M<-1]QBR2N*81Q3PY1/XM)\E)7GYVQQR7[&9 '4!XH*^EA ("N(>7F>$\6CD M6 YB49KC0[?,X6D^1NK923H%$$[!'L J!_Q',O)@[T9TCXG>\"0P VQ03 ' MH[%0&H9\YB,:QT WN9=)W5:HB7,QI-Z-$<["B$^423$*X+U!;!'I(E78/'1N M/:$4 =@AWA@!19S*$H2+ M_*5 \A60/.6R&A,-QXOX SIJ7<>-:!SX\2U@.K*O(: JI5@@-\/;X4\X$WNY ME*"K'B"G5:4(*:(CWW7]^_##?I]X$0;;0!C,6!"N;'1)_.<%LU'YPLS4NIX9 .R;*!/);\Y1M,W4G8*"WB@%]5/QT4O%Q\[2 M4J.:==XL=9X6.7 %I>T6I9&L^IQ5R"XSH?8M4%Q&057:HA!,(]3X%@)\0'/\ MNX4)L$"I\GLRF^ .LN71X2D?A#]P%GBD8*+ HU((_!:=GF">>[?"H8JDZZ&' M0KI4 ^ (!2'E&R&UIYV+=CIX@=]P2+J>:>MO& !!0O8/1:0-:UV3-ES'HT"K?"J&P]+'H)V<+)&<=#D;D4FSP M9 $O&6/_GM]A]9CK3)Q(7&T!HC/@:A/'U"-HE-%(\2?3%V'W%])UJP%._68)_*9\QS*6\B" MK367,MBG9L%N*@C Q%H0H2RXU_%BX4E'E*4XM,L\],W= G9$XY*!:3QZ8$#X MYM7'$A*2S=$)B6[+>.H+9[?VED0,:N[-1! N2'!T?_N&/R2\0V8H/?'2V2^] M3HAO\'0?2T&'D7254FTC?"4>212@13JT:P!!)PSQ42&N#:K&V'$1_PS;!TZ# M;GQ@\*CD,-?S@0$3I22MPUD[/I37,V$68'/ MX9C]B6-A6 %A"-I*@##E%+GH*9[[66R8K-(5BR2 M%79U">4^2D'LIT0^ /E#(6<)V4]@1-^0P4C MQ ]"+4)Y4ZU\[$5\8IC=LG$-EQB?&);#A/2;^1&!1CRJZWDQ//R:8X 1W9?P M5KBKZ$A'X\H1![7PH'Y*A?99P73>RM[F"?8E.8(B?B.B16 MA;%)P(4'A*(@38-QK&+IY'('T4BBT!4!SX"+W*O0."!EEA3H\'"=\:)-^J[% M6Y%A2V:-?,L2_"[3P 54?U]](40#?9.1()74,I77+!C6=%-6$D2!6JI<@BF- M[)4:(S?;Y7KCH;[0&GO6GH_'BJJ'@J/Z3(V#/@@1? ^0>U3R:0Z%Y%(V#+$L MD+^PR,MG*G3AZO2G:2X_W!VI6AS$;AQ$_<&9(L5!;.@@FN7V@\,\BH/8T$%4 MRY6"->W"012L:4<.HF!-.W(0!6O:D8,H6-..'$3!FG;D(,RR62\.8GT'\<21 M3X]Z-C:WZ_83=KT2RJWD,-CI_5F^BU_^\UW[W7,E?X?H:XO3 -L/!;OD2QZJ M2_R#_*!GF2)4T=&_9I94:__AFOKZ/\B*M@Z*O-T6]/[#/L,7#N@^"H2%DWXN MEZ@^ETNTR[7]9A*8C[,F+O"8K;3UO>I#3;(#3H8%7BSB1;7 BP(OH'I@.FU>H'H!:*_ 41OM,KM MM0ZHS)_1N*>(O@<^KD0U50V41/GT"ZFE>WJ.+Q8VW<2NE1FU)IZU0T>XC"D= MP(;+U<-U"^ =VGF!O*\7>3MELT#= G7W$77;Y=8:4??%'92[I_IMV[19T ;3 M>MO"2;E1BW:+,8K-\[:]V_^*:FACK?RP< ,51/,&B,9\ =.M()J":%XST=2: MY?K:->_70S1[X(?M:8-!EC:&+?RP/\;\,I1> TJW_1B; 6R*U%\JC+3M?:TY MJ%0%H5UXP J,?SL8CT.T"XPO,/X-87RUW-IC5_&CE1)/5D]WK,/_]F>%GJR6 M,.O\+ 9'4G+A$P/Z?C+;VC1*[)-*;3 ] MWSLBK1U[/V*G:L!#7#V84MBQ,GT"-LBRW)C:7?Z$Q* _R^9 *I:3MHID$Q_H MX?_2+WYJ:0UJX0X::74TI&Z2V-*5>Z&X6 Z%/\1!+["C>CJ&?6ZFI>B\/9-C MKXR?:OH<57UL(;,LL FC4'7@5@/<1Z+)G9CBA$VR F<81V+V$,U65+VYL0NF M?Y_T$-/[DF;.]H%!\)FUPX*"F-MJJZ$VG,EU1'M41_0L^\DTT^FB8J/9O0'8 MI\S)?90:RLA"6$0H1\ FP%R<-)I -'^H:'8+"!\X8P K/EB[%?8O!YC9)3G_ M!W::=.JUN0L0#6;9N\;N*-DV%K96(G:5QII MNI2>%S+P-6JDX]0'@A*1F1UM1/W3:;QD9&F\LC*-Y\\/50 /-8@G *='S%," M;JO>T0A9;*N>LANC$Q$A9O>.Z3F#I M3 1CZL;:7?%TBCV*=*CQOF]12.3,^;'.GO.&ND"NT?%QG@\=6JUQTH=!4R,VV M ]$'3U#WZ>(@=N @FJWB(';@(%KE5M&[:Q<.HEJN58N#V(&#*%C3CAP$L*9: M<1#K.X@GQM%*3#5W>F&6SM===-G2?T@_UGWAQ M3%_PJ>/G_KMCZ8")FS6S IB&*S1%'; M-01X%E$L)KSNFJGQ@!S-"3T>G/;6*DFKZY:D;Y-#O+5=/Q:$V$EF4/W1[/=M M6F4[<>QO%MD?=&OO)++7S/5(OFWK/J+!O&[:3%&S)NA/#9EC4A856(H2KRL)"-N&9 M0A7QB-=>U71070#OA*,7PK,=*L]33ODA93;JZ6L.B- MXSD#*MA)H>_0OUM<:I344F<*:T_[EX:34S^LKK&1#8IB5]^.+<41564[?,4% MA@8K0"6&CHAUKCIY<=Y]<[ =*PXQ*71 M3G/V=+7TB0_6%,\_>./]"A:3R_!OU;) 7*OTE49R]Q&ZZ XI1CJ*70?$@T0X6"8E7*U\]^&]C?"8P&86*RI M@2Q3KREORY9LJB\?2>K7SKH*6CR>/GR4.ZN#K?]"1Z7II*27:DHI,T!>C/[Y M[F\WOK4<>V4C%3W=3W[U[N<;HCL01B<^E;>&"9ZR57 U"^D\ .Y(FY&'AY\X M/Z_43R1A:+;H-=&H9+L':)$AD.YC/XB. ,$GQM=ROVQ\QFH2C_HQ1,@!8V"D M(;?B0#0^H+K]S@// _8/&D$THRNQ9> 4GR5X;_YOHDN [41QD/3:2!LFP'Y1 M\,4DW9);1%-"JGP'X"/(X'2G >L&/ZB4\E"7V]ZL"JLMB-( MUB4V=HR4\CO'/X^4VFVM,P=\P6YO W[+(M!:_"#P[^$M@D2P?8OH*&* P.&R M\P*H04Z$_6D(B"7CIT:V=4]"<'"[PI,2MG?)7"44=GB)>@4V L!-,&5M9S-&*,!Y*N8>DP3[E!Z+=34=K"&1@ MUQ"'N8MP6:=-\@0ZVB4R>5A1S*TX&D9P3L@#)6ZAQ W@5&( <1?0GN M48+"^9R T( #U,1RP< >7O@QQ]938'PP(XPG\!.AM@72@%'[)Q_7"OB?M#/) M\ XEB65'*.V$_"$HRT2&8=GX!&0V\4D CE"3$BU^AGZLC"XX9H%K<7B*3I!?@(5NY*V8.M.Q&OUQ"OU&%AL\H A MBD!278$2E8<.R EV(EQO!\ZADI@3H%=4- [:Y4;EO_'BA2T<>(VP@- M8Q0CV+@@PCOY#.K75*'G@ FG)X0).%V>;]P 1Z[OH^O .(E,^$&S81CYGTS M_G"PMUL/-O4=(!<8Q_WC/XQK>'A)/-TL5_2GE])^9]33C=@/+@5T!- I&'J" ML!T;*%+<<'E(W?L\0W\$J0]H$(N^9/?<&+,[3D_RIT+O2+U13S],<9 L?04 M[Z>:=JQS.\"N6ARG%$F6K=V6OC= I3[0V(P_I(ME#[Q0=KTCYF.#F0[:3D F M*7!5L@3R: $P*(R'?\*!XHK5^Q4#S[Y3N-_0!K)Y: 7.$(F#1(^ Q'.8==GX M'5U@-CGOZ R 9>H**99+X0RYHBVF#+LA@X/:/()5 E MFTY=!YV/MPP%-(%?AWEZ%,"*/&2>%E(4.7K]M&'?A,%/#FD0@"Z(0]J/@%F M@9QH%+@4=H83!QCB3[(5H* 9=*HD331%ASJRT4<_ M0)XZ(X?;NDU>-HY3?$IQ")-3Z54"EQ TELO"4-P/&*6:8THE)B/[520D' /= M/B '1)@D AK*\O4LXV=WP"')*X5V9 +R;:'ORWF!MZ\E7"9M#<^IZZ10$WY' M0<%$OU>E$XL6KG#P(#!!S9N2G@=6ZAB,&^PKBBQX_G(0R8$MVEQRA6NBLR8@ MBSCAM*^B*Q=P(KFN^*QXKA$3=8#]"=_ NSDIF<)BQAZ<8-OC0Y6Z.ID@P<&5 M!E)?A.P;T%,V\RP;_529[H&J:E3+QI5P&,%"E>),T@,D0E?HI=>DER(A@RH] M =(\^I7P4Y-.NFJ-SHN > :IU_/;+-3;]1O8JXG:348S]PK>#S**7N(%-CY+ MX64;GU #%BP#?=#?^"SI$,V2,T#T3WW(B>BSI?Z,@H8,"@$&K14K!LDE7XE) M-EMCA]_Q.7H"_=L!JU1:IJCG4GS==:5+6AGY,7"K"%=$.NKLD5_4 ?)6S:Z1U!?3"R&U!>"6.J'>@MADA2I3RCU-24^(_1-::WC M,]_[&7,(/4DEXS9F(/PBKC!:/,Y&BP?;LPN?CJ8!BJM S_7"0Q&R$;;,O>PP M#5:CI 0PAD)@FBQ ^3T!$B)OM#L3RN\(0!0'E*H@ODYB_*'N];KW8Y=<2&'D M1#$(;>R+/F*Q*V--]/.4E$][YV M,N@(P#;%^TS:3^AH_&/"32VUDETJ;1O7<.2R&=A)'T;.=V[K,7 5QA4D^U,=*0O&3="*3_5NM^7T'&GM;Y/ MD'@A0W;?,F/:169,D1GSS,R8@GW_"/M^OT,\&Q69O@R6GP@O _GG4JYYW+LY M[9825IQPV1'J69(Q@SI&2A9Z?X=XCS790/>(CEH!<* M9\ "0&M3::Z [D)/EL-&?')BN#.A."_*);46UYG "Z8^$HJC>^K#Y>[H3S'F M B4IIF&N;_%1>420E6JD6 6YJ?)6LLS=65XNC_;%15#PDE>H"GYQ/&<23U MI01QP2/C=Q]I5M<)%^G&I]DU8I05Q?V67*(-T)+\9T@U#>BIC(R?:O6F/DJ( M0I -&9;0'Z9-6D(FQYDU3A7.(0<\0;4Q30-_,*_>;!H'K@]K5IR1> R9^=P^ M+!O]&&-O8IH6FNMP^E8L$F9P4%RS4M,'(N4$='$P'$>N(ST(E.&1V8_NW49Z M,UL?*9$0XVN1"%3BA6(R7;M>2:>.E1]0;_>%G>R TTA.7_K"@F\\"E.GD>8I M!-$0\D4/@0H#RR=,Z DXC4LXEZ:(QX \Z)PD5TDT1NE0DKY)U^" "/[$L1 A MQ*/#DC*4Q&<56J;$5AMH!J?J(2:E_H4I#R@:0!5"GL0GC)ZH* 65_% 40SXL MN]YP+BHO=W'GH_XHDAQQREXZ7"S)=J#(XLC%3%N1T4-APDS\7A4@I;E&?NJ M4DXURA7P-4D:IN[TD1#=KO*J%S[2A74^U&6W>W5UWCOIWO0N+XS+3\;)=>\& M/IX;W9.3RZ\7-[V+S\;5)5S1.^L;W8M3XZQ_T_O2O3GK)ZUY"T:2+ART/\RA MMU#>"5\P8O046+DU R4Y!/'#/7T,F^]QP<$=^,W'G/4)!O>8B,Z+298!*)XS MYBKB#$""80J)%TEA$&JTGO(%D:&,PPE5MC*%+T,MS)#HQ>$X.A$Y^<8Q-.I,,,])RT<464IX M.?Q"\I2V+S+X41!ZD8LI/-*!C:IY@*RQI,*D2P&L!4P9F2M^R-.'@P7NJBV- MC!#4,P=VBW!.MD5@2MX<.> M3 4+E&F,DIT7[.K1A?^."6,N1=SH.+5(BW[X"]E/E+HE*@>!0!)I^1 "B2(- MA;9%D<;39,FUJ/HTKD%MN14 +Z1$SF$K.#D4*$1080P1M4'T,7CA2'@_*.7; M=V41T<0)T\+;$/DRO/K.H8I;/XDJBVFMGK)(B%XDZPL3#[MCR_@?!MJP,$MD M&8J@)552\>]8T'^K'/;(2?/>3#X@IJ+K,8>(S)U<8="QP_#N58 M8:D-BIV)QY)F*I];TG(:I2J,L70V57[0(4>JQ< B/#]*/$1DE(E-F4B M$U;3?S.I\Z#5DN3#!#L*5Y M!BC%[TC[7G*CR-9354&VV#H*\A#]4UR<(;.$ MLBQBD \]24Y'1GT@2JOOI[XC4MPPD8#@K++V:'N84Q3@"5&Z *W:B4C#8%/, M897#8M/\>17,Q&)^D08E# ERKHN%8&%-1%EVB8U!ITF/Q2?Q0&35QT,!+Y7C M1"D.RAB2UGB*8U10[@]%,/QW_4!EHJR/L(9-W0-C1K5"E45A1N38#V2H1DO\ M2I&=8"&*@T1V8#+66E6HH_C7+I!6CT"O-!(2S;Y-R33Q6 10\P3EP M.MZ=#[LCH(C\.$5:D9J$+92?L3.= JHN>%;QJH"VC#X.EM&24OO,4F-X,X43 M))13 *Y5KY',TUP,>F5$ #%=&PY+(-Y+HG1TKO&&+'3"0VJ5<<^3/8A'"X8A"A=A58/"U33KELCZ&O\99&TTO_IY#N=UQ+"D/^A-D]VT$EC.CX M1/R+)X![ZWBV%?+(X(-9(=*!J5#Q?WU4<\@Q62902>W4B\3I9V:WYOW-I]2\R"7C-7K8ZZ10) M'45"QU9;G62L5DV,*8]BGHR@6KV4C4A2?4"1T/D$*@H3[-679KWF25]AG8!! M HJ,RI983[("M##4^P*0&?>4>@DW4$@P))V JJXL,E6VPXVQ.%KE M[BY"43!IV:EEEFRQE(60T$W"Y;)32LQ$8.+Q:*I[TMN!0(J5,T=H,LZ41J1W M7=&*6I0I(^5%F%X43VWA!4Y2@G&(#]:P9!P)4O4@:9K1CH0/3VIC8@_+;>I% MJ^8^%0U4<9F*!1VEERB>N0!7]IU )1'MS7;26X[NJ"[!HVU?H'**UY;%IU&" MQO-^8J7PRL?KINJ)Z\>:9P@.VK_7;&2IC8Q]2E))MI! 5N\L(-L%HG0GASW[ M)KRCR^2Z@'6J)-A"U]:%ME"Y]0/FW]&1$"X>\A(ODR+Y0"B4XK7//$HK"ZLE MYQANXR W$@K(5_IC&8SU[SW0O> ZSBDK"] AQ)Y*+NFK(39J,43GBC_)H8@> M!_=.Y6\!S8-B(R/ P'E<&1)&6,X ^20H .;W?O!-$BH2IQOZ^%I,(M;9C3Q_ MA5L"E275&_<$.;@JPX$E5"RGJD%;_$ H;]JFB\ MP%-$ &$^JK60[4*>!.HJD<%;;)<3CD1YR%)')'I1[Y@;4[$\)I0(:$ANC*8H M8A(FB@'FT>KO\]1=*7T3RJ#,%XTP1.\-&1C3I3E2"+536.Y(:K'1W\@ M"U,"S"H"\R:Y BEQ!20V8@;"*;=$%5@O;]P.2?4=> 4+,%?Q/I<3H>!%^%FS M11]!F$)+_"89:,];?@N]1^94DLL[TY]S.)OKJJ:);R_&0KDX0/(2YJE+!FS6 MSRI/F:NN!=:L)/(TT.N#=(5UX$)6QEF"?P$+!5,:L\!3Q)*!"!+"Z4 MI5R%&"1+SK>B#>\L5)$75,^$?HS=E+I<>T* S3MA$ MM].D4A+-D;V@-4<^#CN-0ALM\UTZ=K_FF@1"8(7==2;8.Z0,J M1H>%?+DZF]+*)+O(>WA2A[1<(02+QV*HY-P_8F7 B=_Z),/S7B1AG0:'4-6V MU/IR;UG5F_Y:E$E%4;)LT\4"A(P@H2C*B+!+=/5!+(X]ZI0TDR 0BIYR$DT%>Z"/XLS2U'PW<5QP,MTF&J4W3J M$TA<"9GV.XK]P2\QH@ZRP9+LNB"RG4>&B*8K_Z4#BU6M&;&UHNX=I151W89- M2I9H^1 %,3^*IRAFA1DCGR>/WXN)U\*+ ,GA(0D^XUJ LG ;%.FF[:>XAGT; M7=T)/M8<-@#DH2/H5?,M2'E:P@88LB88B)HBF22.L%T621PE@G#)(HD,6(VP M(16)$M8FA!_8RA>1W!B*%+,TX@@[3$4@MCL776L2 U'$+N&& *6++^I0YBQS M$KBD3BE'BQ[_YTD8-7??$M=@>V==/>T@P0(@$RQIQ$.3+ ZYHVB@Z"F=V)"+Y\X'S[9F09(-1X0M2^>YG=IO M+O,D(?:O0@K':3'+DDA*8"'E)2AKG/*U,-JM93F(#!$E,%*-3GO8XU($EY G M,3)FRY/%!3U5[9?B@^(V%3M!G3;Y&=WO"==>(DSH@=L2'MM2A;%)G%2'AR(C M!MT.Z7X<\BTMQ%2UTU6I#4)_@G]1A))E.!IW$?E;FMF7G\@E721ITA;<1TO3TK5>("5JD8MN M*B7J1*51=],TZC.5.;W5A*C+.&V7+#J3:\4A2_S:H5BKK3@2>Q&SM1= M$HS(B*2R<2I=LU11N.B<%2I&.C] >FIE]@A=G9L!^V1+G! T'%/M\9#/9<-J M6A-. *(.=K?B[1/J8R;QE&BFBG'?Q)((4-3 68D]I[:'F1PJ,ZU4@4EGTN* M "4C[>>4Y]]*G3E+'#FP558RJQ)S2E2VTA)E3FEB1J4[3NU&E4ZE M+WPNATKIT/I^[KD6'\'K\7TQ'F^F#2*!198?$NW+,D9-'TZ]:PL'LCTR4"9$ MUB$O\Z^HRP"Y4IP@FAW92,R4D@6H(ISFI;P,S.0V#"VIKM':%#]QS+>414 . M%;@0$_@)()GL[F6)TAF#EUP/KO,-^8\J3/"U5E\!GT^EQB2\" P ,5)&(;R] M9!&&,]_$/6O.$:=0MC*9IY2#IR6F2_F>X8!H(@2AJ+NSXDDL-!G-IDPV2R8Y MHBRQ -BU]!ZDM60S 1X@ECO<%+&!3(&-?B4N9<-)[P?86ACUV;X/8YI!9AW;+1 MS:^G5\! 'X0$!<& P/Q3IB ?HQD5_8LP]3:%RP @_3Z9CV7 M7]K6.%G ;V.*BJ;!;E*1;% _F#53/N.4*"A3-TL52:N6?.ZMKB;J=]*2\VSO M7@I#*O7>E\Y4(8;@ ;3 MHH)^")%HHPI%A:J@D[CNV4I>3)ASKY0[N1L[VPP_D!,8$PY%)5U4^B6T@\D4 M7K[6D/@C;7+UZL#=JL][0GV\(K+KA,C67-.XMX6ACU;MJOP8WQ->4MG[25)_ M9O)-QHQFU%%)74[*BA*'5#LB9S])83B33D_1%%[<=(]=:4 ?#$/A6:><.-+B M27#)!U-:6U8SDF/HJ"$A#I+&X(](ZA$E9!9N"OUDF*R4\FYM?FCB*9ABTQH[ MELH4CDU6SU"5Y*C,4N,M'0#?/,S"$FI0IH%K4I\_(ZU(9,.1;Y,LD<46 *$^ M;4@3UEQT2B6EV4'C/F%.]YQ&XJA@"K6?-5SNW<)GLG!5GBT<2?H)1''D)GFX M6EMC:8I@+>9L,I73#4AR)2E5Z2+DH"^].F0!.43?=8T9BND@&A#9EL#"YZ/#PZ,*U]D+D7\M1;!?*9A.+1R>YI$18AE+? MJVRO4 X9E:VOT52QJ5M;2 $B82$"DD5XH]J4T8TPE31XEN-HMF<+2-: ;V"NP7 '2#-FZS2Z=/XMV"P=VSJ@YJ225@+-QB67GL(HP,W H29C M(Z&:Z"4],GZ=T1ZP*2"WLQQ7,GIA'EUG\(+GMOL55S2*N6L15MQI7?:7, M\43YB?$0M'YDY L2WF(FBIMD$0M&?LB+@\.=9.N1#+/*,-F$<;W7] 5MK(L^ M.^/.X?=)JV-]1&EJ[:2!Q9)BB)I&(+WR+*:*=&7P+CC"RD9/.M(T.UOT5Z.\ M."LB[4F&0N+,W"@YETI)"]E;T<]IAJR-5L59U-1N]04"W#N/?JM[DGIRF ^- M)B\\2*M8!0G C ,L7\4N;N$8D(^RM Y%TYQ(:+"1B"$&042CJIGQ2@0:NN@C6*\OY>,9/HKQMI:&B@' M!#)6E9""T#%FH=S=)>6:5N.>15#5EIUZAD!4''TP(36M\^^2UCPXH0ZC!#(. M*5];3P_35&AC3@"V01.AE"]1\K8!-'3M]'(5 I7TJ MJDKOD^B/C+5UG%55GK.JI8OZ17.+E*3G.TWR]7RPB>,PUI0C M&B8T=83@ %#G/AB/Y^@U M,+HT.*"$="AUZ9X7 =VCAV+=FM2^0/5Q]SD+4-90F)H+XP);61VY!%(YBR%/ MK\\,4-:[$Z(")FT.]/9DLFW'."<>:3$.R=]'!7YIBB6.LQ7B*BE#+B6=MJ1R MDYPHU0Z),9U8N>]3FS&/3;B6R417R*Z^7.XI?80L^J<7]C&)!5*&AT&C M!H_L@+K"I4]$6"\>%SG31DREBEI.8,43E6H7QK>WV')?-EY-HE:D ,@,.WJ* M'-1M.Q.I31-;7G00)WHL%1@A.B'ID69,IFI2R2F?*Y524'B$1BH[4/[)K306 MF;IU:6RC!G/!6PW5"CV1$@L"+YR3>(6BNHI_^"RMC>S[;IPFS!QCHB06*:9? MAURV0\>1(\9/S6:YFDU*:J5J YZJ0O\<88^3+5/R('4D/7)*UJ7 &=5S8FN7 M49#T/W5&VK@'[2ZLK[.8F.R+^Z&,T\0CG&19R=0#)![5.#Z,^-2HJ!;Q-)$^ MDJ$@4+EFU&-!RV7O4\9Q8(?&B6]3U)Z4XEJ#'F%6/SXZIEBQ([H>7ID1<)>H M:. @$6'!JKP!3Z0^SHA,A6.A4FL)U$>35[!*,!!,R7A&\D"F\UDRF;"8Q.3PLM&Y%*V M79HO/)[?J#9:1E^&G">3D;YJU+#+[S"Q5:#]4:)+DV0$BCS6$XGSB+:40;0$ M'U+Q3K8.TH X.#EW(V<,7,)!5!#U/F?P $ <#CKUXPB;6R2RY\][$):;-BZ" MR1$8<6#H'EHO8Z'.BT:XX!9K$Z(<>2R"<^3.2=NB2K$L&[0^1P!L*?:Z0Z+S MRJ6DHI!SXP*$D5%/II L\G+-*I$FBQ(U,DTH,SKM4Q( Z*>.=#V'O0=?&FWJ M.(UET;V>.&/2C:CQAVA]CFD <;8UFY8MKJ.A"G=0AI10834D(TF=R,&-6%0K MGO.^A7*K12BW".7N3HGLPP-;SD[.+F[._S!Z_?[7LU/C4^^B>W'2RX[_ZM]T M+TZ[UZ>;F_BUL-(=$@F8!BX,%'3IV5HD5QLG%":V ]-54>"^)$;,1(STXPD\ MG=PS?8UO:V;(E9Q,5%+21&I>^" R YXK5DB6=(4@N!8B!83()\S7-BM'OVY& M!NQ5F:3#MM0CFV2#:=TRU'K586! M.[P)OP/3@:NI=^$8Z/^(NF&+9\MDU[0P@@I.)]BY2(:\1YJC ,NR1:NIS*!0 MLI?FYGTGW:%1?]4&8@O?[A#=0.>!;-W#$MP@[QAQFRH.Q&!6,8:0DEBI7R;.$J[0B4%GU[AEP#G_X(\INE5J<:F)CV ML*$2"VESSJ@U,YD<'D!.'*!FHF<&L2;^?FTRK%1"2DD]6HHZ22MMS9DL^PNH MJ?#2I%5)]]XWP@ITQHA3A_O1BRUP)\GK70WW,%#JA[)!#V%(-OZJ3F?,K0"Z;\;T< MP,*A(;T8BS[%Y\F$XI2GB2T0 MD(;)6&+"#6TPLK5ICEHMROM0:LZK-M6:\A:EI$GT[5:3CM M_M:UJG8Y7]6GH628B2J:H(-E<A5).-51O6+;K=; -KDYJ+>;P\&P/F(#5JE8 M3:MB55FSLT XG1,A8Q O;=#JTR:L*/^%2;M%PC$Z9>,DE8)(*9E%"BU%6M[, M$^D1FB&.-Z0TEUHMF_6*T(6=]'SW@M0NP#[8$F&\#- DF=AFMU.S:L-UJ=]AX'OHB2Y"GR+@S+)PX'9;#7:[:T2 M2+=LJ+41NJ>KVQ*2[Y5[Z"'X?EE,!#U+$VTQ&)EZ07;K"'8+XH]GNJ0IMZ6T M)SU-/,;.>PK?C!T^,LZ^4J- L13<)XQ;HZ&: RIOTC^'O1DM))8-LX5P?IP]-QCRF70(I MLV1'-=F\';O#QYZ3M+\F]\!<;HE.V6D2DD/>CD5B%9M?2H;)N+_ AZNH:Y,O M)Z?AH6'K=3@MD>8A6OEKOE1;HT_A+DK7EO:%2U*Z9DOI#MV! 'GL!XX=WN^Q MXV%R3$0M9*LC5EG,2UL!>I2?J1)/*,P?,%G!P"S@3&HFEX/U17\*_J+F)B0K M5:E/CF@'X*);%\&I6G^29T9**9G[A*Z-(S4^4$0N 4)C9TH-[)0O($!WZ=SR34H1=&!(Y7'I0+#S$]$52D'+[EI;QYM*J MO)UB;9,$&2R5U.CS!S>D0TCP79[7- Y$ MU-/QY AC6@ 9LE_+_;(>O*+A+MS6\XXDM)1!(6T#=98/6-TD M8@M3V3%0JN&948PC:0R%4M%Q/!UB(M&I1-J];#=/=@US E)8TUZD"[/$Q836 MM&TA9:E2%NU'+)>2*WOHD$3 /?-"\U!R M/^?=K2J =$C#'4.H=T<:=R;&ZH3?%#)(NT@$J+&W#&PB MD8;#=--Z1P*M%H;*PJ799'.,\8@NXV*PGZ(D,4Y+,D4_XY6B%@II@]2=B%[L M$-I]S17F--7D09]KO@]GJ][8>S+#L6\$5UWG54V7FK>1YZ%=G::6.FI[V+;E MFU KT">6O+@TS]%%EP[TOV!G$.",V',7-0> -86KB;_3["%"]#ZJF#XEIUP& MM\S3A05>?(-=^L&N%'>)\A&@H$.N\G^9-6QT0LA$N]2MJ(#M0.%6IMG=6U=^O4+@G$-D=% M3?AW;YTPHNK0:0R6FZ4K?2,GF%!ZEZP.0'X2V^0K5>;UFIC'C58*QJ93ZG\R MY*Y__Q:J]C#'5/F63/-)'A M!61;CHY'5I]/%73A+A?&W(B6\?B/E\G4?1K" M'SP0@QQE8I#P*=\/<2B-+8O:E=@J69?LSC&J@A-8Q'AINR!Q-UDB"T6[&(G! M;%"]\'>6%-O[BS<\D47O9_?:>N$!+SS@S_2 RU0JJ]%I\"$;#CJU2GM0;]?M M :MWV,"LMYN-NMD<#1NU=>5&=9XD,*[/KBZO;XS+3T;OXO3LZ@S^N;@QKL\^ M]_HW9]=GI\;5U^/SWHE>,?FI=_UE2\[Q30F$!1C>"!L^' -OQ,8QRC^+7R[Z M9*FN_021RE,-]WN>]9I].4]#NLNIXY'9O/OAF*WI) L056VL2..6!O/JBD<^ M1HH*I7@8.K;#1"=:?*Q,K=+:GU3-CX?+[;3$UDH,^"3N(_2AFQ!9#QB M@BLS9%T^@H.3R_[E(7DN1"4)86FV XN*7Z&JY% 3T=2=*QM$A27-#/UA6V@7 MH(MPV;KAO%5VEA"?&_J* DMYX8MTFB^&D22R70E+6N&0EG9_B4,XJ3&4D"(' M7STB;BIZ"0^-@ZN3[N7QH:PHTVOA(L7?<&B M,*-%M]0QI!-0CB :_[%'+8LHZ\]/>;KPN+RU<,931.#]&-LGPLLM_@'@>70? ML*EPH4? LOBNIQ8G"5;SC*S]8A0#2C%CD%;0S M?.U:2=-T\)DPQ;%45'W)+5?:[[#Y5W2DOU"(C M,$U4%IWM,]I"/[T?KTC<,9KRH!Y)>WKSPC*-.24HLKJT) @:-R1%TE]5'W$U M '[J,@%U-8>3#I3>!!CB#RG+(S?RSZ@1A^JH^!R>@:&&5!-\D, MQ,H$YQ$NOJ0$_VGL)3O9)0TO:PD&]YQ](\;%OP/Q4;_Z,&%Z<\G/(J-)R\O. M,-2E["\S"ETL":=#P&I*^NE0WR#L&K!0(<%"&:1472G31!;)-S.M@!7Z*)T;))TLEJF&7]-W)^%OU#$MIMM_R M3+_L5I^?^/=8TI\UE_2W*K&\0+Y?7D77KN7_[9^4VE;Z7]<-_=)\>_\B"? 5 MH=I^:!3OP_?&*7=]]&H;?V>3Z4?CQ@V<(;/_G.^<[GJ(/?, ;,3?D[VA:VC_?<FK^]ND[OU?KRMZ=OWC M?6;9/Z?=:1([,TBK,7,R-PVSR8[,@]'AH;$M", ^'@="[?S8OOS#&_[Y[:_; M]OGEOP>-[]7SW][]S,35BW (MK8??3,WP<2+YO?2BH>F_]?Q5?MK_W=VVV63 MB_;D_O;=SV(N#LO;#I.'!8\],M&C0E2_(R>6N\E?O@>#7Z?-D_-OOWZ^^//[ MB?VOF^ZG>S@PUZIG% M(R ,L";EQ%^\F/+TM\IT7K!#I&6-[$:-\T&-U^Q!W6Z8@S9H'8/*L&4/;=ZL MFK7V@@(QZ)QL554XR317ND[<79_\@&-DYU]PG*'M2(\&^0ZNI">DYXG1=O## M6^ZF^A3TN_ CHYN$CXO9M_HZEZ2W&.(_:B7[N+-]6>=;<18T"V=!X2SX,675O9 MQL.XOX(2@,LR8%U[)\!3#Y!#9EH@]63 M^]/*RC$G&RE4-0]G;AH%3H]:=9"5%_6T=P)W@I.G?"X--2Y\G-*JXN4YB#+W MQ%/N.AX-A\9<0WJPV3Q@AS*;9N'Z$]\FWIC,-ST1"7?B=;!W*Q2SU68+;U*N ML!-,.K-I,DK2(!=NEI>)=/2DI"),QCQW*=,J^4&;VT:^$YDZ!%N]"OSOLW1Z M0Y* 16GD,M7U"^>J.J6/LW55:97( !W16+DDC-D_.Z&HY]R#2_)D%='9!D:) M83U#2M; B+'%R\;OZC$X16JJQ^UA8?S6%SDFZ;FFG;3T;]4 7TJ5R+Q4?QO& MI/W'YI8(])V'DISL(O(E! !$WS$_';=*].ULY0MGAF%9&\],_[)6*$I$NJJP*L@#0HG#9-.0? MU!_ZLE 'E_HWJJ*64&'5VTGA9W'DJR^$MD_?9/7T*%!O51T5Q"8C6WT/"@:- MCY)JH]BJ?$JU5J[7_EN'CS0O2&5OE)5!17_-V13:^U")P0EI"D3J,]GU'X3! M= ] >=1.D>= "U&7LF&(H[GY"QLH#[2>6!T--#OS'^\C^X%C /Q29[!;1[ ( M=R2%E[+EMP;_#!F VEZO[] 9%&2P]2-XBV30-,O5@@Q>\!C>1P%*[!>3SB\- M!=+\;$PP)VUYSF?H@)H["7PL_"P 9V+\0V]D6A?$GI MM1E7Y(80IWM;X,WS\.;)['Z/V/I,\A@UW:T;%Q_<-;"M'CNVCAI/8P"IKLF?XB=;763<*D?C6?&%^LS;&E;)K9%YZ MV;P92@O&? 4,IUO^T<@7634(:9P1 ,NZ$]D+0M65U34YW7)#!W,F^MAV@OH3 MFIU.723.T,W+%6-Y9S>^C/ M?M5!K;ZAJU3QDBS\ 833U3U0'+T"6?LZ_SG$76"J!5!^> MH8R)?+I4U4+):TN$=&+18V;K_"[)_\Q*IP=G.:F&K7@,L(1O7';6Z>/\*7C* M9Y"]4YR53$4GU)=5=)$)12MG(!)8PL21G??@:1:;(LP-3(J7":;YQD$-_Q M$(GT6DV95XFT89I_C$^_Y\/0B6 G]_?W92MIWPY_3FAEU-6,.L7)P>M<]665 M=U+?(@;D;XOF7Y%/2;3WS,'6T\8H\">JP_FJY['8JU6]&X=&!6',O*3AD38. M7MXCEH&-!#&EOE&N-/ #I<6VCW[=\^1665-2'=5MLVFR@=EAS4%]-.P,6,L< M#AKMH55OUROJM9&0P[ M%?C8:77,6MMLV:WZ(EE69??GV>6]!RQS[$S]T8GH+GG,/0YRQ%DK<6;* FO- M.-8>+G,&2HEF&AQA7V&];*Z9X\TQEWVJE6T6M-"]JI?-P=>5: MZ:HUJ@QMJSFH6*W*H-YL50>=ME49M%NM8'^*Q"=L%;],0\IX#I6O'E9*?F'7>E4.\UV=3!J\!K8Q8WZ@(V& MS4&CT;&JE895'S9R^$?]2KEVTLE9GSA'%B*]H^%6^4>=',72^:0-]\(UZC[< M0D'>,'-(J'NET\DAYJN 'W6GV%8>[EW"(]X\;1>]C-:CG[<+_;S0SW],/Z]5 M6I66W6X,VI5A>U"OMTW\JS-HUSFKC"JU&K,;B[V,_CUH-9J5'6MD].^]M$H?B[=U!K-:M M(6%^[QY+;T5^%8M0WR?5Q>8*>]A0TQU0BD1'G ];2L7;+*J]+,QI#4V+B 5F@L89!']A]:U#BHY, \?P=L%8?O+!37I'8,:/B=SG\G M)#_.4PDDTFNZ&CYVGK SR>#M1KE575;)\B)VD^K&_)2DK4=)>*BRX,=KA(U9 M+U=;2ZM\U'];9;/S0J!ZNJ;-;H7#^J&+_C$,WO_\Z%77RIDQ!]VG5 ]M"+FR MIFJU7&W,!]C5EUE()F;@]=G5Y?7-Y:?>Q>G9U1G\:??F[/2X>]Z].#GK_W)V=M,?5*NM9N69")7AA\?, MI>& _3'G.6Z(UX@T];>#-/T;^/<+\*,^3RR]G@U:]6:'LP1_%G%1^"MZ$ M$RO?!/XTWB;^7-[\G9]?]L]^^]F[^&'3J[5JMNDX\(G=Z.AI7[Q\M1S ;(HWM36!4ZW5C MU#(F==+M__+I_/+W_L!LU9JUM?.I$Q:.C4_8L/A-8%'[=6/1Q>7-&?(F#9E M30(UN]<]3[%JT'D>&EWXD:A26MV'^)IQJ;,EUW[AN=^(Y[ZZ;Y[[)*#YH7#A M+W'AB][\Z%%:&9@E@PJU:;Q'-%:#69PP.[P#/@=:O&__6,#>^^V;Y5IC=R7T M0YYEA6DOY;6OE9O+>W.]%:_]#SCM=QNS4IOTY)>STZ_G9[W>P*RW&JUG*GD* M&XU>CZS,ZL=_,S=.1P;]%@. 1C.:*RX<].O6]G817_M'YFYK>R^PC*[KR@%1 MH M_XRM4)@;<&;/Q+/3:GN9IE?=?JW]C>8O#GYZ0^+)5 M).9BV4(>H<]3,=:\D"4(8D[F?3U8$$.M?DA,POU8Y/<"PBQG*\]1+/:MR*13 M%)D412;/+#+9%QZ8#O8>MJJL/:AWZO!/S3('C)NUP="VK :K66UN=UZN<0NQ MS472S)JLBP5Z#UGK9__YI7? MV[&^SB+TW*XU*K=5ZCWC7J;8J9K-B-BIFO=5\#\9]S2Q'WZ,U>!\>U7VZ MV. 2_074[X.\8#8U=:%A[1%7*8O"ZI#]-45.=<"P;SSZV,0SRKG^VF?0Z(;) ML$HAV8(,WS@9FF:G9E8;E7:E4NO4*I(,Q]%D:V1X/'/9?9@EN/TDLCK(NEI! M9 6125EWU&D?P8>66263[CN2F;L).B.O-Q!4..46/, S+$W48<^J<,RP?14Y M R837Z;'EHR?*N6*B2YUXXZY,3>F7%Y;$BYV_@IHM'I0+VCT-=)H^$1)V&BT M:ZU*%>FU 0JIY7WWCG"N@UFMF?Q[O5H?MMJV.=R4<#SEH14X4Z5]RJ:MV%!* M*^[[2CVL^K()O%E59'GVW:)<=Z-K17M)EV:%A.?_%I3Y"BES/Z6G$G5$:M=X M36AT;P,NFUV#V+R=$XDE8VX,5LDX97>.;?P"GT174+S!['3:QM4).N+EO ;C MWSY5ZMX$<;BG@A5#*P>-@H!?)0$_4[36*F:U4VLKT0J?F[7*=_[=K-@;LSGA MM16AWJ*'!R@7:PFQ6?G^.W6 Y&H'S8+D7B7)/8OBS$ZE4FVW6^]M/C+K;*M^ M'5"L6Z^7\.H'K8+P7B7A/5O65:J=>BN1=54T(X6LJV^5#D';;!EGGQ??:)FM=J=I8GS#K%0W18#*=$P%GJ"W2^'62:U' M=,(N%9![2X3-@@@+(EQ&A+5-$^&%[Z$(C",_F+TM.FP== HZ+.A0T2$(P$:S M4F]M6!CF:J.IXMH;8+0BT(=1FA;LQ%NI0FOWI.]#8) MLW-@5HHL@8(P%6%6:_5:IU5];]<:+;/9W(Y5*2@,N];=,1<),H<^B11SB?15 MT:=9.3#-0G2^2@I]O@.V;=9J6K"QIARP&Y.DN>/5B0S3">W'OA>'K\?Q:A9I M.Z^5$'\D;:?2J6PX;4>$.$@0)B*Q9(@698QR7?_%O)@%,\,L40I.R1CRZ!X[ MIF2S>,0 QVPBS_Z29_7 K!;T6=!G6OEAFF:K4]NP,^AQZOS"@#*K)=1@'R9- M6( ?C6?&%^MSP*+Q_I)F[< LRD4*RDR-S$J[WFXTW]O59KW:J D";6R*0F_& M3F#GFXXG ;>=2$Y#IK3TV2(5?^+#@,1KM8Y$C*0L MALP:QR&/HI"48)=37CN^ %7B6WJL:O&BFI R73#T@\"_YT')^.S?+5Z13='M,VSA=I+6 MB):,+W[ A MY'OV(F]+=#"S0KRM5?"V@K>MQ-N:!V:SX&T%;U.V:+W6J5;JE?=VJUTS&^9F M$Q+..>:FIX'-!YQ!OSON! XI MKN>; MI,*2<7Y^HEAB-[Z-00VLMH@A@LJ' M4=)IX$\Y\A[7MX0+*C)J9KN-9 ]O#4/C=S8K&<>QXR(*&*99TMY4,B['CK^_ MM-XZ,(OBE8+8,U5CM7:CGK9 P- I43ROUVKMC=61/>0D_L)@+QBZP?4][!\> MPR)04?G& XU&R_M%I.T#LUT(Y()&-1KMU&LZC79J%:)1TVS4>&NC6;U$HA=^ M&>E1BMEIX+B&V23Z;)#9L1TI7JLU5Y;BO^PO>^@$A7(G+F0?5HI%WP>4R7*Y5:U33CA=;2+A.50C!L' B M!*5<+\\QJQ'? ^XWG-%-RBS)X1YYZ6:O(FF[6BV(N2#F%8EY8SFBFR!FS3?X M.BBY=E#D)!2$O%+/Q0T6+,8X[7W!]OA7[''#%#2[XVE7R_F!&OFX9Z/]&I5B MM!\O1OOEX>HCH_TT #7+ K'4-BA/ MTKF?#,_);'T,06?C('2XS$\Z&3M\I/5PN1S!_:##3>,@C#&) M";1,-92I5DFF,O59,&0>#X\NO[M\AK.9\)=JI5+=6V*L%L3X%HAQ8Z["E8BQ MSSW'#XQ_ \VEA%F25/DI<> IJB1'?\!9& =OD$:KA6[CC7;3[K :N+>1=\H:&/3D.]YKN-QXS_'U^=&#R>D>,#U M3WTKQIR*_S6.C!M@P\D/MOP!_H!7>CZH=],I9X'AB$(N!X-80%NHY&&TT!@Y M+C>&W&)Q"+]&H7A1Q&Y!! 3-^& M6-BZIVAU>O:I0*O=0*N44YWRD>,Y^?BU7^AUWCTNT&LWT.N<#;F[]_SJZNRZ M0*C=0"AT#0$"O08Y6"]P:N,X=>+#&C MHR :BVAXNK 93#R.%$KR1(0ZGK@;_\;L8@8WVVBEG@FG3V@ -Q&5,KMT5IF2 M@A]>&&99(]14OK99-CMS"\4W:XG@SWY3.86!JG/0ODGRN>7G-)U;RR;'U?%) M3L9Y-N5[E2H%]41$Y(7'8;)_I=R$5XD'5QOE2E*=X/D>3T!DL#CRC8I126L2 MQ+^;.ID7*3; _YKM13S-GEYC^>DA /'G%1'["<4!/[;#',2CLX:/M(8CE\W\ M./HP=.Y]3W/DEGNP%*',R/@(QYP= ^*//LQ-[CBLNC_$]Z]W%!3()-W MB4]3E1=Y%P]JM=I1LU9M50\-^('ZR/2/ZO)I,55O47A(5(%A)K ,#9F=6BUU M@2^PU (7?PP7JWN&BZOB(:!1@(@7<'A6E.!<^^C7DKP5OE(#HSIB*DV!9B^& M9K4]0[-UL;RZ:;9,G>69!(H6 6*O1B*-?<,Q;K3*?=L MY[O1?4R<3@/_^TR3HWD)96;]@!V6A%?I(J9V=Y6C:JV-_6-37*26M1W14;I MQ1=#Q=:>H>*:Y.D7:EC>+#C="Z-7^]6AUQ.%J9CU4VD5./9B.-9YLSAVX=^) M=K%RHE1A%KR@W[?R9M%,LK*VF!Q;X-C+X=B^!1?6AV/8+[)>J&,OC6"O+&+P M1 13$^P+#'LY#-NW8,&J@8*'S,J'71GI[/5"@KXX^KVM^,##B"><'#4Q;+9 MNI=#NE<6,GA:'#X=:]Q\%-/VK2VO6;3EY45;WCQ;@@L86.5 LM>&LM> M7Q#L"7%\87F ;EH@V(NEFK^^\-=3$$R$)@K/W0LBV-N.?34>1;"7+HQ<6G"V MO, L=8!\^-L(_E.I_$C-6>+Z6,#.=2#86N'W V^^SFW=GE;B_G"/'8K@T_@+\G4^Z%+/*#F3%U 0O@2Q8$S!,7S]>+/XW+O9J3W*FC[,?#B4,% MV-SE5A3X'D(2N N.U4'VL^S0UK/"K#NQK5RICH?]*#\AX/ R-:[H?;S@'8HR!> \_& ?.X=__9C8K M']%;&?JN(T;V'3.7^L#UQYR#(&)1.D!H'JKX5SY _@>E_X#B'V2?V M5>8V#7-!"3C!/8ABIQEG06B(28 ++U+/Q/>)T>7P=+7L!]YQ28/^4&@&?(S0 MN.,__-Z[!W=U,D8N%^(Q]"/?^C;V71P\):,>QME?,4XR?.[+'WDW"\?&)\"( M\+DOP+\.[N#<+OP(-@%HEWE=VA V?7%YMVBE/D\K\)=0G!YK09'7G["7TY_P M<&L[_E&-*I?+,<.Q__EN8#?:O%8WFP,;%-%!?6C:@[;9, ?M:@=^,MM-LUE_ M)^(7XHX>G+_91(W3K/S:CR?P]MD 1\153'G=2^B4P\PSI5(]!!I#E1I6!-9Z M.36U#+FN?[P?ODR3A5Q!I*]JAV71@DB]\#V^&=Q^070NEKZ_2W\"7:W::&?/ M4@*J14I D1+PS)2 %T;734H[J9.P>LVJC5AS8(%R.J@W6Z-!!W42-F+FB%MM M5ADU,SI)O_?YHGOS]?JL/Z@UVIU&>ZV:R&.@>4@W259&JLB#5VY,6=DMYJ_+ MK6J]W%A8^D- N](J@5%O#SC864%J&:4S*= 593:, _LPF3N1=MDX^VZ1^::U MVZB7Y /5Y%%C#/:&';LS@QJ=VQEC UX_Y$8(*"*KWX7)FS[J+:#V\>S#"DL4$,@BI)1J$CCF]+M!GE%#66$OS#P?43_?A^^-F]Z7 MRYM?_C#^53:^G'R^[M[\4N#AKN+A+K!8B='XDHVB\P^;4_!D,(MGA.C6YX!% MXT1A+I"]0/:MZ!,_@L\KC5#-0?%-I>^\'D_ BA9_:M*CN3_DW%-6_9"[_KVR MYM, _!2L>M\+T>B7!K]\F>8YP+.5@46+@;4@EH#?^N);C+)BZ-C&J9UOV0OP M#!-?O57K!X_?C_-P13IE-8K%%\VG&F9TP%JM7*LM8R*)&[]5-COBQ9H?5UL1 M!J%'@#$*B.HSF8P?A*_^'L#VJ(M<2^5)+F5#$.!Q--]$?R.Q&7'A$WBWUF'_ M?33^L8-*67VU7'_0B_'"I[)X%"K!ZJT=2=9^JE/8IZ"='3PHG78*TMF%$\F0 MCMDJMY;JK@7I_/!!I8;BMA2%3?B&'M"8Z4Z;6[[H4C^76##_*V;#?: 0%OZU M\+.(@I,; ?.)V(1K-LO&A/R6 N')8;Q86'R[4OGU(NJ-$[DOA*D%HFY>!KY> M1,6(8A9/7X'\PFRNA?EHST?JS*.R&/P416$OQ552+@.,9]%M]C(^V+T627L- MNLW)F==)HML5,KL+TT*F["C"%C*ED"F%3-EI$BUDRH9ERO.2LO8 ^,LSN@J) M4DB4_0%=(5$*B;*S$B5%SJPX>4I&Y,Z ?9@/\Z>F3^Z92-D#%KBZ]'@AL*R4 M7F@<7 6.9SE3YB[^>/B&A0'!D00K !T7!QJ)+7[+%38O,^?'TW >=0[N& M"^L48JME+[]RQ7S%%.[-,,T=A\+.A9/7O+_=8&G/WF'!] JF5S"]@ND53&\E M&WL;=;0OXZ/]Y?)+MV^\*?O0/0.W@2F ME^(E7$KV1>>/3 MJ Z=J15&[H:XXC8B(CL)B((I[LD.7R/;7']TJV!\CP!A G>ZO&!\KY[Q90[Z MU?.^]65F[AI[3-U\5]V;Z]Y)KVM\[IZ??[TJ&%^A\16,[Y&#?O6,;^>5OM7] M>51F:KI0[.T#16V-MXO5_QF'DC&:/0N9DS)Q@@L,8 M16.Z8Y\%=L&P=I%AO2'776&#%C9HH8H5-N@;4,4*WK=]DB]X7\'[]FZ3DO>I M6Q6?J(JGOMW$N]/NOWNGQO'9IT_=HXNSS]>]B]Y.LL/^4;-@P6]Q]@!2% M:CO$7'<81(^KI1E8;3DC\,<:&V+_P3M8Z#$?C=C1!;\-',_9!S:5P"_X0L]Z1 3D%D]PQ)KG+("B8ZD[O ML*A\,_[5_<,XOKSYY??>R:\%FRO87,'FWB*;>TT6[K_8S#CVH_&]8WTK3-M= M96?I\Y/F:Y5RLS!?=YL%%>;K!IS5!0Q M]8U'4>&_VT'&6J2F[!U_>U'?7A[_V:736F SF[=N"J94F+@%$]OE'19LKF!S M!9LKV-R;9W.OWI/WK^[)K\:GL^O/7_N7%P6?*_A

?>(I][35ZS?S'KF_&) M![=QZ'N%SVQ7^5F1\[://*CPBQ4&XYXSGET&0<'$=GJ'K\!@7-T\-!;^H^"Q MN>K65 <]HF\^>+['/ZX5("IVATM\EM"8LZ@_=Z__,'[M7?Q1V-.%&"C$P-L4 M Z_)GO[,@IGQJ^/-=M::?L"47(V,*6^C\EHX6V%9[R,W>LBR?A^QH23.M>$?8=K8?O>7-J4!O>C@"[%;^0)52K_C6M= M[!DH]K FKX/MW.4\WX=GCES_7H%$?3ZZ#]CTPS#@[-O1/0#AX]0/G&@.T M"Y_ _V"3R;]KD@Q;.8M%C'LU\'Y4]A0 7S>"%_B]07 _*L0+@#\!X"^G=9AU M72U];/WK,KR3+=A..'793/B1=%_04Y?X##!4UK@A<58:_EDN9P'._AC/O:/V M4CBX5)^M+L*O49O'L__2%S]DUK?;P(\]&_5(/_B@S&)M5_*>S4*YRU:G7#>5N?TA,:T1#H9902EH:'\C/!: B4JJ!K)L>G^E7&O\ M]YRJJKY\A$EH9UTUR22;P$>YL[I9;C5>G%_0H=0TS&;&.."C?[[[VXUOY=*B M]+L&$^9FQBS)K][]?$/F@#\R3H1>'R:(RE9!UBRH\R#(#,?^Y[L!;UO5CL7- M@5VS1X-ZS:H-.G8;_JE6V[41:U1&3?.=>.MF;-*'O"97)\;)Y<7%V]WKWED_<:?LRVAX>1!FNU,SJSL#ZM[%Z=E_C)M+ M!'C_\KQWVKTY.S4^]2ZZ%R>][KG1OX$OOIQ=W.P?P-=E:>M^+A9'OOI"<"_Z MYAG&./QWG'('">"E,#Z1_==G5Y?7-Y>?D)5>G<$_%S?79Y][_9NSZ[/3JZ_'Y[V3 M0:=E5IZG(%SSJ1]$J"'T/)M/.07=C&M^ZX0 06X;5_'0=2RC:UF@ T:P:>.3 M$TPT-<(XN#KI7AX;O5/CPC?^X7Q'!?XBGL >+8.8W/?H&G=R&@<,]8>!"?]7 MK51K@QM_8%8'-?GIWS?-/QKW]>#N:W]X\Z5W-VB?WCJ_O3,\-D'K@#L?NK'M M1'Z "^C9[TC@7; @&/P>_CG\TSG]_:]OSNT?_I^?K-J?8=Q]]W.M_H_WF?7\ M?/A$[_H+T_V3W>N;B78JXAX[$3^"FRS$(;2Z\^A]XT&S58#VZ:CZO-20[=*Z MKB4==\]!23KK_W)V=M,?5*NM9N69- ZZ/QT.BX">CYG+/(L;_3'G46BP$&G_ ME%M\,N2!43,IR%$SF&?C']4%>Z$@G360SM:IXYD]$7>'.E+# 27CR>67LT&K MWJR8YAI(I!_!_TS06A9RT?(GW!CY 8VRG8%Y'!HH)^U%LJ%_JR5%/69!/:^2 M>AJOB7HN;WXYNP8"N@(R6COQ7 +)!,:)/YD&?,R]T+GC!4$5!#5/4,U])*C^ MS>7)K[]7??/?OO:N_ECT*FW:[7JVJGH9,R\6UBRX\$/OO5M#%8^#T+$ M!K/UT3C[*P8L>1Y!&05%O4J*:NTC12T342?=_B^?SB]_[P_,5JU96S]]L7!L M?'+]^_ I1%0(I==-0NU])*&+RYLS%$P:)271EI2D!IWGT="%'\$B(]_($-,G MQV.>Y3!7(ZN")EXE372VE/WZK-29'0E$[<@R]BPMY=.1N=&\E-KRM)1:(TU+ MP522(BUE7])2FNT.8S;K#&J-.J:E<&O0K@U; SX<-BU6ZPQ9M2ES)53^A-EN MMEN9[YX0@%M+T@6&T;.ED-76_'&8VG$\E'\AUFY*F=_'9^-2[_K*^9(Q.%F,!ZS7D,G.V<^.3_AV.6<"EG4N*-GYY[+/ IGB% MK)4A[1W3>7S/@R\ "TKH7BH;6UK\@V=Q.74\6*$!_X^;R=>:7A;N&@/^,PXC M9S1[ +%^Y\:8W7=25BQ-@EN5/@%)G& BV="5P*.-*H8@K+3D7/,DP'H:. M[;# @%RVH+ M'JG4ZMO0&G,[!M[H8OS=5@_%V/QW@T5&#W9HF WC !.,$+)WW)W!LT8\P& ] M:.8 0 +I*$&O%"[O#LOP*,./ \,7R"C F7>M 5 +,1=@Q)S !5C 4ICK&A.X M(,!+X>3O4G,>;$G)V0U_1M#A5V&M@$_'2W@D/(P U,-M0@56F@:C#U-)!+L&2"7%9 MDCT?9&!Q*--##DLZ,OP/G@W@D0?X@BDB@>\:F-ZOH5% B2GX@B6(4P*6$\)[ M -.LP"&D-'B(]H@#/(A.YA].CE[B1 R"W,3U0I.Y J(_*L?#?SA-A"F;< F M_-X/OAD'U8I9._S'>^=GPPG#&#G>3&T)\";BI,_TI\B1 H)+<,L\Y_\DYDHP MWH &:H/B*>X*0Z031&HD2;%C0S"S3,EAR>#?D1QQNZ!KQ=Y?,>QAY.#NLT+E M&? MZ^FCO[C?JI5FK=.IKU.;>:[$/&:A(RA-)[STK/-745"#8A+1-]AV0"B MQ]4Q8RKH5^-K(R>8P!*21*^$]D4Z%V(EWAJ@+)2R98@"-,T2HSND&,"?=6Z_ MA*]\+??+QHC;R$:-D%LQ4"ZJ 2Z[3X4@FTYAK60B!+$KI2.L-':SQ-1/[\ULB,G\QZ@0KMV$+*3H]G=>9+JS=NQGZH_RJ/!BX!S> >Y!QH M8+1C$'@HS00P\55X.OXP8O!"8$"A[Q%P&?"Q@%[-AGX,CQAS"M4DF?8,2=L#@*@7OC_40 +$6B?;-YR8Y3(@:$'=4*J,3%?_\A MUZE=9X)FA%3I [1H@3M3VA1: A- M8@^^)VN-@_*,$H>IG\$<"TDL!+Y@',!; SBL(ZD]BV<]<*B2#0%V9-[D!_,B M)/.S%!OBZ5:B2@F^#<\[, ^EJ218@D#F$!^K4PI=B^PIX0_RP?E\#)Y^4#T$ MDKGSW3O)DTF..:3=@QP!Z\J[)2(&<_5/86F5\*UH3[I@C/T9V[<2F0GFR:8D M[N<>0FC8/JP6;#Z@680Z2@"0EJ@1:HBM)'X^/XO8-^XA%3)@;;[+!0N[%Y(> M'EU"PM76(XDT'RL($4J2Z$C;!K$\9:C]SJ\F_P%(DI[.:!;/QH=U.L MG4@= MY1HI-X\\4M_PA[^-Z#]/*%FZ!J;D@:A0UL U&M>X"0Q^&=6'$.M%";^YRL8> M-'ARF1485B&<[#0B]=IY8<:E=W2KY^M1C^VQ"T3T_]G[TN;$E63M[_=7$#US MWSL3 3W:EYZ9$R&$V$& $-L7A9"$$-I "]NO?TL"NVV+WHTM<$U,^+AQ(E5E M968]N51E.N3YR,3C4Y\ZB2=8G S^ 3_' %@\ UU/J-*XQ6F[ M!L,_ X%T*&H:3TN^%QCSP^,[K3!];:"?G "U '@8AN>-\US4 +9R+WK\YLEE M>?+MQ"%,(E)&=)K88^0FP>. 0XG).^$MP ?= ,(#@ [X[N+[@W_V\NQ,GK]K MJ89?'WW> \!WSI&7Y+N'1W_K&7^^6K E0%:[A 9\E&#ND[WWO1* )P U @3M M+Z)G!,6O^\VS%SP.^>O#@56+]=+)U\H\)WV,JR:NMY?BZH<_)'.TOD[LM$E8 M3WPVS0A2=+Y03V'M,$&7">"Z(!UGV3RQV?1]/5U?H();2P.K-#< 3#*>3.3; M\EO\EO0!S@*=L]+0XME'=4X5FXO865B.\["I@ FF+ 4/?L!M#Z-Z,JB3SH'= M%K#3#PXIA$[0O0]T,WKJ>CX1BZ_AP&0O"8P3R[RO(9XSH-5.XWKQQNMM,-3O M6:T:P ^IZ"=!A/,BIW#_Y)0D\P18)'93W^H)&\+G >_3UFLL%DFD*.'&5R#^ M%:K_7_@5G21$#V+WQ 4 .I.$[>+P+.//)?-5'_>::L=@ MJAVFVG\SU9Y/K%L'[FVZJ5W$O&-@PCA=/X?4SY@DI7A="/RK]BA=?^IQ^9,0 MSU>#?;+]3T).#YO"\]#K_X4O<>A/V/3'X%'JVO@.< J3XK*4$Y=5Y'R'YTEZ M?N$NA#]3DJ]702=O+#GJP8^C+PMK;^B7F/U$=B_P_<$(G6;RO+SS_,WT[NA_ M/?W#GXC#RZK'9,!IZ>.WJO[2][^\;>&K?/R_O[$4S?[[96GAM[_P*G,S-M+PYUFN &PY!5*\)*R;Q$@>D&R:F_H*8![S\#^-5M(,\#F*FR)O'V!$ M\XRS4]D^(=8D@)N^+ 66SQ[S$-HZ =R3FW-8&V?G(8US+!:%!Q]"-QPPD>#P M^=&<9FHBH5) I?B&4IQANZ$_1^U/8_%/P_8^V-,>LER/3O@S^_\SBA+F0E:? M[/!0>G]68M]'2D,C*3%*W;I03:+>+WW3L_-WKL7*P(JGJ;67T.()COGR;;'\ MP-"#)+XOI[P?!Q;@-IC&M2VJGU];*J9)[7,J,ZFM.6$*()^%$# ( '=U^*3 MN7S$"2>Y3F-,7[&!JX;1,TQ<_"K1:_"DI9I AV35SN%"_Y14?GS\.0N?A /5 MX#%3]EP9OMK]Y&_ + /Y?Z \QPJ?QO+R9+ _I"+\0/C?0>"YM";B+$#)YOY8 M)? -^_M?JG">8&,KN(1* *7C@W\_!'$!51RF M4OU83E!\&&,&<5_R5($& Z4,TPWFJWZJ7X.=F=K21W\A\_P'I7J)ZHL7(?W3 M+Z?!V>SC+L&L[ZCI3VQ@KWN%[Z4"AE^)'T;S!]6-=\,&3 MR\?L>+S'.V:O++A.Q$U7K+-MJ-P/AEPQ'#^I="C\/P"L_ET8^K$&Q+G=[CUR M]?F]95?D\A,FOP'SVO[)I#QA8+ML4O%T,=O84LD+>.F U5='\P<,+/O VH$- MO*.& (TN@<6)GH0VK\&\)V5"%P2TDVD1\LHO?%+!G<"#!/*$+\)^#\F6T$HB M("C+O-) /NCYP[>]%QLF1>XI*7(NIU^@**HCR8%#0U450M<7BDH@N(*R\SF% M4A1%S(W *\I)RH[;-64A+F!T/!%HJ4Y+CVJ9"9"G7(KK8H[-.://+ MZJQ:QLS!;F8J9):27=MQ0QLSTK5/;M K5VMXWCPI!=\]#MS667 MH"0.4%(O*<5V<]9I6(AM\X=>A];T\@I%^@J=?:8H5PZMV=QNRU*KI&T/ZPT: MUDV%R5+.N@@CSF1/EC'>FW0JHFXO9WV%S5(V&<7:-L+Z'AE7U,,>Z7'K_M$$ ME)EQUAC"T$/&Z-P<6$/-&)% EI#L0V.3VB@-_U"RL6ISRNN>,@MQ0(IF M25>=N"$I"BG;XMPSPXY)C$6SGR#X#&FI/I94?*)-$5'B.;HQ;=0C;*>@%^1) M"K>\*DZ1@ZWN^I&V:-8ZO188P 6!6I;0R#3C<&Y3_G'3;= !MD0Y!;T@426L M.ZNB[24FMUJ#3M3%<$%/IG5A^441'6V,D,4$<6GLJ-4$;45#\-0+JSHSRK09 M4)NJ;)AM?5"9SD;,H9^09@1UWM4[WK:\#@276M+&;+&L"UKZU(RD*NJBM:T% MTY%0BU'2$]!#&.S!6"\(RYX/366\T GDH+,K0^%[VZ,-GGI!6O16DU-Z\FXE MMV:=/MH8A(N9O@.>5I;T.%W/AF2M.D2HC1T+:S(H,6LN(\;A0 M&XNU0TEA)@VOGY!FIB7NUZ.:29*J7&MP]%3WIXTMD 'L@F3U*J7#>'4H[1%J MV-I&K(9'FS88P 7)VLA5C=U-=4N(C_/U8&EMV$$(!G!!LLJ'1I=J()-0KLV, M>G?*>HY&@ %<,E4C4E>\7:\ME]IVQT.U_4QB306[(%F+K31'](Z]0L:B5ZX; MJVW8=P'I!AUQ*E#:& %R3+1)=#DVEN+'LS4W5BU@FD MB06>>D$&1D%@L?5*?V:/&PBEZ#&Z=UWPU LRL.G5L/%TVBP)ZAJMCGJ]T;3N M<@I^00;\$5T.J\ZQ:XLZQ1QTSYP>@!'$+ZP6-YWO]Z1?TH7Q9+:DU8%JAFQ? MP2^L%M?FIXNA8WG"(8Z'YFQJZ=ITEY!F;)8TZ+2;:K#=R''57)_>*W7EUFQ/D@O9+FW7="L_(^1C_]V'7U_E MTJF?;Y!W\2ZJQ7,@(_\M]R./N?Z(/[ M:L*#I&T?[DUX,+B#_/D.\K3N7=,,X_E1YIP M.^Q@I.DIQ4HK["AO"]+TO1* M_C?>]Y>=WV344^EY$UZ=PKZ05S^_C]\:K]Y(Y4C(F>_$(2%KO@EM[IDU-^DW M\Z?[2PO)B;DH_'(#GO -HY3\<^6=( EDS-O'$6YFW_ANTO6CL.%'&K M1TAN 3.\ XKZ)@-0[(0CDEY#CXV@DILNMZIS.C,&0R'W'@KY 5_^?L>A"_SE M9 OG\^'5X'P%=>Q9I]/A2<3-KN2\MF^!+NJ%9@%_A?S^5\$^%](JW MZ+^?K'WTQ8M=W8_.?W\X;1Z')5-5UU\2Q>4\/?F/\%5KN8A7@R#I7S=2G=CX M5 C!4H%OX9\>*L0K*S.TJ[)2L_E9O1P-USKVY]K.VQX=[U1T@ MFU&W5SWLQWX72;2? MJ/84461ZZA_3"(E+,@TAG]24L_B$K)-4#I_?5AY+XF M],OUXMYM,"EW^ULN0D4WC_=251T"36U\5=0+!EX_$!,;4Z*ZO>%YCI[@H;\< M)4?&$WA'8D4,QZX'[W*M\/<3]W6WTBGMHRA88F@%0 M\#SI%^<9$0Q>W7_PZE<9=:&H%H:T<@5Q'K1Y\*C,72,Z)[HO0)V%6*T/A1$M M"X=)=R,LE';#]'8*G4 ="J&*# XC61\CDO6.I@#&MZX2W_I%4]!QE*E8;Z@C M@6*4E5OGO+6L)J: J8 18H8 \-:'RBLU3CW8DSO[WY%.)CK9;W;@-8[ [T/ M9LI?'=4]*.,!6/ +IKLA=XF:51-<026J?:)/+[%5-;F/, E88401I5D8L+KQ M@-4[X[,/IL&O#L9^H,'5NL-94J>V16J,N,(=37'Q PHO7#1.F_^NP7-@MM0OB! MH%5;R($>VRUC$=BE5G*I-(![1!$G&!BR@R&[7'#F=F)[KYWGS-^F MZ@7&6K7T@K%?&UYX[I5[:M&HG0\"JNE!0!CI@I&NWX=%[W>[RX? 2&*GQ3KHT46N6)2,V\2_Y'C M:DSZFJ$?J+ W]D^*/C*FR,UOY&:,U7M;&/.&5!YI+. M9PGB*R($4Z3P*V9%\[?D><&!-\ 96-N6=S3X(_7',"S6K')W+1A'U:)+FA;CZB,*:KEGO]M,>M0#4D521(J^8 M^LR;*,,PWC6PV@?3Z"N$Z7Y)H]7%PJDMMLQ:B/WUD*9VS<'*,)/Q 9Q&LD64 M1F%\[@/$YTYO&21<*OF+4AP:,#H'HW.YV?E@&.]* % $FX4: ;:U#34T4OT7 M%W)HI/[]I7S.JDJ.#*?7M:5!77-4:SN>'X!?CS_4OETEG0-#>CPP.B:UIS MYY6O$+DU4 UC>;#2[G;!VE?<.HS#Y3(.EY[>@0=NWP($YOM@VM418;ZG?_/P\,DQO*[O:=^L MR XYVAH+^-Q!-F%_>&RVUXJ(< IZZJI0I-$K7C2<-Q%_+_"7;U6X.A+,]_1O M'A;^K"7 P\D(VP_D'M+RCIU6W3U::\1,+ &5'LTB21@C_ QPF='3 M .%S*XD#*ZG[,7#UWLQ,_H!Q5VVH^NZ3S]D><:5CNY<.[)64_G 833:RN)MC M/"L-B+ZV4U#Z! ]1ABGBS%5JP6'(\)=#AN^N)F]B([X1/7SWR>?,1ESI;.\% M&^%J78UT#HTQLCF8E?YVP&0.#>#DNSLN!?.2BK"^/C+F!F-;V@V"GMYSOL2FT+36=NF6$7V L[/UC8?EGU#N!%,@K&%GZ$,5H.9"BO):Q MY9%7MQFG>0<,]'Y9OQ=-Y]?JX34[6^5_G>\QV/)F*;L/%EJ_6G?XWDGKOGU_ MYJB]<,OMS3*46_K::2X"6V5''!A3DH[#*/Q:#0EAJ.<-0SUOED7[8&I[M4[N M/U1;M472>P=S=-O@''F]V,W71WV7J&W21Q3'BA1^Q2+[NU';VX\K?85906SH M"[].(F ?8'B2G!\Y8WCM$$=^WX!\,8&(X:&?J3F/"W[7YGT^S5;(T] MVN.XPN-N!6V:)(!K:;<##"D2\%ZT#Q+@@H)9 MQ9_L#@\=$9]\=&&GB(V>6+%:8T P3 M'L.\70#YNZ8A\*END\.//<%H2S+"'$FWV4E-0]** 9@&!(8./T3H\%*KU"O@ MQEOS&SY2$/&]T6/N9GSS@/&GX@AT5VTIM56Y(UODO%6!A 5/2"Y6F^:Q0B=0\#A[==JP=;)]PTCGO0R$:J MD$-U_\2L7VZQ&':VK>4.MXZ((?!-HZLL^^&>4["THP)*%AD"WKQVZY5\L*/" M34.S7U?JJ3='*,G$;4%J11*V6;50C#43I4ZNP@".&GV5@@\8K,M9L.[TEJ_7 M[17\A^9H!2?IC@8#=S!PEZ_]$$;XWJ25ZL,.,C;\%6/@=XP]IXM7>-]U M ;).T4BQ\/?O(^Z*M;5T(\7;X5(-C%#I8IQYZ#?V,M*RVE2C:[HC\15@=Z-; M?0FN3P--Q]E3 S$ Z#\R])'JQ$;/"*1D.(^@&SF![JX:!,J^[_D"MYXM$6EP M["S%<:9GF%UO;ZM9DBBK%AV:U(N.=_J>_/B.7_(H7 M'Q36:E#8)N\H_JS;=6;,;+:O$[O:L2-0%:=>"^S%2CR:;^MY/6%9RI^0BZ.E M'P MT%]Z8BFKII7%G%+]^A:AD(-T: L;3U^9/Q**5YCYJX>K?G7FZV7'F>Z1 MJ(U@K557BH0Q7Q. D* (4D202PF/EX)RFGQ!?7S/&PC,]=G6",/X&RSSAHN> MHNW0CBV5EN,I:V!2:PN$!6.+&)6]4CJ]NNH.5.@['(E'+2DRI/Y.I@Z,*JBT MO\'*_90C*):]C:=@I8^Z"SD1XRA,Q@DVZHNL<0;,=,S[LH1(NR:ZK!Z;E'K@ MD@O(BSB55:][$98?L<7%]DXXX.N>3+';Y=#PN=U:ZI_80EY@B__U>04U*E0, MS7#G1E# T6(A6>>4;\G,B@7P]K4!OK8UG,,-I^QN(G9RSU%$>#P@;ZFX)U8F M1;^73@/(-&W)E%.6J07M+HBR:WM#4\'8]!9A]HHWP^5OO7.@"O L #P+\,9) MMY\P$H?CO$_N"+8LUPQJ=$ 4U&L.=HF12.X:9N\KZP:3;,_N%0;O3)94=0IK MU=)+EE?0U+45J:_66"+7I@TFV>"5('E$=E_5L@>TLN'Q)YU\8LLOW0I2G_5P M\S @$5YK#R2V,>'+,U/!TP9?*(X4&?HJUWW")&".DX#P6I!SLR;1'_D2OP3:!L8D6IY23<(-?# MVV$E/HSS71O1Y6_&-P_R'M18.&LQIVFQ&ZRYL/2FM 79@,I M5:2#2LW5N=+CDB$"D$=3 .2Q5P1Y^9."O."^&^ ,O,\W[^CPMRQ"SW*M6=": M'.V6NC:FYG'CE0:[9(@ '5(,541P>+_O1PKI?16:!0=5()?QP/?*[.;.$J1GRK#7@,,P3);/ M,-DP,-0P#@[@9;YF)V5RFA]&MUAE^3"3-$!\CA6GH[M82VB5 \UFY96 4/*N M,I%Q8M&3=I_^PHHL0?Y<;,JW>7U*AG6%?]P8I+]@N+Y5E\54 MU/5Z.Y,]I$33%%DE^4,CR?NEO=M(M(@S6=OU3QCKA9>IY)%SMWKKRIM;G+> M2M^R..AQ-T>:P8:UL=;4"B+6;HY*N\3B))= DT7V0BCY-2P.C"7G+9;\],Z_ M;U_% J/(\%IH>"WTC0:7GZKU29TO[ AKOXR'<]NKR<8BK+=QR^?GJ[Z"IZWF M& (ITM15LHLPB ROA(970K\-0/PI0[#1_4"M]TA#J"'M[;:';!> T8DAH)+" M(ZJ(TE=I) ZCZWF+KG_C.N@T'GI]J'AK3D)^XZ(X,*2Z'\\=X\TLZ0\8]_>W MBVR^P^1SMHU<\V9HSM-_:E.9]7:NA(8:);3(GED:RBP;63L%3YO5H46488HX M;%B7RQCGO5J/GXI20NMQSF/W)<,HR"YT?@^9&?*%#JJJ;%N,!?4CW- J@Y3&XL=,&3PL_O-,JK M,/M?NK7]ZS_@Q\.#-<=0@T29EO]^_@X\&<59E1#D?Z^B'\]Y@&5Y4"T13X:= M_OR?IZ/_JMXE8.C\X,N#J7\RK>7I?E0LU7?3*,T#0[5+Z@*\^8OJ[-1#^.#( M@9WE(9+QY7&W2/A00)'/./F_A2>_)_S(,--5]Z4G+#N;EY)C+*(OYZ\]?):: MALQ14]6>$ M]3FK+W%037G_OI[]Z?($7NUV!'S;$;K'0Z/*?"URW4I#DLM2H-+A!0Y#^\Z_Y:YK. MZYOXTT* >4EBNU'AAD)%&H*?':$[E,0JF*/8$12:H! 4SMP"V*U M4=1L?M44R$&Q>;9:F_DI= M"[.=@F4IU6J;-1RYQPDNIS0&_=Z!,8]]0$F^I/3V2[FR)NI31)K/=@=V+8>* M;P)*YB5EMT(8&R,V*;O5'96'I7*C[ZJF MS^EY1DH'@UTZ1866QL2I:'K4PG MIS/*?KT24YGFY*^UY[-ZCL^PJ1'6?$ADXX(UH3P9AL)4&O,ZO-8:>06KHVC6.#IV. M:5,!XY)J8$>8O4O\P0RIXWC*8(X%-"(&1'.XL31%VZ>D&7EB^/YRIF+SCDF6EI"^\@##;\0CATCCV[!)9N M3:5/S4Q+JT85NQ^,,.$0AA:M;2;3;0,8G@M27:NP1^HH+1D[KO +D&R!BK=H;:;CB-4Q*US?#NU#"9!>$&VO M3#>"?8?FD0W>D%JKE7 0; GSC\9YJLAQ,%#P,[OQ ];5\_EPFB MB,\4];U$V!,H^^3Y/GCFPO%W#[OAP[]+NT!=?SFY*SO IQ^Z"6>O G8==YFLAGXKLE2W AWF@AT,_(=U/#<"'> M:"%^=,0/+L2;:01%P(7(Q4) TY2+A8"F*2<+ 4U3;A8"FJ9<+ 0T33E9".C0 MO>Y"_&*-ZP\C&V\WZ^N6:/Z"R+U7VN+JA?^O:B,>L7LZ%YT]9<6FVT"C.+KSJ-S8[RHW"F9V MT[J=E$N_DO+^R ]Z][F>)"#[,S-_*!>)7&!0+J!<7) +%&[VO[K9O^,IM_29 M72,JA*IC_'8_A2GLY]7.W01R4. MU.0Y"JJ9 MQ-B*EGP<@H4Q F&O.7'"7BX,#?!__?*5MU7&:?75[@RW*9.OED-=C6;83DEO MS<**#(D4*>+U^N5DMO!\"0C4>:CS?Z;SV#.=QQ3,V4KVCBJ3MNI+*ZW=%)%X MOWMGG>\Q$F\M97DIJ%-OQ%#SX8ZWDQ)6ZM-?>!'%B"++OMY),*CS4.?O6N?1 M9SJ/*K,^-:YBBU(@;_#C"*_ON)5+F^^L\_7.;,M.RUI',- JMY]O(C;L)B7F M;+K/LUB19%_O2I([QO8W$)KE_3!*3G.]KGMVH^OUIS8ZK]H=< M>8(H.R4.^AWD.]S[L/]TMZ+RR%;I=O.[(ME2:4LRQY3<5.SOBFKAJ! M,44$O4IXYJ9Q_@UFT1ZO6#G?$ED+_# LK -_844%Z'K?0;CM;:UYKN9W7PY; MJIJ]5#,O66S)K/<6G'6415,ZJC5ALK(:ID*>6L^@11J'X72HWU"_\^N8?5^_ M"M?Z0_V&^IV'^=V7 _9]_6[4 M8W59EVNH;6TK_+B[)-UXUP?Z#3PN@B**)'V5.,N]X?,;2(U)AN. -Q0+IN$9 M@>JD]_"KNFMY5A@%Z8&S@K%?&UX(,V=7.S1[@[;YXQCB*SM29P6LG=2/\W3N MF?())]V[8*/U>"N9.:5&%^HNS%B @T&?A).,46$PF!>ZO;S4N"9 P-(0ZQ%<0#> MDSI)?K0T@H*V!%3PS->;!+=RG)U_%T;=7E/T>W'>-&_O?7EF$L"F(28&@3_9 M@PM[1;-RC%O+JMI"#+Y''16L+K9;R;W>:=4BQ<"(.30J.6#4/1B5M' MGGG2N;8?7O("E)&P$8G*="6KY7VIH:WGQH'D%"9M68S@193$8HC"7JRG[ZBZ6*)'J5(-M-8^';3,>DL=:"E 9$?15/WRLY_K5QSF>_YWY4HEZ=WW/?V[UOYV(5Z6-<=!M@19$5,5[L\"9 M;Y: M"OLH4,%.:7EJ<&A$AAL"2YY,(?#30NY&TH3"""^=;+6L3@UW*-FQ2YJN3)3H M6!X-=PJ*I DX%"^BZ!5O=X=Z#_7^9O3^RB[;V^K]<.:QNM=JCFS,&5N6-F^A M&YM+]#[-Y*%%"H>'K:#>0[V_NN?UMGK?YBJE[7+3B&QWXFF,.YL$DSC=[\\I M00R>T+J/E.!)7K[;;*R0]!D#GEQRI6#"$-^#?CH,ZGWDH%ZB%/^X!_\1[!/G MV%W9\(S+MQK--9]2"3T^R&./.^Q=>E>B5+ 7H.D1++;($-FH_S]AV!]:"&@A M[L#3_!D+X5.BL6K0[E)6U_N "S2R[.[-Q$(DG<"P(G'AGFEH(:"%@!;B'GS2 MG[$0HB2L:T;7T 7)U(3U@ITUUK440R27T5-%ZDH6XMZ\C%O+!B;=G4_EIA\] M.O"J_41P8,AT/YX[QIM9LF=<>,6.C^\]K_P$$*_L\ %5_.XA@)#W#AC-=V:" M<<1LPZO.-_W*+AW0I[\8O(C15ZP&A4H-E?HNE?K*/MJ/E%H<&,LFN8T(>=R5 M=J7MIE-K=;AD0, S8]@B!CM_0:6&2ITOM^I'2MT>>EKO@'$3>>R@;)_Q2!F7 M4J4&SA3%%ED$MO6ZC^3@#D =@#KPSF#W7MAP@Z'JEV4_936TM _BQ>2I MP/..LHTYG.JK)2 KUM;2C33]F/J#H=+%.//0;^QEI&6UJ4;7=$?BZ]<+8;^0 MA'QP7GM&("5C3%7Z,1F)/"8CS46WQO;T08A(OA^L&@=4HW=]!263LB'\\W6N M#H6A06@7\C/5G-F%7R\YNH9=Z*VV2!DOS\N-JS6A=6ZL-0=*D]>1 0J#U0>J#Q0>3X@;+OW=,/DC=:+YN$L\7 W[S^KMS@G,VV]>)7>W8$:B*4Z\%]F(E'LUWO:MVG)HT M0^? ZJFFT8W=N1&(BY.C+,91F$P!G7&_(&07E@AONN::M*T#?=\E8K MC4P%9=.6)5018^"Q%&A&H!EY;S-RY=MQ_]2,!*AJ+MNM^M'&E*9,:V&I*DZX MQ(Q0)S-"7_'V7&A&H!F!9N2GS,B5[^/]4S."M!O[Y:Q#L'+,M)U1A+6)MMU/ MS,BI^0G*7O&^WOLQ(WG/Y,!#+W=9,ONVIC['L_TH7N99;S/F_8)EKZP8H;*I ME">(N \.37=)E!M3#@SV[&<2V,=HK_">P?D\JPPT$/?H/_Z"@>A/&X8QV*ZW MR%BA"6SF:0(R3PW$R8,D+O3.A08"&@AH(&[9,_P% Q&8"+663(Y'J,ZX(PWL M:;^Z,!,#V"2810\/P*/C/Q$ M0].VNRI0BL+"\E1/LU0'# -\X((OAY_?B6.GOSP82_+1G2]%_CK]YYNR],^U M0[>V?_T'_'CXGN88:I 8@^6_GT\53UYRWB01Y'^OHO+/N8\13R(DIRE62^23 M8:<__^?IZ+^&KDJ:[_C!EX MITF#[?%A=_SRN OB:;P&^8R3_UMX\GO"CPPS775?>L*RL\4L.<8B^G+^VL-G MJ;5[_- /K<1N?PD,!VQ.6R-Y^K/G/HH)$>AGFKS26KT(7>%? M5^8_:F$9)/OIWX:^=@G*I;^#+07LD\Z_GX*[\T>?_AHFYCFI7^:3[1GH^*.@ MJC\CK,]9?8F#:KJ%*ABC:8RJZHJ^8 R%6*@+!2S"0IFK%*DRN(XOJ&0&R5O? MQK[,OXEY/_W5XPN\V.T*_+ A=HN%1I?_7."ZE8(DEZ5&I<$-&H+TGW_-W\:H MO);Q.RT$F)0C+@@5 7NE)C)"3K)':$5UZ87]FGGNB<%8'O:/^^,*E_J"ZPE5&8G"&( MEGX< M 9_O,MMZG,H%Y7Q!1$-7!RKLV!KN.Z0JBXIK#@,X4T:!*EJ/F<63!G M&5,? #;%2<&&Y#%>=O']@@X-:E[=FHEW\)+26NSI#36=QC:VX#HS6:+X9@5 M\2SES*C79@,1U^46IVP48S:KV(,=H"1?4L81WUJU/=U%XB4I,,Y %-550ID9 M)R/4 D.*F08RUE1[OG/Q*@<< 5Q!7E+:XR%3%3>N;U/H0"6H&>X-R3Z@S,ZH M@G3(8V?A(%AYL.ASM?VF-]X!RLPXM_U9S-1:3=ENN6YC.-:M&2(DS\R,$P^F MT^J&&A[LDFOLQX33VG1X3B&RXZ2#*=%:3IB&,)9WF= MN2A[MH25IPUM$".Q;RKI59'/*675B+=S&VTA)9T>ERMFTUQZ.R6]/.XY97]' MK<.%.W4%E1IIW6W'$B?;G4)EWRXHJDFP9<$2I+GEK^-%I\OK"66&G\Z*F RW MS(&1K4-8893)NE6:<8 RP\_9BAF,M^6P(V]FNCP>N^C!*B7/?.!GZKT\ IV3 MSPY CJ.N0^/+PR]/-2_!!6=,D.R.VFE7?8Y"GCAR9PB2&IKD525'/?AQ]$6- M(_\%F(B"AW&-/LGTVSD9^:[KN23'?[)\WWPS(7C[Q[4_N'?I<1)_7)" M<3O EA^BI[-M25_\0*K.@;L!//"KHJ;/"/F 9A]_O6RWTZ_^O+%[ H=_Q\M/ M\==#_(O X-+ I8%+\RM+0T.#EM>E03^SWSV' I<&&C2X--"@WE](4_=O43[$_!8+OY?GF1IJ$!8$3S?T0L70C*0\ MYU1OA:/%A\*K^>L(V/?M7@Z9%X.//P<<[7DCTC8EW MC:A@>9KO&J\&+O)TBO=G4-@;XJ[\K?]O]U7)A+CRM^SXR\G^["&.I*.**I"- M!=7<"8+D*T?&VQZ:VNLW0_NE$QQ 5QNIJK;],+QP/J-:"YLRVF $0=P-8JZ" MEDIR6I:%?_J+P8L8C;[:\8P,&,C?ZD.EATK_%DI_Y7.=/U)Z%77\KL-W#T+) M+]'EC87-&(P#2D\!I6>+&/IZI[JATD.EATK_%FGX6*JOFJI,F?XH MD+!ZY(A)L33[Z2^*+;+(ZUW2DW'=\K?ZKZ?T-QE2%J/EJ=O".C"6AA=:6^/L MTOUVUX7WS$;EVJSGF@^9T,6;,.9'!0X?EC%7CY)"S;EM 8&: S4':@[4G%>5 MF"MG5VX!C^?)]T:Q]#6R%QA@P$=#+YBJY84%X)*J6]5RTO..P"\LA<#% [!] M:X11>LU(L> 947(G0:3ND__\_1^W';Q.O13^J9-R\G"Y!RZ )R4\D PM#JS( M,L*ANN_Y03)$+HH":QZGAT.'?D\- (->>L5=-0@4I;+OZ*PY-N6XKP ^3BK+ M?F/WZ:\D\_W"'_[G+8=Z;F7K^N%MT&^:%_\MUOW9E6<_$SO+.4?N+8OVZX:( MTU?QR2IWC4A<_)I=&FI*;=)0*@(S.>Z0?S72ZX+0\NR06_PVC[E54%G6P$S*;,)5;IXCO45*AS/2!.9J,B,'@/ M;0&T!3=1&/AKMF"BJ!1.CX@20N$[2RZ59^7Z*KGD[PW*!*$M@+;@@]N"*]<+ M_IHM0$75S3CL UOP!M6#=V,+KM#8X0EO?F]@=S6,5VW: MD"?VW%SG PIV/H"=#RX*ZT]W/I@SC*8OJ(7"Z'-,(2@54QA$)11U3A(HAND8 MN= __963&_?ON/.!-!3Y5EUL5X2!)/3EQG"JL 2#XUANF'^YW4'2[8"O<]V: M(('U*#R=1AJSIO]=2*>3+LMW;]F!G1%>:1L[:S:K+5"$ DH]-["%0A@JJ\S5 M.:Z@!K-0549'Y_/Y6;@>;YQ'E]9T&K;M@S!&^]6-%\\"T4[Z'- O*0^K^B%8 M:24%L<08V1N\M3*K_4M]#D8L9Q#U]9H0**-6P9EZJ]EO))399S;YC1]4W:90 M(JV];C26PG:2]$Y ,]?M*RUW;):W[:802V*=F)%U 4.3AZ+X2U*BRNN"/AV) MB-M$9K/&<'W868N M%@.[T]\D[1.RTU^O&M%PH=26@F$HR@R?5Y9@^TY(,].W.+6-SD-:LUMCVEBQ M&F;S?G(,,3O]>DOS*BN$TP1U5.-+RM$[+)!6._6)4=XM:M6$,L-4)#E_65YU.2'>\&V5#GI+LIN\ M/:U'LN-*^M0,4W=:/YYN_)&)C()]4PF<84;BWP2;Y5&B*E97U!, V7(["$$LT,E%N9 MXXZX%QC;V$0-3Z^4F9Z1]-K(Q_68327UNK!_-2RT\MM)6Z!]F MZ$Q0P;2Q*A\)H9!$XK*SVNA[?55;]RE$J@$;B&\5_2 ECGIV5A[I=WMHHZ4C M,>8BC6:O[@_6R?NSLUI4W5)I5-5))*X=H^7 .:B]M#-(=E9,K[2MKRK#/M)J MT+,CTQ^WMU3R5"RSK,:4(/:26\<$HQDQWD$X"(/C3J&S#"C)\7@OAI1@QW5- MP<2:@\Q4#E!FGMF):$VI:#O?QG@.[XMDM[$1^X R(RKUZ<(]Z@@QD8U1S)37 M@]EA6S$!99:I"Y&:;"8R%\BEF5[V9JVM/@F2@6:9VAVZ+8\=NVV$]QK'YFPU M'7:K*6G6IC<9CMEZG8F]H<)H;$;2A#-3T@Q3L15&^MQ@) H\CFAASS$W)+93 MF"RGF)J_<(Y,9V-3LQFW,GK\NLV;@#+#*049!T8D!9PL5GNC::VR]/>3A#+# M*:I?ZDB6VAD(TIJ:#"UI[8IA'U!F[$2/B39RCY8)6UWJHW&WNM4;BX0RRRA* M7%3GX[*M(]2&Q19T#^&V;#*E"]9_0HVU<:77E<<';,X;6K4R'"4CS3)*4U&^ M/\&BJB#R\L&0*4P8@@&P648IS'HS65>]ED!Y6(<3N $I$QR@S#!*#\5:=X'@ MDE 3!PQE,83@5': ,L,H63#V:FL[Z0NU>2VH,)AP1+H)9891 %8UIF.#5&5L M-L1QNXVR5SK6-O1+M[ '[$I:PA M-:4UY!+2+*08QE5I6J-FMM'MK=K<:C5= $@!2#/;WT!V-JS>=X]"2Q_4AEQE M6#,K*6EV_YO4:V0T4Y E8M0VF[#L+=06TD]I,QO@L8$WS+%]1!!J856!S(X. MP_-S,\.-J<:0B*D-+_#T*CI6=MI4IE(F9+= UBK[E=F0&B+\LD:04I5:FN-T M#-D],#+*I9IDK$;">+-G<&9[Q((Z>"Z:9>YN5&$J: MD4,R*DW]RJ8LVC%&AU-F5%^J\WY"FM78[G1'2C/?%0Y=4NI4F1 _ A0"2+/& MC<0VJV7;P6B[-(NGDLH(?8,^T68A@V'4^;BJM9 QLJ^T8J/+M.)TM%EAW,EN M;+#8CI9K:KC9-MU0=WLGVHPTNJW1-+3TW4&@W%5+-[?1L('LDNAWAF%U-EJR MA^-10-1J(^CP<1DW.BGIA:F-K0:UMZ>NS*]'PX4E1A,AZJ>TF:EUY.71.?"# MKG# Q.,<=4UA =0,O83&MT%=PI8$.I>Q:G4E=5AK9)R?FU4T7297XVJD"P=. MZZV[<@F9ANEXLQNB[7'-.K=K]NV#/CXZ2-FMU ]@#!>ZI,UWBRH5E&:L?-"D MO:\XQVV-[2>DF:>R,Z696X9]8]Z#9E[R(8T*L<)5EDC M.T![ <)C8'F-!M%U9/>P(S@\[F&-44J:78;.@!@,A*DHN][$"FLHQHBK,Z5U"FC$@#7I8FP\:$UW82%&]'\2=6<4W$](L MO]@:@_KM:HNW76NY7XY*1&,4G&@S_%*![QUS@G 4>+,23624;Y0:)]H,OR2S M0[C*(8AD:=P3>]TA9WHS0'L!G2N"T&\TO#DKM_!@'BW[B_':34DS_-J7V7FU MM HB1%+<7=W>3Q8 SB2D&7ZQD3D=S"K2QL:TE4[-O879\5/2#+^0R@:K2]7Y MR!;)3M5VE [K[U+2++^P.@.VZV6>6U "<9BI:A* M#:_9&I>09D9;;O2X<<4)+,2(II:VKC1F-)4^-;-+\IM:%!]H>8"TFNQJVQWS MJD>:"6EVEVS2"]7;-@)&-CJ$,]/Z9C>0=REM9I=45UW!GQT'FG"81*ZT'CC- M!'JCE_R$66=6E4VW!?9_6UUUIGUT)T_3F65W2:V&.A8RZ*Z 3UEJ"7U&+-MB M.M[L+FDORX?:QJ_L;&RZ6\3S@$"-*:"]@/^ER09MC%8 IAT(.CCRK>G*0E+2 MC#!.YF.A%)@E&1'UD=(0K5Z[%G$):=8#")N*/;6ELBQ.FBQ*5 ?;V;:?D&:M M'3/M(M5AI4P+O(T%L3.S1KMJ^M@+VHOA-M4L80B"K<*#279JHU7O]-R,-.J] M5H,Q=G, ;>J-NVT][L1)N9FNRQ:CBW M:[8L6=-2H!,^WDZ4YQ)L+V^V0J TAJ',"R+9$MNKL<"<:#-3XZOCW6RG(KZ@ M\M75O!SS^]T^G5IVE]17VM"H;)"E;'!CCB3])4?T@>Q> /EH9<"W961310Q7 M&>!\([+;1C\AS3:_)'K=B*P;-02\>NE%Y6%=3&9V >8OZ:DX:9I)+&VZJYDLIZ09AIDQNB9)O5NVL4:MSU1Q=#;&S(0T MP[ F\(2V3'TH"E1C3)0G;&1$;/K4C %9#4*R:X9 W:4Z35\>9[;#DEVV4PV@N0?%:3 MW6A/F1UAK/>W *CU#"IAUP6<;1SP,=%I;A!;XN<8YQP[DJES"6EVM&5ES%]XUF2IJ1!%P;'JIAW>O+E$M8+8)KDOMHEY!F&";TM&DEG-%[6Q+& M36#2,6ZOIJ0925#K8MT*K)& E,+N'!&(E2%9*6F67WQOQ+5QL[='6L=ME>'# MCD$@Z6 OX*6>;\D>(9KRV,+#*C$OSPG@[V"7P+NZ&@'HS&JLC:D'75ILW&T9 M@$;L B#?MRG%'O<-1):",3[F.:O2H+F$-,,O8=#C)A6AHB.&@)=W_ 9I'8ST MJ=EX9C2+\$6/!FH^=8^3;;E4,?;I4S/\:G6P?=3V8DR(0XENTW)W(4Z. S]F%VC_]-P,OX1C MUXV%L O@G;F9^%W>;[%M\-P+>#SFR*C2#DHLTIK)"B[.JEU!Z2>D&7YA$P+# M>Z/&#MFH6$=8=GC-]-.G9OBU=Y=6R4<52[ BLS,Q6_,QANT2T@R_S&I[-$7T M\D(^#&B\-1MKG;W"):19W;5;6H=;C99[X+\8M%!ISB=4G#XVRZ]6U">-ZG&] M$6H4\))F;>*X[Y]H,_S2HW'#D4UZ)+3F.+,8=UO+SA[,[ (>]]LC:BP=)CKB M(CPVW'2KIMM/2;. K79PA74DCA"J5:M$[27!DDD&C,SB2VI/6;Z$E34$BYQ> M=<+&F#I/GYK%EVAM=*ANZJ6.8%3HAN7T26XV.M%FTQ!QIS%#2_Q(.-34ND), MUZ4#OTMILR9?$F;>*%ST@$=?;0@N/P+6GTMH'S'C:[63/N?!T\J.$O(90U$, M87#B1?24)]Q"BY-+I<&&K3<+@WR MF8&]V/.Y--"@Y79IH$'+[=)@GUFH-?E<&A3_3+)P;?*Y-M"BY75IR,\0H>5S M9:#2Y'9IH%^3VZ6A/B-P:?*Y--"@Y79IH$'+[=+ 0$UNEP;Y3, LYU67YA>; M'OVP_.P]^<" /V8N.;G>E8N_L/%>^_J76^'3C\JP()^@/+UF@1+DT\]5"T$^ M?52]TWPG^?"_G[!/O\DS^O-U;UUF?HMCW[N6C0,#3+"SP;%YBW4ZT=. M,.33SWFDD$]0[UXSJ0[Y]),9;L@HJ'BOF/N%;(+B!/'3-?#3]U.4D$]0[Z#> M0;_E_>3I^VFM',9,'OK7/HV7P-P1-,)_%',D?C?FB */%G_9^>M-6QZ_OH;Q MONOZWDG/I,C7;!B$T+79C)VUV)T9+(X#R\WZP!_],,7<&>X:!H89Q<#@#GZ4: M&"$4,1C>R"&?8'@C)^&-?/$)AD%NPEA?*R:6_?E*V]>I6/:N-OO;VM[?46+^ MW-<@/]/DG4D/ES8KA=+S!M*3QL3N2GAX=9WTP872\R;2@]Z;FRJH@0=&"/>N MMY"?^" MR!EBGS\(T?NO!YP_=.G37-5L,P"JJ'_YFZ89QF)Q;4[\8-YEU5$]S2B4"A5# M,]RY$11PM'B:,(9@R*M9B]S-_&%17RM*]^;S>R+C::>A%Q/&7TZX\!]K#T;N M50-52PX_%F+/B@;&XK^?9/"+(D6JIZN!KH0IT%!FLWV=V-6.'8&J./5:8"]6 MXM'\5$C[(>U/7^1"15PD_8AQ5$FD18G#DJFJZ^1AD>$"S1,VL14=$NCK>^"? M(;>WPD>J4\%36NK4265/"1OSF//<:&"K[%:2-PVO:DG]3P7=T"Q7=<+_?BKA MGPH+/W#5Z+^?K'WTQ8M=W8_.?_]4\%07L/7\@B]/7G""3XTPC T=6':PO( . M/.NAPQX6MD8#CV 0]W!TW-40[_9+?27M*(8Q19; __.OY^Q[O8WT;47G9>KD MDNS\2K+@#8_YY\Z&_/W53N;?C_F0I8JB"F1C035W@B#YRI'QMH>F=NC?ENU( M'[T$ , (PM-(+I@-SG:)G=7:ENP#4N$W$V%^& UV2MI=$&-8:#/>U6;@><0= MKV$S3G4(T&;\HLWX>NU#4C_;\,X9@;/]"!QG;>&!61(.Z]T4D21^+MB[Z]H/ M,;8.V_VN%PJMV9'*S M)$V(20HK(@QQ+];C)R3G>A[^Z?:,N[0"YPLO863.0V'84>XWE_'#R>TJ& MY7Z^A7_D+D+U4)N>VN.3RWDV^(9;)4H3D>/D\>*(57;+(ZE.?Q\M7GC1*6)U MP>Z[RV5;"$1'$8R.&:U+4BR%M*F<&LIC19K.QJK^>:-J T%COK:+T[T:=V1* MW@@UOID=N0@< =O 8RY8DBHBH"J_%GW]*8Y9\)C:DG83W\19)'%:6A* MH"F!_N%4$<>RFO]JR?^/H_BY.QGT$\J="E!IKH9&4@WCK@TO5%/!-_;) M[\;=%A"]_0![*="YE&G]W2W8]F;[Z<>X\ MX,U*'*3;MX(J*>!$E:'_%7ZBKYI"K>[$$C]CEZJ@"KW.<-8T]56=^VTHR^FK M.(R2,85#_QMO3J-D*5CAGV"5@0$F$8)EEXQ@:VE&#ZR,KP\,S3>]]"DCU8F- M"\"86>B1@>]U6[!TK6O(FY$J[OH*F21DB2*&7S$="VW/&U]* 6W/+>^G.<@( MWNOLKG\+/A3.:Z?[X.+!W?)^1/KJ][E#F88R#1'@VWN?LSXUKF*+4B!O\.,( MK^^XE4N;M^0Q]F>UP*_MR8E-.2//0YV=-J1-X#$FJ92KN8QO?L-:_K,FN-XR7/3U%587= M>E="!HB$-1HL$1,5;O3[H;OTT:?3EF#D8#U.]O14T_95,5(R;@=XT34B<5'U M@X5A1?'ENK>MKE8$5M!F"":/B7*EMY$J85^ADC.:#'8OEZWSF.Z?# M2U/:)O@N;(K9T$_T(3A:EACNXK>@"SD][P>5 2H# MA+1OH SPO-8-G-=*G8:T1/+T%9?ICR#0\O053'7DXOC4PTO[10W^H[L<)4/&=9*FJ?I"B ME_++:KQ+-W3C56S"2/VZ3.'"! W[ ED[F@J=)C>*-'7-FTJ@88&%N7"SO(W5 M@T>SH'#F=OG@T2RX6]Z92,.C65"F[T^FWQ\!OK]K>;VS6:_@#JZ$ZG%.3L>! MW>H-UY1+SU%WR %W,#EV=3U_$)Z[RO^YJXJUM:&,Y#)N1# M)3QA]A^>^+GQ$S]0&>#)$U@* Y4!UH5];&5X?P?R53IKC:=:WXTIW!!BK[]; M]FC<)(G?3TH^. ?AD[.GO!HN+[B8M3(:$-.]/41*@C+K8N2H3O9W"I/VU\*H M(H9EVVO=ZJ&J'*1L/M"$X3F2W$SYRKF>W,WWWI880J1;T 5XC@0J U0&Z"^\ M:<+I%Z"^(O8,?#I8Z;9K+FO="3[4_ D'H'Z23;HBU(?G:_)_OJ9K1 7+TWS7 M*-Q".4$N4D9^H!M!Z43\!5WO"Z'O6'KA;TCZO[O?]>]4>_\T691KJ;AZYBC7 MLXP:2*)8HLL0MUD6[$\)(URK2W7SR#E>OHWO8'F M('<$%Q>B(XB.GJ>0Q--T@KE,=L]?*K(NQX:)27\JBU5G,)_3::#1_WS ^><'I2L)3EX,+ M)I)LAT:+[K,EP1U/=IO>/UV7-R/R]X]TBNN5 M05+>C4?ZZ.08N!&$IY%4)% M&U+;Y2'J7]=Z;)M,L"X1QY&PJ=5=A770PWJ>NBUI'AS0#\.A?;J9\[?1M[N?[TP<\WBY*-0P,-8R#P^FP1NIUGBU^3UE3 #/:&K)A MY_.^3M;$KO;[%O_"BTY1JPN&?[FD0WT^6$F"M7"65*TK(/@^]3M1"CB>19K& M[^8@.(2-^=HOAH_6M%KTM6>UVW19I(^-:?5SJCBM8 M33IA2/;37P199/%K7F0/;_&[=0/Y:'@Z=Y,V2P_ ]V;8-=VZ!,PZYM>;I:_\U+4K%G):G8J^91 M=;>Z9S5,QFU1:6O[F3-4Q^+N-6[I'_K?>',:*)N_O*1_8(!)A )2/86IK1 M ROCZP-#\TTO?=TAB:=FK$F+9PLK EL>XM>(4%$VRLF21HJ]8 M#0:-#^SK\=[&YX8VU!QD!>]U=K"SVTTO'^SL!G?+.Q-IV-D-RO3]R70>$> ; MNY^8LY7L'54F;=675EJ[*2+Q_J9R2.3&-H\UO)DQ*X&OOW[ECA]].G8)1@Y6(^303T5MGU5C)2,VP%> M=(U(7%3]8&%847RY^ UL$'6L>5!E>RS;_Y^]-VU.G,?ZA]__/X6KYYZ[9JJ@ M;R]@H&>>KF(Q^PZ&D#!0UB;^T,86D^XC%M= M&%%=2Q;LU43P\G%CC&@0__:3(2CTZ0'+T GEK8W(\"_XYAA]MB\DI?@^R$-*R/R(,1!B(2OL!PD"*MNZ@: N'5:B5YDXFP%"1 M+X)RY37\:"YK*F6900!21OX$YQX25L(09WQ59W3+=Z*<;PYSD MBN)F)3$U :V*L)_Y.JGSNO^B'"0(I/2#(,$0:2 M&?:UA>'S+R,0GF8*A MY@HB$ZE)2;N!Y)2 M$99)W>7M8F&(&H5:7&X?0@KU\N_Z! U!\(AL+E&/B'IT&D,*]>J)3!"9("9# MR$R&*X>5?J?MC[E4?#,\<:5>GY2>A5&N M+'B&RYL V*.$D/YC9#QZ@=^6T+_JX )&5OF5Y+J:P.N5M="(RG.5FP&(D3RZ MSXE-11B6([>I?'[ +FP@\C]?J8[KREI2V,$#/QI5@@/;\6=R 3=:DK-IB5)& M$[/#;'E46\P$*S-&N!%'N$&N8 I!1/,102.D*7MA!XU?-QRLB)-M/ENV\C0[ M'J7-J)IU6^Q?7J[T.P"QE:?1)N,VAJ(<;[+.AC&ZL?D17^E:?J8ZF+YIN MM)79,J!*KQ!ZH$ NG^0C-)=X%/@(0W#W$6& %/^%9LFWCM^&?KUO+O'X."]5 MUP:RX]D;OUP#6YT!XO?;I;4%NC%7G)DM0S5+F7SY+_3%"R_RO587@#\=3U:4 M.E\JZHUBDA.>HQU1?TICX.=1N[%$XMQ?=:^EX$1M#-=Y$=+:R3_'D@_2&S\, M2"ZJCMIK]_3:QC VCEK=FL@;*[:SR"0+M.#KD*EO/V/Q2.J""DFPA& ),4&O M""7%85RQC'&]H_/TEDV,M[VV/+RQ]6@NFXE>;C0I"956-[X>NP[7$[ 2@1(# M$CP?81+QVV4&?!W)O\A@W(2/X? MN;F-W-Q&>)K2D-H[:6\Y3:FW:2>M9L*K3DYC9>Z2J- M^KO6*V_&CK+ARS[];0 7X%AZ!6E1!VYCE+?L$=!<[W+RF]1)E6*#C%(3^IWT M-+:N6ZV.-I:8)"K69)CSSLAW*F-WJ:R1>_C"L>!/5^GN XBP.O>'.!17.PW% MW4IMH2/S@V3/ZA]MB\DI?@^R$-*Z/R(,1!B(2OL!PO!%J[9V#YH ].X?3.Q[W'_+ M/15SX7 +M=+#<0R)+&.*/CROJ) ^) ME'81GOX:/$U*NT@() RU76U@P.FI7:LKK_M(4;$,M%5YR\;:2^9EIMZ%H 7P\)@0F]F(BODUG:B/V])3 H%/;@(S9QW,[A>X(,@"\G:):?E?>P>J=LB MS!G:[2-U6^2T?#"6)G5;A*:1 Y M#.&1+Q4<)9D"I#[HSNN#B#"0,A62-D.$@>20$6%X)&$(0:3A"RV8E$6$9LDW M#E&$?[VWN$WJNLD6K]\)PR\'I?Q*F[(BFQKQJM+4^\_"^#J72_GIH&D%SLR^ M>!UZGNNNW$:BQ-':/%^FJT]LH2BUX +Q]5(,FR(%I$13(J4GG^]^OP>TP?7L M.[#)6HY; ^[$N@0[3<8>/D6'-$MK&ET?+J:Y,A,;8]A)??L9C\1B/ $> CS$ M1/M\X+ERW.\/ 6/1S2?CFC#("@UN79G9RK,LK]((,%" [W: \45+H>ZJY@DU M5I%-Y3R\!_<+V)0PFQO6!@ *LQS5W 4#FX9LWD-&2!@B?&&SZ,-N[7UNM\4= MQ^-!.WY'['ZIMUFW*65+;5E.B 75M)9M>]/2S)7$,JC'(LN0ZT\^-EX:,G6# M%)T1GB9%9R%.#+RS[I^A:;OWZAEYX8@L%M3M*-J=5T3>?#92>0E4JLL6.B*3 MWWXR$3IY[B4EB$)2C1\&4>[HE Q!"/A15T>*S>YZ^TBQ&3DM'XRE2;$9X>G' MX^DP:H#W'7.ZEAWH%9+YY:@V7-(LPTF;QG95SO:Q'8B"4#:KQ"&>%/HXO"/EE1ZER<_J2@+QX*),(1"&$A%61@63(0A M!,) TA5#NN"0YTFW@2MK)E %V38AJ9P@#CE(1\?9]7A<$+,\O2ZF.M-R,??G M< O<(*VI<2PWS[F8S$&/IA M$J-#$*OY0@LFY7JA6?*-@SRA6^^C;3%1D>Y!%D):2D:$@0@#L1="8R]<.=3T M#E5?; Y:=5=/*2*_S->C,V'#Q-5.IKAR5^IPWG+"$?'=$56Y_UM):UG+:D,OP_G B. M1=Q,&R:E+>$O;6FX$V"CQFIS&TR Z6A+$,0F(I0)7-1US977=QJ]#D/DXL** MAY:M COJ?_\',U]3CF5H*O4/&O\O=.A(4AC"4PP3;MZY=>?62OC=$80(4PB$Z=7DNG#S#A&F!Q>F$$1&[HX';AY,N3N*?+IKZ)T- M-Q7%FWGX@FULR&>/[7C?)Q0$8*O=TKC8B$T50>[)TN)Y71G8W3_O4/W:VY ' MJ@[5FESJ.;=9SM$;,S%.Q^+T MNH3:K\0D)O;M9_*&X=HOA%.O51#=FU#>]U%%]+Y'D*57*Y#"31 B3$28PBA, M#V)$W7 M4(G6G1S#0H+P*XF-X[N94A&69^\R1_DN-;(@X/K)\O4;(OW/]0*I#PHD;]6K MPHXB^-$3RX";Y/@SN0 @TUIKU!NWZA,QV_,D)EGK#G+*& %(' $(1]#C@R/, MCX\>@9U&T.-OT./7UV1YMM0U5]W"@MYHU7YOK37Y;.HOVZ/_#DF>$O&:D6RO M^N*FPL^:6Z^V9?,MA"3H#BR.CB0328(F'^P=(FA"T.3/*RX+ENDLHO2FI/,, M.\Z("\L;Z#=62.P-*+7K'<84*D-5&Y=*BV8ACF$$E5TF>(@CJ?O$D3!D%SP^ M'NRR!@@@_)5Z\>:D@+ILC,U!;],3Y(V;;)GCZ+-0OS%&K MRS;,+SHR6G]># MFEV*TXN"CQ$WCO,_*CSX0?UPR\S9ZM_<"N[C7(-=&\B.9V_\MF[8P@_D))%M MS/KY?LX5"N[SUK$;7&:2_O/DF0LO\EV%%\2E,XB5MLU1JTTOLF8O4]0%PTM@ M&Y_AH9$?2='G3L+KM8PFFOF7U MTWS6)NOHI'QCAQ__U%O6YV"XT3USU#?*UB#5R6((P&D9,3J2X!.D)OQ/$C'^ M#Z?$W& E+\J7SR?N_V4G6?&]4$==:XY_?>-:;CQS)K;;@CW].P!0IN7"Y[L6 M$A:A/5/R+S$?31Q-&__W_QW/_I!"%54LP[)_["#Z M:%D3@ 3L!XM%>0RB0ZCSZ%%Y!-_\0S96\L8)EIE(?=]'V'_L41[1@6+H[US\ MG]31SX@>9\2OH$PB&$+]&[+H\(%BLV=4^2W,>DKJ2Q24\6$BR<-X/!FG.4F. M*;04XU.JE)1Y(-&L"F*I>!)P=/*;_]:/@<3AR5L"L@SA@0C_V,Q2V4:]+F2[ MI48]0I7JV>]4NIZC.F*F4\J5TNV2T/GO_PT_! =?.WJ.9WPM2/?W"BZ]TZB6 M2SZ4XQ7VWT.Q*3X'@N-+MU/%_J,&&JD:?0E"D\Y\_> M+E\240!74_YS81'_DF<005V'TDS*G5B> _5%Y]_4]0_IC*74^DIW&$_%>5:7UQ;@X;SR7BSH_:4D,?3[4W/"&4U/XC5@H9T4P[2G6 ML#.6&.9\J/>4F[?&CN>)LY72Y+J%NFTZ:324/UM^999)QN)-7EC$'2]1-KG5 M+J<3Q>F*V2SG4T@474S([N2]\3^RJHFUEPN MG>/@LKCSH;ICYV*6W>Z(A7:\V+"[XY(RA$^]P'SJFNM&+>-)T-F%GC"21K'L MZ7#H!>Y;:=-M=%A?]W0M/>_7LV)]Q(EPZ 4&4&/55+.P3*_%?B>GY3/MV+2R M@4,O<,"DO)8*8I6V:-Z:,FY\HF=7-%S6!1:(K]?U!*@L( ,:26"R>FM3HWDZVF-;);K#3-)H M*/=RJ%2(+;;K:;0A%N0E:VVLU+!9QT//EI7*K$I/;K25%-EL8ZU4NPTM^83C M"6<3H-/-Q%B?%#4]ZA;[_7Y4F,I)G)]\-@&SPW8S^80Y%-AU:\)O9JLES>&G MGDV@,L^IY4&LD:,ULT([J:U<&\S@7"_P:Z/K.M5UG'-HD,@7*W8CD>@LX5,O M\*LY,[A5ZXW K-/1L M8_5$!30+;$'7HUPRFW17B=RD!9]Z@;6W0R&93XPZ*Q%TL\J4[:VD*7IJZORI M_,R-%I0Z4Q$Z@WB_#(&XL3:"788U6MU2-TZ#9-JP-P^2ZFS'R1YU- MP!JZ3CW#J%%!F\R*3Y-<>R2R<*X79*O=ZUNI3%3M"XV$R0J982GAMM-HZ-E< M03&9T>:QF$[SE;Z:&ZIJ?9K$3SV'XFQC\)0I#SV!KXBUK-&NNCD-+NN";$TS M(_II+F02=&.1+R[2BZ>2GH<3N"!;^9@JSBRF)>F-6&';W12M>6\+GWI!"L!0 MF:;=69(39]M6O[>M][DN>NH%?G6%)[6FY"8- =$MGVK,Q&GJF-*Q2.2'%-6JBL&![VC'N1G8SH46&GJF-HSD;(DO>"E;J$RS3TN;33X5)3B!"ZQM**PY MEK.B(\YDQXLZ\4Q"AV(8N\"OW811IANI\8C.MD!JDM:2B^?E"@T]6Y;2S<>4 MF9!D1&TQ4UN;I]6DD6JAH6?+JGM5LQ5CAS%APPB;03*A)>HR?NK9L@;#ITFA MF=1\6OV>5HJ9Y^Z>:$B3<9/&@MF132!"P*S+HQ-(0G& MCM"Q$ERF/I^GDQ+412^P=K]5,[PJ,YG3K%>N*0I-9Q;PA(E=T)J[WG#1SQ:[ M&1'D-PL[4W-S2A$//:/K?)11$@MGD1"R";O6L.M=GJ[CH6=T+113^6YOT:(% M+Z5,8O%57*8]2($+LF7V6U6&[;02=%_4*N[";*]D"P_=$0L[2/<^)C\/Y[ZI?7%1TY68Z>;\%GC@QKM3/*=K]'D;_\ MA^](6T'R_-:!%;@'\(MW0^6A8QF>"V[JN'J?.YUYASO]X)'\^]3\!-F:D&X- M$R=;$\JM27Z/_?(N#+(UGR@UO[X\CFP- 32R-2^W)O$]\V?'HM_Z9SZ3#1S8I^*4GY-;Y$Z$ERZ_/N-"0 M9??J+'S,T-;@JXK 6 *T5O1:V72B%Q.>/X2*OW,8$"I>0Q4F5"02_5%4_)V" M2:A())I(]#U1D4CT-:CXT?>SOI&(O\JCWK4:&/Y\4:M$3"AB0IV01;$,].'_ M]RWY[0])Q$'Y.*OR_,R^W5>0GP&0;8<23!6H^W;%ODSM>Q:?"E=XP>7J#'9& MKAMVKB8@]"$@=*UK<_=@POXIF*2^\_$'PQ*_N?E5P.+FML6M-)'S_YY1Y.]Y M)_D]>=9+[/YYAR6\0WCG#WF'N1:VM=20 M"CO<4(TY0!?+F&,JK;C:4G,UX/RX&K0@_>3>KE_Y0#\6(28?%KZL"E--SQ^Q[\CG?"[!\3C/Z M?IP?GK/U%:Y0;=K62'/1A:D7VFZ6"[:2GZWUK*!E536ZBL92QA U%>*^_4QR M$39QH_;W'YR#0@3WMH+[X8DHV M@EML Y8!3>>)WCQ7Z6=Q2C.%&1)<'@IN*L(R*2*X1'")X%X47.9$''#$WYYGWQ; M;)F.:1!>Z$VBQ#'C>4(O/(VA?/-0OIE(*I$D\DWDF\AW>*(T[Y/OV'(R3!69 M=E+OS+ICN3=K3Y,FDN\4/K_9"[>>D[#-XX5M KOL1=A&L8&JN91A.0Y\C0W@ M0Y?72W![9+/\\?U<5S;BPK?B1[/KFBC$ZL#WY2T[9WE#=^09:47!5R9>.!@2 M[9KF5$9E4\^F)Z:52$\7:2\M);%A%TG&;G)I-7& $V (O5_[T0S"=P)#M&+4 M%_04I*'&N#'[-X@C2&%@(&C;Z(QD A?."-\'==2].A0=@!J$S*; ]/QHWU@ MC7XF95+$24B"?)]G#'8FL@TR2#JS1\)Y*;XG*[(MEQ=E829Z0F_9:)3E,KIW M')J!B0ANDT3<_T2RB?L_+-;/ M\(DXD6PBV42RPV..O5FR9;XW8Z>L5J1G0Z91Z;I#@[:09$-#+!9AN9O4/I.0 M7CA#>CDP K8-K;!=U96\!@Z)X1&/W%>(X9VMF/K7?=IMBKDV?^Q$N80EN2NO M!=^7D@$F&&FN'[P'*CP1(#W@@R\=#>DXW^0FPSB]49Z'*8]AK)';DA@:V7-L MA(F=IW/]F[CO"5A\!??]QX/%C4S!:X%%OB8:N9HI=( MR._KA/R.,XTI:T2IFH-CQ13\U9G OT5=8,^@';H$08XI"0(2A^(=!0$?QIK< M>11+>U'TD?]8@ANC7""_%V _SA3*E67+TH1"IEWSJE.@1%LKB6'\[-#XA;#@ M]33#L'$!$?:O$3U V\BPUU@@X6/"QX_ QR3F$\Z8#VK12/UK+&OFOY'R#17Q MN>7(!E+*1]H:J)3L.."*ZOAT^P]5K7@M-&06!2!4H08JOB10?[PR\ M<7KAFZ'B)4+TNFFKV-B EL!+?&WHV*ETLX$1 A5^G;=]OX8GD,2 0A8#"OJ^ M9R>R.89/U,S QL3='0U-QLN^:B/WA]GI!W.??5:+=D('XE8FJ&UV&&CSL(5! '[..5 MZ[P3*UY"1*F82&4DL<70T7*6?5*>TN-&'D,$_^TG'Z%IFE3I$(P@&/$009H_ MQ(C:6+$;B6:NHU"2;OS(,QWQE6EGF"@U=EK>\D@2);%N#B!Y'AF$R M%HG3-ZF])*[T+R'KX?20/YZ!=RKL+V6\G(P5Y5;N8['"=:0J,QF7%Z.^EEV322<6B9\?$( MG[RE:1:VW2>QOZ8-YK*F[MJD^_ESECL!-J5XM@TYB11O$1?>%XH(?OP)<=?0>>@SO/29MJ P% UI?_-!;_"T=)=JDR WFL66*EN=:%3?R) MZ52@NLACDS 2CY% $$1$@BX;UORYB@R8*NIFC$HZC2;RJ<2 TNRVFH+H0AN M^I=,GE_H3E"$H,B70)&':OIW31!YU4W-1Q.9S08 0]#T_#0370ZBA=D*H0D. M/,;8&_:B#Q__?+:]^]G&+>8="FYV]$:V[,/L+W%:AC@(^3 FZ>M.2RRI=+^JOV6Y1) M]LQH=#D2M*C*UOJ\-NNT\/F.[A+C;G)'( E-AC,TN2]+G,L;4I-(O'Y?)0+Y M^#FG.\EN^H)]X1R8#0V.$Y:.1,N9@IU.&_HF,8*Z7Q+9>1P386+G?9Y(5(#@ MPU>("GP!$_$<(%[5&.EIJ5.>)GE:*-17M3%0\JE4=H60 EJ)L52$CM^F(QR! M"@(5H8>*Q[6?+ M?[P(8R#WU8.,[Y)+&G. YF:.C_[V*XVST!LGUR4ZX>B;);.,TT.O,Z_# R6% M>^0PD43J/,F$A"8(H%Q7U[RSY3^DC7HE0,F/&GJJGJW4!;#H,O&45'[6HBL$ M*#C0&4EPY'I# BA?&U"^A"7[/CPY:[HCCL=9);ULT<"IU%)#-6E*$PPCR-!- M1!(7ZK=)^/3QPJ?!U0AUX%**[$RHN6TM-16:O,,-9>U8B4(,L+RNK?O(SH[K M.T-##KB?$'<-.44>+2X+ 2(+\:$9P$-F(SI +9G[TR:]1X@+ATTWMZD4N_:S M*X"YP6HQG>[WO1:<)S:"4XE(*GX3MRH)NQ"D^?NP3,@I\FBW OX5TM2;\VIE M"9H]>J%H3IX?QW-";8R0!EK'7"R23)*>U 1H"-#$M2B$7$'X>/Y !I&+D%5U MA8 .1"Z(7!"Y(*&J>PE5-3U;F<@H&=,:4<[$LMVH"^P95*N13HVN@2=!*I*Q M_YFZ]AV0YMY3-IOR!DMZUTHK"T^S00C:J M)I!!)(9)" M@@%W& RX9*$ J)[,9[B=I*E2BCS77#CS+8 +LD;N2K:OUZKD8;:=^' >TN=_ MKT8'[DA\9G$T;90?ZVZ:AFRZPD[*TZ;:">3Z@OGQ)+86DO-$CT3@#;C\O#%Q MIG1+@E.%YDJ[ZN!P_9S3R7793R)6$1,^:\E>E8R7X: MP0./X(%.D#OU"#P0>+BO=+/KP<,ZO5CWUB,C+#^@K# ZK9HB,< M?9O23Q()"VDDS+;@1%2'&MG6C'(@MYP8G"0*1GQQ) I&O-:?S0Y$4HC7FD@* MD90O(BGW::7L$RL"G3(/5V/E@H42?^+$+#\9]<1&O=XH M)YWL\[.XDM@8OC#\)J5W) @6TB#8B7%B:"- ::8#F=E42,3KJ[[?OWW'2(T9[K6=SHJ?I[J::&H@+.3J=E9ZYS'#9DE@>5QWQ=(2]4>2>^-H) MZ#Q\7ZJ/!YW/Z8#W3M"1UAE!4MF,I5=B7#3:&]?YW"2-0.<#D@D)Y!#((9!S M/W;T=2 G72WEXOWV8"/(V4)%X]H&5QZM$.1 RSH927#<#?,3'QER[BP$&+SE MG4WQ\IHIFPIIBO?%4]S/F.4+5\R%@#!W$ ;Y+,(04;JC\I$0$(:($A$E(DI? M)9KV5X1YF/#:BQJE0[L^:.';U@K.AP372$[YQP3/OEKNQ:U[\)WD7IC :8RR M-E"U2XGAT_5D-AUVI@I=FG2 M) @3LB!,8("UP=SO/?*B7?H-[*^'V>E'=F1]X6C*O2;N=JL.-]L"UVH+Z5^87"17F($";Z&!_O>,P3?@P3]F&!41">]%34V M&POH83;Z<4)003MV9 "Y-I =S]Y 2TBV M25T7\1!]C=#3PYE"NWZJ>V'<*VO$O!:VFIP/<^.V3L\&Y42ZYPU:+76% MYH2B)9$8<]X2B+A(B63?D^?SX6(@;Y/L06P]DQ2&[].=9E9JV?DB;RS2:$X\ MDNQ4C(1!B603R0Y5,X*W2?:(-YJ>TBVEQ'ZO;,6CF4S+&^ S._7M)Q>+Q%/G M_<;);4B/&^8I.8Z'.C_B/#?D 89; =+"61+D3N(?C29"N1JTT=S(!ADJB2E_\>HMK9ZS=V?(?)2K5!H;L K5K M=>5U'\FV92#BYBV[@P0^@P A>X0'%PP7A6G9SPHP!C3PV JG@WB%KD+#A4.& M"Q>AF3AQ/)-A;IG01S"&8\S>!AWNCR+V;RM?!G*KIZ?7$ MRDKK(+]I14%WMCN?);5I?*'Y<,A74O 0@LQK;V% (_!_ PM.6D'M( MN2$I7;BO _Z_ M\'?#0QLCK)6);(Y!6W:!,!H!Y5*SM\+39 +,V=;2Y2DSKZYC8E%"A8QQ9!RS M;(1FS^,Y))Q#,...RIT>K0O^IV/&=%X2IEHEK0G:*J$VK'&?*I M<.HTP \5]V0@?/T\[ M(W'?AXW[9E^S1R/4$,!OFB@";(VH#9!M$OXE;E$2_@W!F95VI,;H6+$M#N.* M98SK'9VGMVQBO.VUY6'Z!7VC< MIK@;*JH$;0C:/' 0YJ/1AI'DA*V7[6VJ13>J9K8PT)J+6>N35.(+:)/TG/93 M7BZ/A$JN69E6!"EKRFF$-L@JII,1[D)3,((V!&T(VH0/;6BIJO%C>AQ-B'HV M4UW%]%:S7FM]DM/N MIL!J"23!1'/5WF2GFE4%C(3PFLVT![.A6_K3W]R&!S MG['>7]C3J+GLM2WIA]GMJ];A\IOFL3=;12?F3(L$7#HCC17E9)YL1MK>U =36#C M-Q:+I.(DLDL XD8U>00@0N\=JVMY)Y6>59IT)=>-E9AH>M+T 8+_ .\8 0@" M$%\;($+OT,JVU.5&VU1 M,CQYRPH@$L&)&BK\8]TRHSBH5#*7T'C$G7E,E=K7IE*'XM0?__V_X?74_(?A MB0=+]/\LC9[0@7A.B5R$KE(F!'0@:*QL4 M6,^!J6JN9Y->EU_32W'%/*W0;?OCM>S 4BL<"6W)5#S;!FK&<^N6.P!N4];4 M"Q%5L=R=F%YQ,M6SS=YHM1WGQHR6EF(TRLE*D>H @973KD(W;8_7B^./P:# M;*QM\B-FV1&R\Y2A)IK;7J*W0F" \J\N](#)?MT4JD[/T?-7I#GC M)E)+$3):W:=O];-H163PWIVW8:05D4$B@T0&/Y=6]QE5^"M:W6>8H60JU@R' M%^!CY[*FDGC"8WE=KI=5%CH_RGU&"'9Q8E_RNDCP4#BX#B[=F"!NV7:CQC"6 M4&F75RV[DI/*>EJ*<2@F$&,B/']^;3'QFQ()OA-/Z'WG?;U)@NU6+MM;\*4, MS1::QD):Y.3XJ(4DF$3QE&XL:$:H M&:6H[8V1!*>^_6292(S_JK<6?8*]%*9@S]Z$ZYM.]VE:,2%9;;7I3O/2\!NGM+-F;>28C%\>>X-T[;"M_DAD N" M$&%W5S^>%?@[A-!KZT9=&MLB+%S&T-;@@XO 6 *T-/02V72BYV]BYA_:EI@0 M[?Z\<_=&M(^)QCT8T3[&'_YP1"/B&5)'_8,1C8@G$4\BGJ$EVL?$HL))-&Q0 M_9\K#PUP V-0 ;XUS>NY4-FW@& ,BT7/M*U MD$\.7Q\LNT"E1GZK:-F TX ?H/(GY[M/9%5;_OPO_,]N@HH!9!NQY.0_IXOG MT$L"Z*/I?][$.#]=%1O;,>*>"_/1Y-&T\7__W_'L#[Z%J&(9EOUC=[/5T;(F M?LB4Q8(T!M&A#60]*H_@FW_(QDK>.#NP2GWG=I=F_=A?CH7H0#'T=R[^3^KH M9T2/,V+.Y'7TB&2!W/I7]@1?VWV&_1+[#RU'P[5H-C!D5UL"]/23Y^Z9D&6^ M\X@MX:_!PF+P.(_?:*\._(8WA3OLS']E:F(C!_ _NI9R"2[PSQ#8[)EL_.1(2L:9H31*C&19'<88A>6^^6_]&,3Y5<%B,TME&_6ZD.V6&O4(5:IGOU/I M>H[JB)E.*5=*MTM"9U^Q>+\ Z6]-O=$5.MT&7'"G42WETETAER_5T_5L*5WM M=.&O-:'>[:#,CY#L#IXPU6U0QU.F]G.F#I/^Q#TZ$C_4&TE3_G-A)?^29Q V M78?23,J=6!X\OU5T=?5: 5#&Y\"FG(EL PH>*/*_KW^TW9[#_#A/W9O!]RM7 M"6J?1J(Z<"^T$51^3#>M*(B6$-:;\ A6-.!TX;LRAJ7H05AJ*.4WRTJKFQ;6 MPFS+K:=-35J/\FD_EJ:9'E#3[B_&26@8\XT"CB+/X21LCUETI M<)H)WP*/^N3+B2.HMTP3X$ DA'I3^4YI#B53>Z M<'36FD&*;7#$*/$?AU*!"@4"::"R+Q(4I!+4N6Q4[6*[)GSQ2G,G^VE@S54% M#A2E"/QW;EAPJNA%CC>?0R+ @2X2JRA0QP N@ +F4K,M$RNTE.?L9@V/?)02 M!@%+74'0BE".-7+]G_#3@+W4%."<3)J:^W1$!(>*!*!LV1QC=02^Q]E1.T*- M;&N&7P*'ZI"+T)0QI0S+4X-8F68JAH=IJ,"'>RY"SXT#%6_X?02@E(_9QX_= MS1!/$.W%? )LU)EZX6ESM+X(9<(-L&P]>.S,,Q%M_6^C+T$M"#X2KD+U%$@- M]!&D.G [S>733::IH:N*1UZKF6?/!_MA*'! M(=\A@U(('R,G3T7!>-O#CU'QU^!4AYH)?]'@I+I[ACEBX )4V.=X+/XSLHRI MCFS B37LL6QJ6Y]]-1-2VH)B8!U_"C\;PKT"(X!Z_*%?99_S+[[J^(%8"+J= MQF76A7_P>0493%%K%(7/C$*>/7XN2CX8^V<''IO;T0Q]D/6W&/-W"3XL1=/, M#Y9FXG#SH?D/)320'[Q>*&^X.53]I<-QSJ6 <2Y-I@ TX':,X6D;P0/,PL]Q!?B MHQEAGK6M$60V^&!D9AY+F ..1D(.A]R-0 D^8+@YYIT][>$ !^&.@1^,!VFV M&D60L1=3V[F\;SX\=N#[@$]")"YP$:@3) 7%QU"Q<"O6$HH7E&\XDXMSF'D& M1!I,-[0].X!"L&1 @N#'CGTHAC-2X.,1G0_$A0^%;#V>7'QX(,F(EO HPLAH M;PZBA70P-#^*B=.4_U<-T?+#3J*[/4*/&=J";"1C;TBP$V_,='+ &&VE)"\F M'#^O@XD(YDKY:9II%XK2^-KYD*5Z_B3=*>H !:4\0?Y0'6"^U#*A_CH$=F/4 MP(N#3-CQ9WMH:4?[*F9=MFV)7R=+VD9>27I!'%B]==>L>O#U/R%% #A+?0HH MAC@[H &Z3^R>60[[#?>^(?_V<\4R#'GN@!^['_YS!=5S-U7Z=*IXV6@.44/> M6)[[8Z2M@7KLF=EYEWP:G&:.!,,0J;[]W_$?_FK"+YS/>%?@7'\1Z$B>N9S_ M]Q\I/I'ZSTN_]@N_]*L>X_=.^8W^HX/R3 GH[)W;J'?KX?#'\,O\QS^,(),; M<*, !0Y#]RB_YZ$;N:!?YWS"V(2Q?\78&63D0#7K%VSMP"\92#F$&I;FS?#K MH!85?!$X6._MU#*$RPF7AY3+F][0T!2J W]%O/HJJX^ BHSDB&^E^3:/82%[ M:HST9^P7P!\":!/O='G-=%S-]9]X:Q%X8#4;6H.&M4*[@'U4CC>#0S;(I+ED M\3@'[^C.%X2^.@_\HS\^Q$6;W<=$X:.P:W9S[IAM)&:QP5,VN:'EDAV7].=M M1^7&'^%JI>Z6']X?;FA" UK1YLC)XP?\#AMSC\&%CQ*ZWT;U*=_U"+ 0!H*& M27S)N8Q=1/#/CC=T-%63D932"4(5?#1=HV3B&%$2HT5A5'NT MX*EO?80-EL#T_/@+O@X41494S][%E%!,QH+X5SNLJLN@9GNE' M_N#1H-F*-X.[;F*_>V8#L0]%82+'DX.@#,%^BDEKP9?"F<%WH;6H8&P#+*&> MB0(4LF:ZF^]46G$]R$R01IX!UP.9QD"4P[&)(!)F_6HC+^/\O0CQK<^CML]S M>4A(E/.$'+%]*)W9P _UFHJ:G&SZ [&44>GLREQM)U,OU^M>R!VX/.ZFN0/7 M/C4""E%MH%C0@KB-?OB.28<(_7>DT5!$$%,'^7F\.;ZH"JIE2$2A.*/=MBVL MTLTAGVD.4 ]!8FA=[T-S*&ET'X?74$0S@$L_=&R#D0'0=X*T <%X8(8[%'4 M!4$G'F6A60$4.X3/ FME@L/I?K@-0<:E.9Q&)+%GUO'CODH@'D$<6\'0Y6NZ M.]CT \U^1#Q8[2$2OGM#Y$BO/9QV4!!VN8=#@ ?1;_A\]U=%!V1 6G<%L)E M^#!\Y.XCF0AR*6MH:&,Y.-Y*)C6S'!?[&C @H_<"R$5@B:/ZKWP13TL>0R0> M!UIS$/)&F0UP?D?J-HZZ.Z]. 3]IY!DCS3#0N>/@[/?[RTI.462DDE2\A\F)4/>#\[M(,WE5_F!N[/['5F"[.OO^*5^ MS.$0SK&%40D #;-UZ\H0^ 1" M0!JBK3H%M /$6T.DTJ+3!CX>HMO*UEP79;,%65"4[,%SR0YR@X*<**3:'\Y$ M#(J4 \\W/WLG.!T/1PV"V>,!T+)"*_!/'#1C['?&2O(QM'ZG+A_E 6@'K_$/ MUKT-$) $$=($>!+8'X,[2>__YJ_B*'GE0$E;,T0-_.R#YQSA MNT\45WMY-A\(JYE+"^L/B#R(8(=S]\B^@?-S)MI\#E$ELC]4;00R!LX!LO'B M30L3\,A7'-BS028=/ KQT84/?FR;:OAT]HG MJQ3@N[5A7Y!58RAN\^.B-6A]N)?I#6KW/?E WF]2H*U"_.BG&")>S/KV+M7 MAC?Z^PU<3M==QCUMT8[@#B9X(+V[]&0,'E @_2'8T>+C!TI!M9&C LQ0'C ( M,HZ/,@%W7SKH]L$WT!]\$P!J7O(88XYF#I$&YF>R>J[_R\C&)(WL$A@1T3#X M(R@S(2:[%@II#1T+SESQLZ-E=0KQ-# &D \):\P1B*%#Y YSI6%#U#1F8$" M98%;YK[SJ3[:7X\N:$N;*OI'6'@:M#@0QK\&L/UUK)I8E <6W9_ENF)E'NU/ MU%M%[JZ.2N@N.@Q&Z(>CU>(/2Y 9'9$!5WRL.51WX0*CWS)#KU/>"T<_O*[OD6]#GRH(UFS_>]_I_+[GY&"I((1SJ4/ MQQ-'S7)Q7GC.P>1O/>7;P*?#[8L MC9/0WK[T Q)/0%'-( P]VO)Y'9X&&8R5%N MN0D0$XR0"Y5H0\)KFLS991R?E/V]]F\7KA8=?#E$_"Z?6QH*-;%PGC3[ ,--#R/"R MZR7._6Y%U]GLTHN5]/X-MKR\/TY]&(FZG54DO*]X4%Z&_KI66]M(ZUOOWD(TF>O4 CE\K! M%Z ,?(IC(KCZ"1,.+0YI@,CT1WX=8W--^'O0)++TJ7M@YX@Y+2=3 3JI$4+Y MOA!T3,)3#SG?=X*O[(/?Q^@ID^-O^?CW MRIE]_/1S5-N'=:.0?:/(U#EUF.Q'OWB0O.YJ1[][_]=OQZ36S M;."#_7X2OWCY*2V0C\M67Q#"/5)[_'WR3!M =1FYPL;8=^>G=Z(F/ M?$/(#Z8HWLSS2^1\.^RTE$WS+UT+XE8G&54G$W>(#/]VXJ4C5YQ/:Y^Z@5/R M HF/TE*PQ.*]T'P!Q?Y;\@35\?DC)0:P25RLE58?[*F8SHE/J3043J0AH= M[$8\@XN'8'>1,F/C)IW7/7NY;6396**9@XI"*I)*?/ M2;VK347HZJ!28"@_;U9 J-+?2=0*'15[C?[6._[RJB''=J4V\NKCO46_U61H M'GNS8$__CB-$"_3:DYBVT@N]7HMU;&\]S7^*\/&-E)X9UJ(#<3:(>QT^:FS* MW3'DB%]SPRO,P-PRW>H3CK!;^Q>[MJP":#_@_0FZMC@'&\)W-.[]B[P2TX>9 M6=H0.Y[73'=[3^)ZG;X3_^)N==1A>=2G!CGN2Q?8"C&\YN/$K@WQM3\#V!SXJ:: X.C6 W MSJZ'C/^=P[R_4YG=]_PD7#^'-#"O@C<@UZ3CX"/GU/);:= 4@[N"6E\$8_UD M5URQ$)PW^PFAXPL[:&?R!N)/VL6D_0:7A<.>QW1FD8>RY8)<)A_WQ 9 3&E!L]1^D6Z' M>?^0L+%SQ \1"R\U@*OK=IV3CJ#'\I,S#WF"4#[A9%8XC<*!(FM #0&M ;(Y M7)[C:@I4'Z%*Y.N!0_P,\V>*P* &I"XYG![R4LIF0Q-+8 %Y6*48[6ZG(TFC+E@0#N)6UBMSH(UR0QXC4?[9Y$ MU+]0/@14.#5G@KSJ%M1\_NVG@[I^FT8_>8KZ5Y H>IR5@,[2D68[Z%61X"?+ MX^F^D[B%[Q_?98\G$OOP@Z105/B"-"2I1P/Y.[;F26G@RE!<_U<*D M)M@(P>X$%Y:=JH6"' X=1,VNY3SB% M0N;(?N'=/K7KOI(4/CK[*JWB9B/(L,$YD:\!2&DTB(_'T]J&[KC5M*VM5VIQ M=#=^D<,B_YQE3KPE;YRX3SP'RO(RZ$,0F S%1 _IM;Y;Q"]AQ_-SSDH+3EU*1S'XH,#$ MU?QJ=W@J7F(?*@B&HWSD(,?@9)$4'#;Q.R^;+P=>(.[W(,/\E).=P.D0#,)T MA9SGH7ZVIQP1C-B5<9SOQFD@?,=@AW+VMP9D(S=+F[IF4+7C"UK!YZ&TJ:9/ MA$P(5AW$?*)E(U%="\9:9S>Y 9]S9GKQ+W*/CO8E>-'%^$XBL4S'GNS57)U]AR9GQK M@B>]:+F[C&NFZ(%J=)"MR8 35Y#@=(2)QR\0_"/BV2^CF[N5!K92@MUG1#IOTZ;KULI\TT;=?=U-TT 75)BJL.LK_YI6/S:$7DUN]-M" M@]8])C%-)S3F7K3ZW6HQ\^R72C3XM]Y$<4R^_0T$%QP%AQ#G4=*=BI1KI$/N M(I/RS((@LMTKZX=^,2KE.6#D&92!5?P@-!AT\_$O8,!9A2>41"VRH]HZZE/I M1Q'_(TE3'C3[ [HB:*K+Q:>&:67=\6L=OMW7^QOWSA18\MGG8$T@UL$-0M_(/'-U(W++-D@+ M&WFI%Y:927_@I!^4>7::15Y#3;VJ*$Y5@C8NI!BT:]-8]C*;&JI4R2+SXD0; MV>UI)]B<%U\,WC!K#1I*9M%U]&R\'JNK?#'6%=/O8<_7YW:1/^UI!T23Z9A& MS^+KK-M1K 8_@EJ?^SIWYHY12CO**#Y<(X-T++0[4:B @<#/^9VJ MD!$WC. MH.LU;,A^LWTJW4A6=JW'_%R%@&TI ^!68;B]RRGGXL0./WEA%*0=^"@:?&6? M%G(,E"]\JCB##]@1/P(L[^I7<=:?*Z^#Y !L*'OVW'*"OBR;U^8CHWLH%.SE M0%_'K[SWTM6/*G0^V.[^7488S?8 %_7092B[JWZ.NLL%),?,&'S)OT_$19>4 MG 28-1/Y.RZ>S_ZA_)T2UO[KS@JBT9EK:] ..&F*A!T"WLQ_=O!V['FQ@[89 M?FK+T1*4E]#N5U#+&]LRC.B.A?W7XJ29H(;;.7[\;YX(%XD:U3DO?7B^G$") MP/E0T") %8=XG:C-A[FK(<=-[O J=XXQU/'N,IDC?M;'X8PAJ?^_G7@?Y3D$ M:3S(;W;I^T# N2X(+68F<%M*]P^U&% M#Q:XH-4WCX(XKSM$,CY-\=JUE@@O6DL M\2N7S&]NHRGMZ=4852USC,]K7X,H D/-6[;XBL>@GYL;S7DW(0BRU&:?9T8R MD?09!W*D7D[>=64GTJL^3H=*I M+WM>Z^8$>?^%11]%D&BL**BR67T2.L^"I7?TEAC7H4I7M\[\2;__X#4,.19X M^:3Y$CZU9"CJ@5KV!E?5WE-%FI[^RA-513F/ &O1KX:4U4FUFLGG0%7L]-/Y M7,$H]SGE7G)2_*5]W'G,G.>]O=9&\W##%S8O#FTU(SA^Y.>C!MZ=ETGF$=1N M KX2SAU+!TKT0 H[U?#/O-T[9C/4.F??&N+EA9%^9NC+J1WW<1X> MYY$'D=O3!AO!,>Q_===9 ??AW*62[OLXO_SZQ:^>SG&?6'PX]W=7R_GQ9+_[ M!@YX'ZO_0\NVK57$MZSD?6HNFE DF#;*S][GR:+O[!O2!3GS@180W[]L M.KC5$WTKL(.-#(?)QHU.X@R_+H'?MQ?=?APH9BIOC_<%YD^A"3\_QX_#M MAA@Y;B!^% $_Y\2 !T\*A1&;.7 9*HI0X")S7P$\.DV0(_2%.P$G77__S/R> M@F6I:*YI\\S_\QHN,XEG#W ;ID8W.*7MQ%OJMLNNSG,>+X_[E,[3O^/>-T'Z MCE280?P@_H%DE$\S$EUX?Z>FH^8*>VH&HH@3,?Q!FBHA"#-PWZ274_GU>Q!# M_(O[]^[3P*\1/ >(Z\V/+[WO'J&Y-63O/H/RZOGWI57'WO]';\\F6YBI!W: M_P9PMJ^6,S2<0NC7&"%D"A+8]@-\FL%O3K3Y2?=>OTO]N>O^19S@OO*;/^+L MJ5O06HFA.],56QONN@J9IG?BGPQB/?XM[UC'/[$&D%*)?0-8Z42WZ\B&@H+? M.QO#]FO(COI5CX\5"'@41"^?%T$J*^[3?S0=%[=Q<(YN3H=3\I,@74R>HTB" M8J$<5AR3]^<'U6QDG,B!M]8O1'SIL@VJ/H][">(./X:F ZRNPZ^C]P<:H@:01[W<=^5TK[TMYO8 MW[UWBP>&>F#FX_Z!UE&ZMZ]J^9&CH @7B5M@2&/&#IS\ESMLXJY6O@(74&5G MZ&M!\O3^S=!>&_EN_*/IR?:QQS[XZPG?0@ ^?\DAH2'H)7:D^AW7HZK6R@P6 M@IM[[-V@/+B!+_IZ5[-QKT&;<%%\H;K,];(2/U_=WOE]ZVC M']/#2*AU29R6#+W0-:=U8U*-9^3TW0<#_I@>\]&P51-B&4'8.*HM;R7;GDJM M/XT%7 #0&X]''/N Z7F1H^H]J:X[N]_-$/^T=3MM6/;Y>*@M5A"K) M?)..3K.#U;T$ DX62.I37\V:.:82-I""GB:0$78=._%Y&72N5L&%IAC!"8[Z MU: 45 _LU 8#]6B@("@-@_O0]ATL<%M(;9_M==:C^]#4Q'E[J'[W+QJ\XQ&RZWQ-K[M]1T@G1RR MI7K^+:<*HL*/.M[7QFA/( %7NT':X.GMUKP_5>BC4R6KE9>SV6+3%+QB2V#U M^712M]^N=?S53K]4/1YQI_,Z)-9D6=O2BTVQ8WBF:;N5]&?L=+N_+>46F>9" M:%07@VBTJ=5-X>WZU%_M],NS\1%W6A[G$]!:VJHT_^RMQIL1KZJ)UF?L=%?* M& F]HHOTPK2-:C+KKAOM/]84@VL7]R?!Z4V0#/U/W'$,^4F0>HA*)K'5N[OH MYF(9$TFD?5/]";Y/;1<+#QI;ETQ6[NR M;T1M/ ZEDQ[_Z>5MGH<.%\;FK6<\G!:01L-IQNQ/"AL1",->.E]H>,OXZGU8 M@(4>@T''0YFIP#Y@@;]8O :X4IR)'QY V$WW-4#(\+(QC%97;6$S9E0PF8K# M1/_$L\"^H0H1HT$3V.@5\A@T1LT=/Z"EG-#-V:-!E#V"@YA"T^5Q2RO0V>%4 MWXX:(S>Q@'# GO=7_6H\E_V$ MS4\F^<*L5)Q-:<\IJ^7\ULQ&\_#49\ZOO_BGCQAA8H ]>MTE#V2JFZB56I2' MXB;!%TJN]Y17RZN/YX'IDNXV.;;UI%2LAN%XJ&'$>2O^#SBQWK/]=WQB,=6&F^JQPEKD M)^DGO2DYW8'U"2>6,Y_/M8EI.F(%=%N5HK=DYP UKSB_C.B#3JSW, !"+ 18 M][/OR=C3:ERI+1EQMJZDI^M$P6.'G[#O@57ZSR5J. ML-5U.=;)9C>YRG(16[VV^1]Q2KV' >[PE-K45NVRV)R*E9S>V7;Z?4$S/F'? MIZH!EJ.BV!$[K9S=Y:*M5+N.3JF+VLD53BGF.U6W@CPWY(I%?6!W??HC%C!P.7ES#@J;I+]T! 850IA;N .&9^[L)<:X7JG8_ MNAC#L2 U=KTI=@-OEJ,7^QY[-"\UNJ+ ]$:H-,GV;]!X9$U%9*MV7RT,TNNYN7I- MYP\3*Q3GD&_O9^^WFX&Q&M2<"3US%\F^W*Q4..-S]W[+7I3O8+9]!JK0D0?CI#+HCS*+U9L=T_#0?K,C^OR VI]$1UK$*X<68KXJ,*VE]8D'U7N\ M4'>&3M-9;/G$5S25SD95M9Z(MB:QVN>RYDK4RL6YF++U3G3=7ZJS?J%B(-:, MA=T%?7_(="L/Y%]L_T1<<=N:-WFBO>XF&YM45A77'K]V.(5I^^];1W46[>Q" MJ!IS.KK-IKJEN)LK;3Z7%1;#36[4>F;78D$=-)_&J4HJY;1>L_C#%H_PCZW[ M88"N897HBK9)")5L+YZ;#:9QM_RY#)#MYC+MJ1*5Z$(K.GAN/?/L#+6OOZ2E MO$TM81](+7F/V_'.U!*1L3>#E10OT9WY\Z96W2X$_AKA\+_@1<%>T\E&97T#5:\%\9W_9T%&M"=U-YN,<:_.EWD0CXD$,@8A>BBOBU[$?/]!M"!+T@ M<$,!>=]*VK_-"G5OPW>([SJDO8S '=W^?M0" '<[.?3E_;0[7>ZT?M9QG?2^ M6QV" 6&MN0T[ISESRY&-]/YNO8;=!HYK>XB'(7>_VM\M%VU6T](@(] 5;LMM M9TMAT&FVSGOO7!YWT_YN?U6+^XD*"Z<[G(T! M7WH:IA'SR M^2R;AB/C+T?.98%.IIP"5 WB_8;X[!4+^>4*CDR^'*EDRP,N#IB.7FA4I6VW MH*58925Q$OUR9,R@2P69IUV==9?]5#$9;6?J:.3Y/.UM+Z4]YP'M"9+7?#9$ M.BV,X28JI1HOC"1>[PA6@VF6\GKI&8WD7XYL#,J;[BH[EH29O-IL:*]%Q3_#XO"EGA6:O#]\>.Y^G6:JEQ(DF272_P913KJ.Q MW@R-/'N[MS);S[:^%.FH]SQ9#^5XVVRFI?CYVR7O6:UNF=Z0[HCU(D?7P%8: MMN#(,\J+79TMTXPZ%CN=)EUBRW596J%GGE$^EUYQJQ&0^N*B4AMZC:;RM$JB MD61EPN:A24S+BK&0:RQ@P>[7A"HX\ M7;O$)T=RC$[%))E6H3S%A_"KPUA"XA1FR,>5!(B/SE9&F8X0 M(/8=Q.(_"FV D)! $NO1?U4E@<%@=[L;6V#7'3-N+X542^95F5=F90U&X[DI M5!(5NW5)2]*CLI:SG$Q/J"B3R;;#34>;_D4M22VJJX%1Y]OBTAV46+W5-]SN M^)*6++(&/]2'7(.LM$M"OSJ@ZP0[OB13O0%7[7H5-4DN>JMFEJCQGM*&+<]& M9.7E(MOJMQ/D5I']]H9&=#J;J31E1B?$GZDL6DZ%)L=]5>6=EN^M M)AV!SGBU7;VYFBK$&C8]ZVO3J?1K--WF34(M4&QILD@DFZCI65]-8Y;OY(KN MDERDLW4O:[H9-]4HS+Q_VM^K :P!= M5$;RJ:^'UZ#J^X%\*[JMCPS_4* ]N"!J7R]]+AO!I>.&O:]="7-:CSX?W.^S MC2UMU#:LPA[DKAYZ9* S_L#UU)XNOG[JUG$Q=^/"==@GE=UA7478A[,Y/4T0 MAO<3!L4)K<-M1FCA@*<"^RU;SU?T]-)[\$06=5'1MXY][Y=/O3?MT5$G0$XM MO3$Z@1S>UMJ!R"%>Y)S;J'5-N3;QEB-3WX[41K._7A"S=22EQ)Y=%!?H,7H;C\+%:S\%Y)>9^F!MMZ_?]Q563$?.:Y["@+Q!9!^L.2YI__8?W/< M+>BQA]XZ]%O5P-\]Y0?(N?^,'#AG8'QW_];P:50P2%_;_Q[==ZW*5LBP!$,- MG\*E'VCZ_X[G)WS??JZ./.VCY\-2KI#?W$_)_F=T4<:/@$V!=7!^R6*$\XY> MO&\J*P"[EK[^KNS% YG8TTJ';R\;">BCOR\(1[34?[_[VF\LQ-%=([:#;AH) M!_Y &?B!3>&ENQ65P;CV7LOS7??A:S U1B *.E.EH9X&;)6H8I0\TT,<>R M[-!8=K#L_*'L4-

:K' MTW&VH[0'F!:!TCC F%:GA]3V6MG99QJ%A]/&5S$5+:\XZJ4S#FL.,; 8@9IRE MN L7S%QI[[T]@<(P@F$$P@@Z[T?_!TLZEO2O)NFW28J]W0!^EK9]?US5+6OM MK4W#W@V^DN+>G);>N%F+=.VD<6C7NLN&*W&-S$(DQCNV->PVMAF"_Q"[5M:- MO,L/$Y8Y*TZS%:F7-?ME>-H*VK7)\Q(;]\ H88C $/%1)NNMK1\6XZ\IQG?# MT;ZX5U/G%D3C,T$;A<)Y&.9CY)J8Y2WBTYP/"')%[I)$/_M:-X9>. M\WV #6LX7KJV(1S%7"8FLZ54:72-/JSN@+A9+I7$W"P&$ P@49O*6%>PKGP9 M74'V^'=T]/GG.Q4Y?/^3VQ]Q.K[T]DH.SA]767+B/>DQN@2+Y@) M^M2!7:HZ*C*?GBK#\L%@A7"L>S.G^C309^5=_S9ZWEL7)*FIBJ[85^VRULET MJI+VAQ;:OO/AJ[I/93LR8=6/YW8:*N7J/JJ#;F*X78MR*E>E2*:;'B3X;S\9 M^KRN\W'IDK $B'Z>K?-49>10T_&TAN,MUL^YE^(;@NS:J("H[G: ]:V_5$C4 M*(SM09JP1:'AC]KIDMA,%EK1%-MX>RFC_2!C8)0Q-,R/K%YT3U"=D3T@9OI^ MON:0D'%F,Z"$W@05Y?'@S_,E5-HEK*N,8#J8;7A= X2CL1X#J (Q&98NAA\# M2+WT/0BZX!,/L9QAH0>P3K6U;R_[OFLH2W]_ MB2;0L96./N3Y0.S1?A'L3<'/SCRH;WSTGCB\!52#0S%6[W>_YF3,6Z,>TF^MEAMT$O%0K O2!=:*"DCU(.H/"-] > M =+F3T*K!4JPO*_>K2"=@K*DO2SX)]5_XL \4G5@>C[]'9A \E6+ D4@9=>J M$A2^'14)DI>^L_]%4"0(_>8W"@FAWA"6O 4Z'7SHJJ6%4@]L^N..2+VT,;[U M..7;G3U4NGCOZ%+)+S=D^JL-&;CT7VW(] /U@4=F;V+(%"K#_J6&_#%QX)L: M,A;LKS#D+RC8P!2YTR&_-_)7W)2Q;&/9 MQK+]>2S.KV-RWD^MIX^T7E\O&#)_(7G^#RNE' TL]4#?ZW M%_E2D9PK+SMS[ZO^5Y64\*K?Z:I35UKU=]_Z_W:LURCY&&SZ$9XF0L]$*0JR M[[@_KK811SVD#TI(/J.2;BE7^P4;[T]N?+X"X81GYJ6=[;9GY@/]^=N>B,B4 MY\9*O=S*S&#EN2/EP;KRL1)!?:J)N'4N+;;_/T4'!K7NP_QH9Z;? [-U0]9S MU.?73F;ACX_JG=N^48_K%;T,#N7=^_'W?4X\T+P24KRJXUTZ\KY-I%-6HY9W MQ$)M,;++_476\?F@;%.*B5^SJ8:RZ3,&6G,U6KY0:YW+R]W/#OZK392G9S@^$H:6[=F4"5UM9PS$.=YH!. MI^,TE<8ZC74:Z_2;=)HZT6E*>FQQ_3P](EQQP>QZ3''-3V?)\;OI-#]A['0] ML::%I9R?,!6Z2RBC%M#I]+>?7#J>)J]7-_S#TPUNRDF*FJC/Z;:#CL#CZ,-G MCS[@8,-'3@2F1S$]BNE1K!I8-;!J?/G(P?ZC8=&!Y$,R,;_EN@// PI'5C(J MP**<5Y3Q@@H\.-QP.^>^7I?IORNU_>$'NJY/3015@Z3'QTV171=V-8'+6<6" M:XZFC=TXTBA"/RR-Q >5D>JH,%)CA&KK>(VG:D6HSLX%]B+K^%-.V;;G9L6I MIN=,DA_1\[7$H<*Z7)R^8F5=S$A^R%&@CU/E: FHCU?E=PX>_*TJNVRB30X[ ME;FXM.;YBN.U*)9I 57F E5.XN "5F6LRA\1,_A;59YNZ^V2I4T5<2:NRQF% MFPVI!0]4.8U4F4KCF,(GB"FA#A$>9/MX#NZ_Q?SJGK?14D#:+JNL&&P-_5)2VZ^S+H^I:4]["QKSKRO88 M?>Y2'+K ^C6"JK .2;>[7HTHZ_EE<2TEH2='L?3[V7Z?AX*[/CM]PUIU?0OR MOL;_Z?S'=T&5^IS24E_C"H853"J?")7 M]EU019DLIZ-%2BJ+^JJL]V9NG:$5B"IIB"JI]W-N/P^JW-M!H^=QP9=KX>/( MX%T=1/I8Q_6&1_OIW-076,SPJHXS,O,"SF?*KI7BJ89,5@C)F);&QL0FQE(J MC"ZR- Y)?+;S#A]K&][P:#^=?_GW<.#L.CFJL-WJPHS(BW6#S(G5 H2#($+) ML@R& PP'& [NPC'\>SAH5M0"YR2GAF"DZHT$(R6RNRX/X""(' MA_F$,Q\/'Z#"!ZCP 2I\2@2?$L&G1+!J8-7 JH$/4'VUB A*_L3!CKL*=KQ' M-9=;&-?5B(NS7N/ZI=?H-S 7%^\@ M/_ 3Y(&?:,VMTL@MJ#/!,%E!K0WM=IT:2Q0)PQ<,T#K,5GXRMA(7:_H0]7Y[ MH.(]U#M+3,2IT?0,4A?]SLJPK*T_XJ%Z1;W[ MK)N=Y%>FV;=31;E7D/FJC-0;AA<>N'?9O7%PX0:.4.D:CBZ\]P&I3X+>-SK4 M&P/TCW7'0AV^ .G]%2T9FS;ODHU=ANA-&_7-B "03H4.60(?1XC^.,(G08;? M.7F D>%C/;F7D4$N<>+$9VA!+)1&V[*<:Y2*SA@B _+EF'>D:C R8&2XA:'> M&#)\K!/X,C*D%KU-K;N89\A.57X4#$G56[LU1(; #7P7F^%3AM:^H\->/_?S MA:[B--2;<7NN.(&&#=[B_Z!2S_N5=]R8/]%C6UUVO9@.FFFQG*[J,/4QQE#Q M/T5K?&F":I]M[Y5/MC?V# MMWU#"PN5='1UZ1J^H7L]V5KJPD:UEF!*\JXS@\-=^JA;C=%S;>5G0"G\YQFA M==EUI;)J\_E'8= 39"_K)IJ=N5]Y^ROSY\%.&4$:UE562JZJ.PY$U1*!FZN&RVOOVTG0N[P:]^X[$1& G""/5I.+#XS\M')&.* MKLI+3X=7MX$WPW>!S\]B:V=I:;&)O-+!%PWT!_S/-PCMM+#00P#L[P+CK^/G MG^#Z23>O(I'/[_=8\ZH*105,8]-U;/"M&IQ<;CJ6H6Z#KUWPUHP%EBVT+!3) MJ18%9_&HU$6]5,HU-J46+:_"G'S#7NH:[[_23H+-J&\Q'8CG''3'=Y?Z=.6YM8R7/ P.+Y0U;ME5#MF)/4Q?;(XKW MT;ORK5H+)3M6DUUU JT ,K "7I^X6,8!_\3^E><[F7_'C&"N+S84YYKLZ[%_ M\1WQW^CQ!,G&@5WQ\JK"11SIK@YD.]:&GP4_ BR._:OKS(%>I=C4OP$D_/SQ MBX?D915.[@&CX* $A"H>_/'R.T#3IX&W];GCPN$\P/?%NA/#BXV7AB;#3\U= M!SH?7LS79Z"9[&Y#E 0?U#=S73.@7B+3"H"N'@*H[Z!^B ^=AUB!YYM/SP-O MAGH&H3HVJ1"AP;*;NA\#[[$] TW- =.KCJV!GTL MEQ%MLU88P2G2$,3%(>;0;64 M:;0#<]$!GW !J._;.F%;@',Z&J9L@3_9,@)S]S#7Z,_QF+<$LB9[Z+5HTP2? M; #/Q8:JO%\!, KXYH=@XH'\ #F+R?.Y98#68/H]."3P>*#LL$=@HW&@3@0[ M!WRM,9N!90"/ "V6SJ"':?!N;MYP8X6F!HH*.'&0=SH>A@A_0.: M'+H//>DL+E/)DZ%_WU2+;"30]]Q$N+$@2V >!%ZCB3Y?^_B#D( U]T]0-'L4>PL]&T(B@E& MAOJ-OOZ_X^X_N;.$ZEB.^V//;!R-*ZQ:3R/_=JP3BJO+)B&/P*M_R-9:WGKA M.)/I!V8?.?]Q($<8%,HC(9T4._H>3LC9;,[D#7$T9Z$[35CZ"&!Q\+'][Y K M?/BE$PCJ#U>WD"+!IY\\%RV-[\Q_T-0#!T$=_!@.C*6">OSOL5C/HIK,T]+\ M5XY-7&CQ_*/KJ"_OWR$%<;Q_A[_Z]K,+?75Y9/PD7O[4JR;3NS .H?-._RV!+2,'VX-?'9JB37$B0ZCS M X(![30'B$+[_ADDA=UG3R W)FM@\T1/ -#IA<8#JKX2;'#0,T) P!J@4V ;#C?KY]L" M6%M4Q D]Y6GO!;WV V/\ =N3=JSNK((5"H@F9%("8_%@*P8BRQ!D\E4LBGEG^HB >S?2[#K6L+Q<$('NJ#AQYK4JAF M0)AG$/0#+P6(CCT&VACJ'A*,4,*>/@O$?;$TW+#;4)R-P&$(;7(@:M#\1YM_ M')K?:]VRX+\&+#L'"\H]ZY,\!F[".# 6CL7PO37Y/I3QR35YYHJ<_>9&@C;O M3>ZU@2D'G,. *PYX@#Y8QNS2 WZ7[IZ3>I-BL=VKE00>*^7Y,]) MO29QW3=<51R[NK$VI7G_X&QSE@LUA9Z0ET4_OM=N29 _H)= M/.[<#0'WVVG0NNQ#3 .JVG0=;:F&3%1'=U>&JF/><[\C=B&1%,R/OYW#N#F M08"U *(@8LD0LX V 10$^(DB0HBK4RQCO-\)P+2Z@>Y",(4;!3#C=I#E\1%N MSAVPI\7@9@(Z&EM/])#HT1O!_QVF?"L5?@P)H-.BTC M>T[6MF@@A_[NE0WQT^"U!IPDX'(%E*RB0Z(@)->/!Q+T$6GN<7X$')[M'(]N M&1+R>R4(-2 8L^$'KPULTH/.?GF)K((-";JX:*D1M;+YTU0F,GP!8G^L^M+"M M?3\<2#+Y073#03*INL9I_"9LJQT]_YE1?0EGO1.D]<*MXPRE]Y[ T5R$[WME M2SD>+'S_3(91_I5L6(@)N02^81Q_IC_SB<#09\_G[] #QWUZ'_ :]#54*_@! MY(YX:$] ,1H5OC,-$+%5W$;Z=KV@@]5Z0-[(]3'?\=+7VV^2+^!BB MX@$4H:@2>&JQ' E0;O"S?G(T&.0: %+CBT<_;1K$.H\]!HB8*Z MWE$DT%O.H8,*AA)8F*<*<=AI$,-ZLD4C+WQO(P3#"=3R@K7E!4@,PZ N#)<@ M7NU,[>2Q'FK'F?=J* /58=+X@C![;)RXH)]RKP;,T)E.Y) M U48%#XH7#"78&8T(P"'T#0+'_^TF #)+&>I/=FM0 R<]>&YWGX?FCA!.L]^ M#(?)WD>9(>8%7 ("4\A A!%#,.+,!I,_Q,F:X%5>(R1@7'XPO+K&]U5H?@_ M%P'O:1]'64>A%.UQR@VL"QC_M?]Z?=73^;NEQ?4P8/[,AF!YD+E@EH+\L4N[ M8FBCPJ9@.U,,6P\D^B*F/<0Z%WX+UV:E;[W G@AT*("X>$Q9CF,C8Z/O$S&L M.< KS]PC7OP5$#SQ[@X*N 0C=ZTMU+1#QD>@B ^QQH71!0.S/:!O;A X>,TC M]0+)]!Q+>_+E+N]T$6X],+]^U[9>9_R?/U?67L P<<.1+^+ MKPJQ\R'6WI-6P+Y1]SV\^)'?I=TNT45X]WZ?W3NTJ)Y/MP7:'K$?P>:VSQU$ MPH%V4)A^OHTIVW!YT(9\<-F?^Z3!^AP+!-IA R<>^.#0&=IG['DHCU'@P5*) MJ!'X-OZL.T=[;9"[!Y/=+0.&Y0/6X>#>'KSBD]CAWG\'?UE",8=I*_$8C 6Z M&I 89%B"D0"AV?,)AOMT?2XPGT_8"M2C"9RV,$L>A0-AN(98SF,C/;1IP^>% MHFFC$N?P14 EP4,.N@?[\A"#@:78#!BYP?!?U@L8"+6.>;/)$1R1!JG:.9*Y MVA[UGA[A!=F5<,T<.V0UH(D?:JN'SBB@N0P]"P@?M@,^ *PT;^X$YR&@!W#D M *#S&0^QDGUPY0T;>N*J?CI]X-:81+ M' (YM.,4%%X.$UCM0VA'EV%X #2[G+YZT)U#8$,S5!B,A8EC03HT'ZROH@?O M.8LG?'DX.\E1LSPGP*JCE+=PNXK-+=D.P:73]%"TY"BX% ]SA;P8Y%WVX&@ ME(,1\J,M!$G%T^;]Q'(?/>PM.SKLS*7=^R28\@=;-WKN?NPHDK/_X)ZM#>R2 ML &TKP][Y@M;.WKDK6SE6/1/1'\)=UET(FQM@WT---+!$X-D%,^Q;=U"L0V MVAY:*" $4W30 N*AM=HGE "_&;AZ0>@%XJ=E'4YG>%L/X1W\&X#KM>.:>[8/ MJAUXIXSVRR/R\J!Z@<2%5D+@%,?6:#%!JQ.[V0"[;'!%Y)Y.]&!J*W"I@<\@ M6R>^_('(#(/F+T1YP6C#\&RH)E!&G]GG8:>\Y^[_"<^U/= M#_-U$#.L3L)).N1=:3H4>;!44&70F(""GX4FPHWG YH4SE"AX=8<)38>6[P M@[8!/7P\T@,,[*$#:5XH2.>$4*$_!) M7!40/DSO8K<*"#S,=YL%]@HT_ +8EI_FUD!<\%FL_F@[\B;&? XE'U%IX(L% M?@!J.8HA6_ I\2)<[8.UMK>/@O#NGGV.[ZTX: &&/4,;EZ)#H:TN@EL%YXVN*Y\N[$Y(/#1K> M"(T(,$'ZCP#/P'?_>?[G@/5!.8'WG4W5..]QSI:6;X!-^W)XZ 1_'F*Y<,>#RK'? M\UX,$(:(\K03ADD>Z%/SXZRYIVWZC4P\TFQO@HZZ*X?CFR&<'5GYP&[PEG T MX^#M,$,AI!1.3@5,0]F+*&GD'H0NIH,UF06'4.$^CG*4+DB0T8S$!$&?H<,&F]OT9P:?3, _K.#B11D48&70"%%G)1ASY?^P9#9&X$G MQZ#W7F"OP2P<9UX^M8<^ M(*)9#O0*G';P>=A)(^C,@4QY&O,3M726I'4ZAF?)67L/XGAH)Q_>6]#A2670 MB25-8>,3ZR*A\\BK.UBDJ1_,N=/F0>(*.%QRVC3#W MRP)J$)X9!.X@H4'01.E@Z$BUOW3M^*44VL/'H(>T/WT!G@LI5( !H7R.4<(- M(H]!PY7L&FC1]N@O!ZY1^Z)+>$+7(9K5,DQT3!W9J/"!8;_\"R?%84JB;^W/ M:>Q557NA#\&9F2=#][G;A-!N3^PAULH/7PLF5PERPY#]>;+10//;]8(CH.H2 MP-K^'/^>8#J,%?&'4+\0C(%!JWKHY89,J;\-9@KYX9.9;$(3_X#8X&U[ M[0P6T'N:R^/N30!4 \-7#4LMN(:.(ON7Z&$H.8%+\M*!D[N+@B=P%!Q'P?\P M"BZCN+=$)U0US7&TQ"HZ);$CC9447=8D-_;XYE5H2(Y'/6V8; M1)UL.JN.L)B5?*_43NJKU1BT/!M2=227RMVZ;)MTOJ[/.P.=MWJPY=F0$ER' M9KQZKD N4G([79KJR:NDV-)?9\2$9]51#FTJ(I9J=D)[58^ENGQDN)\Y89?Z0O M9PFI1Q+M9FY.Z0I9(GB).V\I-1U9>FP,*\)"U7:J*3$])]V2DA>>R9-VF4RO MMP)0-OXQG9NIW4I+2IVWS!?KWR5 M6A*KQG3:G%IFDD\SW2 M+#S6Q)0@+IUM Y7E/%O[AK/N&J-ZF M5KUC5X4BL5ENPZ;/EEU@R(5-Z2I:2 MH_1(8C5=E62924EICE')1)*6J1'S_.FLK"?,<8W)"_0T055L<^!FJQ?5NM.8 MVFYFU+>$&:DP'%$T?:FYOJ36=2&3J1O5-2ENN^7B3E%U2M_PE]2ZO.IS12!9 M$Y%(Y$9-D9)PA,ZX;FE\BS%Y=WU)K>5><]SDO;HB&$-7R]76 M_;&Y6E]2:WU-],1FSBF:R_[CI).W"FF9&U]2:WG@CJG,5DR:\F@N*'UAI*:R M_$6U9HT\P9O]Y%I8[/C42$H06K6XOJ36KC)K.(7MM&CV>PJ?'Y,YKUP<7U+K M"5_KY+;SB4@V\D1)+G3X-*U<5&MGFTS(,ZDOD(U1J>D2B626*%Y4ZZVI=,LM M=;0@&_Y4L8E^83P8C"^IM5LOLH^^+=!B@\SVJ%W%GJAVZY):^WE=K6ZF/5>@ M"V[%G#8T6?+XBVJ=%X!@KI1Z1J0SP^(FU9CT*E7^HEHOY23QN.BVZP)8!HV< MCNJ.EKFLUJ55P9LJH2538YLY 4J8I4[@O<_)):0^'/=G0N7^FVQ'Y#'U>HSK"6S "XNB"H M&7W!$.O9C!:).2%3Z4)E8<'+9-CSIOU4I>-."Y6Y6.CYDUZ[6BTKBS%L>B[4 M":.R?N3:ODD;N=68Z6>*=3@%[/FXQ%I77"XMHV V"DRU.N26(ZV!.G ^+G^9 M[8D%)]TS%R3H.MM\S*U$T/:"M,Z67:F:)M-IL^.TC:NW"S7 M["[73<>LL(L4V]E.YZ55"S8]'U?5WTX3VF/.7'HEOS*5,E/;01TX&UBY7*]>:&[$#FEY0KF+V<5+,%+(EDB[7_7RYV^Z4MV"]+FA7NN?(PW&- M')JT+;NR@;%%D0VS62A/-+-0!!M(7U*M;E7;9EJ44 MS.Q@T&U,>2YC3X$1=D&]^$RM.EL)B8+8J;62U$:B/#8-GDJ?-Q7)SFK8RB_; MYJPM>(]*2V^M6P#9+^"U,U\/:^)VMB6Y>\NA!;L.FY'9:?]/5*:U$7 M.N7YJ%W2-*EDC&'3,R&8;5+C5LF<.F265K.5W6)6G?NHZ9D0>*M1=N48XM@D MB):Q2&6I5+J&.G 0@K$H>'D!PJ M:6@@.DOV3ML<\IF ^ZT; <_EN ')>L3?3)RPU)(5'-*F#\9"+C,, XK!PZ<>DW9/&A^D2,C>)#:RG'40!9-1 MW1K(=6Z?#NZ/9-5WW%O/@G[O0BZYD](_C5&H)HC:.:_B0FV9E;A.>A:IKS?I MYMSM-_JI<23%EJ'(CAQXFA#E:\'^>L]K81P7-3J2$"3+K\GQ/L#T&]<1'-U& M\*QRW[XHVB%D!W,'QXZ[C?T+,=_.T@.?]?Y]VV?J@])T>[8VN(L%9G[($JEDG/_&8]Z3E;[[OZMX=.H8 R_=X=B@GY(O79? MY!$G>?1XF!('46,_(_N?4:F?'P'O#*OJ_Y+O#3EX].)]4UGQ'%AW_IUYWI?W M'.KW]YPCNOY/;FQ!E9'V-[9PKU[ O__>-HK[]H7JQB8<$^W_/ M[@&GYIL8.JKW$=> I^:O9#V'+WFY;/S3[<9#>".0H,0OT[N1#VT/\E3N0:7$O6X_WF%D01D1 0C.=))E-)S?/20.3D4 M&@N3VO)N>.H7UL]$*6TB^$;:7\8NB9V<) N)TH@KKP6AXTB[E+W:EM5MZ]N; M$N$\UY?">Z4:;E@>B]\8GJ3:&ULZZ!%O:WM-JB'?3 ISY&"/@COA]@9,>%.G M]_24*BQY&=XH'_XU?(CC[HJZGO(\4WB _X!G,M\.9HV8I ML5WJ"44@G'5S9%E;Q6+@^2#FVT\F3<4Y+KDOP+U?I>NH&887#"\87MX,+QV M!!9\@JX9RUD'UC+8-]:]4[Q)BJI;[WOB@.SHC MVS&-%J]E,*\6DN"T9VVE*I,$''V>3U3J?A79,^MM/ MFDS&4RELQV [!MLQ[XHK&[5(RW U2??)"_RCOY MVH"UUX]KH#67-TO%$!;.)L&/N$ZMH+3>JX@D80S\/K-QT>F MYK8D%G(Y%),$0)=^/QOHDZL8QA&,(W^,(V\@;;K-!N<4J>3.W):M=DFDV';B M,6KG:I)BU:I0+W'FHK H$"/)ZPXFL(H3]^UGDHDS)(UQY9V.%7R*0?XJ91_C MRI_AR@5RQD@59Z/4M%82%\S"[XJU_$:O1XT?L\:.$1-BTA:Y:7$IFNEU2Z( D86B.BZ?IU_C9N\S+V5_8_6>\3-2]_ZJ<@8,U<2&A0[-Q-IG"02T,0!B [@: WL $#;0\Q189:R+V38U()QJDV-A& MC4B)[L[A)\->3R#*DE,8-49EEV@!1.( (B62\22\Y0,CTN=*WXF*,,*(] &( M=(%#FGC+5C;GNQ9)URG'H-/=#MV*.HQ/*1TV.:V/D@+=3C>M6D?L-'MK@#SI M;S_99)RA*0P\V!3"IE"TP%/?3IF=I::(PU,6KZN58A)".]RI;- M_K0RH(D\QKNX< ;QA.,)^^+)V_@@ZILG6H9 K$QC>9($;+I)+5<1!W7 MJR16Y?)CJ>J:G?366MAVM]=(0X#AOOU,DW$N_8ZG+CZY[N',( PP?P\P%^B= MILNW:L,Z:0N-=E'@N7)V[O)1$\LMO_JX(T:UM9EMUV:3>;6P+N4@D$!Z)Q%/ M<-A2P98*ME2N#"35%6-P4]EPR4)CT=<>%SW>'$7MM!0)IVU/18\AEZ;$\K[7 M--8:5$ZSPP@CEI$N.NGYV-5,O=MI5O3L M?"CLUE(2Y0)1=)SDWO%P5]0*AH$% \O= ,L;.!VMT* ;9J)1%XU6(S\@9M5= M4XK:_N)&<\-C\J6M2%?KS::Y6!+N%B(-S/&AJ7B2PJ4T<(X/SO&Y(TBZP +) ME#%.J$,A;VX3W##I&WG'*D8-/:T^L2%EJ5@T"X[1-;KINO"D;4Q'!WV%I64K/LT)3U3:,V MSNLYG^,!)" V*,W%Z>1])^_D#&]NR5L/W1_>@8*+\W2J%7TVF6+?:0/?ZL6%69$KLA9Z-":RAV?*U5B=KCDA>]]FZP MT4TAZS2SI?:PUZH,6P!A8 (/':B+1 M;TR:O<$T:C\MM;77RV&CHI-R:K(B4]VVW#%X "20NB'C-(L3>+"E@BV5*P-) MAQ4\4BO5UZ)<36[=ANY773_J4'5U\EAVVQH]$?74HERVW0QKIZ!-@2B;1"J> M2KU6,/ N$WB 3PEFQ'$-'>?N8/H9T\^_@6E'*G--(F?LT](ZFV ="F-B)Q$(LZF<60+0PN&EEN EC=0 M.D4E7[:(;K5!SA*[M=0?-)@\&S5I; A3H]XTS(DH6_,*L_8K"FNM =; _!V* MBB?8=RS7'+7.X?P=G+_S&4'I @TTDM5$R_6*7:'#]3*KDCY)S>FH?;]$?I?A MJXM9SC3D@=[7F[Q8,<< ?. YKG0\G<;8@^T<;.>\&Z04C6:5Z.NB+63Y0K$G ME9LT4RM6YGH?>#"O!0R3C)7)T0^E -:/@3W8T5 MP<+#6DC?PW7"-W*]@EF.J^DN$33^0P6^+Y 3+).I;L<=[>1!^$Y1=N::W_8,8D*S:P;,YIM M%]82109Y/JDX_9ZWEV*\P7B#\>:O\.8-E%&*[*K+T4ZSR(;HJBDRQ3)%(VH MHOEALV (0IHL9!C#6Y8SLP7!0P""-WQQ<3K]CM55/SW^4#>@H[=!%F&@BABH M+M!(OEO+M&MUC2=G#?JQ5![V6ZU=U#025H*+FEO:-,KZU*6)KM Q M%J:RG"ILLH-\)Y1M1*?C9.+J][M'S;AV'5^V8K;NQSPP'3CCZ&_I\E/ 8 !@ M: [8*?5HT/"?[TFE1S[4VP7'JQ!,)2*_]9XWQQMH#E%(8(I#HNJ40R^0 -##8::FX.:MZ0C=3+%N<_118$> M.25YO77IC1/UP1!OG1BH.T\ER9E>H.O\ILOTJ!;$'IB/%">3B7@BC6N7?41& M4N0*>77L>3$)*?*A?@KLN4 7J?EZ95FN6#)9,7L-:E672]E^U'113JFFMW5S M(PI&058R^8QICO((8^ -\TDFGG[UAA^,,-BZP=;-]1"FU^6&B37KKL2.TJV5 M5E(J-X[\"GK!&=!NV:\29*>^2>:<#D_ "P0!1B"B*)Y*D''NU5.JB"KZ[LM@ MD6]&CU%O]I\)15)U+$N>>_J/_3?';^7 JR8ZE).3(K6T!25_JS9X9*BUZ\;RHKGF,M??W9.-][G8\:@C_^ M+GJ#L1R^7B^_#,_ZE6?]3T]TXX7XH(7XU:ESO! ?IA$8FFYD(3 TW<1"8&BZ MD87 T'0S"_%Z02V\$!^T$+\J^H47 D/35UL(;#7=Q$)@J^FZ"W'[9R]?&'3J M#8.^GQ.:?S4^U;'@+__WC:*^_:%ZL8F'!!MI@FWJ-/*AZK:ON\]F3#EYR3K0 M<\6Q-/#'O./&_(D>&^JR&Q-L3==B.5U%LY[V#$#K'<@4;*^H,K+KCZXKCF-[WFA/86/A(SCU5L'K71+&ODP=&G^2! MT;^Z?FZO-#"Y/52;:Y9ZF0B/U'CDF .R,2"8&J6QA5PUZFSX'4=.!F:&S9N% MG#B55\QNLUJU) 8>Q&$Y.DXE<($\#"\87FX%7MYP^L95<\M,OY4NB[0SI8C$ MML$4]*B/1PN3K)N5N%Q1I/6F7=OTMUFJ,09XPP&\23)Q)IG >//9B@&_Z\D: MC#?OB3<73MPDAMG.L->:%L0M30_E3NDQ5V6CMF,*A-E7RD1R+E:FE48]0WM- M+0MQ)0V++E!QAF,PKF [!MLQ[XDK&4-,VGUOH0O$K$+IO,ON\MFHS]DX&UV: ME[CL0#1FK"\_6DJVG8 >#CQF0P$'AXNGTE>OR/*A>I#3/=-WYKB^+[ZM#D/6 MI=OJ0OVX)IN3+[*K%>'R.8%V#5$UNG8_V8[:NVK3:G&3;!1\-KN?&UW!^.*Q?HF<=4J6JW MD_XCJ=NC=MH9%'+54M3XH?-29;-5BUO1, :O-.DF3F#5VXM+,%3=M M:$$$=RZ1<9;]=&5Q.\[(AZ6+Q6OOU9K)9 M)[D1,]<(VQ8M(6K4[#-LEEB66UM2+RTH:KW>)39]7DH<+F)B<5@+ Q &H/L! MH#PV0)PT<2"Y.)O&% =@4PJ90Q,##9=/^*KUD*T)_X'/M MOLTI0CEJZ"B/!\/I.EO2Q'Y1R10[^D9?2=!H0:5VTW2<(KF[S@""JZ*[WO<. MP'!Y_(>$TR?7;$R48ZP*U 1>)12Z%S5N, ;E5?W!8T'H9U4NU:8V='.T!K@!:1Z2B2(7-1(HMI]FE6X96B#!S=F)5 H#R?U8(-BCN0\@\%=6VRD>(=*R=OD<#X&4(!H&(J.I^G7K(J[S &JZ_[WK#.+A4N([\:^ M*_[YR@X7II5__YBI[@-0 YIS38JFX#W."M)44 2#X-/+@55)4*.HR>D%6ROY MJX(LFATMO=@-C$)-F_%2$E(TJ42<>T]/*VK]PKB"<>5N<.4-G$ZRE^13Z75M M(&89.B\H(S)C,5&?#AWGB&VGM^%WI#[/M^4$2)>.?Z55K5)YS$OD+).9/BXRNQ;1C]KQ()]1P[HZVD@-G$PH!P#BKHM,Y)7:B@FG4EW4\-:OU>-'!*: MO?&V6]-K',GEJ5[!M3G!W$!("+@@+IYBKLX%?6Q1'L.;6_+6BX&UCW6@X.*L M',QA8[RZ<'PUU!1(8D,]N6J=GH4_EVB]Z^;,;&:ZZR\Z6W8B1^V)M;,[H5LF MNEM3+C0VK4U>U.NEM91"Q[J 041SN$X/!A0,*-$!RANXGN6 +XQ\OTR2G4XO M1Y9'65G91&U>+==Z)]'(M0AR)JPZ?;^^6C5+/$ 8F+]#I>+)Q#L>'/WDRH?S M=S#"_#W"7.!NIOEY?5+UVYQ(T&I^UA=T+T5'C23B?"C4&"DU(O6$/'(H(]5F MUM!627_[R27C*>ZULAT82+"I@DV5/P 2,S$I==FA:8J=ZEBM%E4BE]Y$[;9D MJF79:6XR!;-B2GQGKIO3678,H""HX9.*IU*OA9#N,G\'.)5@1AS7T''J#N:? M,?_\&YAVI#+79'*H)MEGB+4X%G4C2U3Z!6>DS:.VCB1/U+G>;K$3.GJK(?;Z MG8JLC*4T9'+ 5,59?'_6YX,6?"K]:OIYPXTP>#TON#T@6^ M*#MWO*K?&9'"EC0:B;X_JII,U.G,4[_A57D5(&)CG":L=C)7=?,M #ZPU',J MSE*X8N&G,XBPKW4[D+(9-/7F:#!;FIV\+W?J^?ZJT8J:.3*)?I<6'(X0MX5Q M8MT96B[-0HL$,4=IYCV8HP_5@(8_T=U8$2P\K(7T/5PG?"/7*YCEN)KN$D'C M']1\$_,HLB@T#,33^ ;,C#>8+RY6;QY M V4T59J2/YR.>B;!^ZO:HC\8=3)1&VCC;4FA-M)\2S9JEI)>[[)%+M>" 1O M^*+BJ?>\/_G3XP]U SIZ&V01!JJ(@>H"C917Y4&QTEGF3#W9-C=L=UZH%Z,& M)%4WYW:3[Z8%^K'32A3]33JW7D- @F?&DG$NB:\\G9U-]2:= MK;@PR=8C;>=G;3+J F-6@6!ZHKWMSNH9,%W24C&;B)/N:\W27 M:4E=QY>MF*W[,0],!TY-^ENZ_!0P& 8F@-V2CT:-/SG>U+ID0_U=L'Q*@03 MN=!T<40])D6ZH'5[MM?W?"UJ/@V4KN7PT"8?K#9,Y2VY%?H*D+!?77''<79-T MVLQ1CX.\5DZ.(?; ?*0XS2;B#/6.ITB^(O:\D)$4N4)>'7M>3$**?*B? GLN MT$7EDLHKFVV](!"[Y$1-\KXOY:(.H/6LOJC44M:<;)1K2J_8KHT%"F$,3#M* M)*"%@Q$&6S?8NOD0A*&M5<=<3QV9!GQ77 (\IZM9*A^. MCY1MCSA_+@4>]D'0$BT%?Q=3%.W!X3N8HH\Y=GS74X05#2L:5C2L:+TWY^BVS]7^X,7^BQX:Z M[,8$6].U6$Y7$6\=8ZAXC";A#6,*5H'(5"#U?'A!YM_YU\O"3?]*MH-1D _W M+<<";#]W#4]'TOI:T_\J[O>?OVS5<:PE)#.]4^F_5:%X=2PO2XSR B1^$:G9 MA_&PS'R8S !;,777,A,$>(/)",*\6'H^0GI>],_N'8109O(5;*RH8^IUQ]<5 MQS&][S4GL+%PDO4]U21YU]#_UXGL4R>1?>I75P_ME0:F*X9J<\W#^YL9D2GT M'HNL253Z[0(YWM1K@Z@/H,C^H)$NCT1#[)<>Q[Y6Z9=JY;5$)6!N-4NGXBD. MWV^&\07CRZW@RQL2JHF=#B:Y-V#)AC0L$Y-94G)K42=4.W2F,AEOEUERVVO* M5ETGEP+=@H##0<#AXB2-CW)\N@*/[YHMC0'G/0'G0A9U1TJ6N%H[IXFZ[+>W MVW5]MK"BSI <3VZI[I.W-K'O6+67C^NR>CT*CYM/.8[ M&7%6(+K48V^7)QM1,SJ35F8G)E./E&ATV(WC6%.-W *PX]!I>9:,L^_)Z'QR M'<- @H'DCX'D#=2-4K'*C-F3ZV9AWN89JS+4T3 B19;B,EV:J:.B+LRH9&Q[[8*D*+A($7#)N+I%+XZ'ELFV#*Y#H#4 M-L*.72D-4JC,-BY;4@G7:D?MG9B4+@^D2IHSB?2BP=3<;#7=1Q" "AXFV3B= M? T$[C(=I^.,?%B4$B?AW!.UC&]*O'G$VRO6-4F=QGPLR+W)LFT6F/Z&L>J4 MOYM';3F5U/ETV/6G9=)(=>!WL & MK78YKY=IB@FQ/S$SS<6T7*KLH@ZJ>2HSG"W&FX1@.!+7KY28B>1ZR4;>M2="I]BL3]E*N]])1)WJT^T. MV:$E6:Q0Z2XS=MNL=BL4@AYXOT8ZSE$41AYL#&%C*%KDH:2^TTQ1N8EH]-9E M:NMD&WPV:NQX3&7\N99UMZ(LDJ4=H><>YRSRI ("*AVGF-?BX[>?"02717>] M[QV XO+X#TFG3Z[:F"W'8!6H";PH*%"4:Y)(1H]^S.UVB0392/C"8J#I]60M M:NZ]/^_6FA//+I$=+=<.(- M5(^^\81V1RYMR>RHGLPGFER=F$5M,TUYIK^U6TE-S*K-IM'<#'H5>@V!@_OV M,TW'TSCQ!R?^X,2?"!'F G.S&&P]O;G-;$1NOJD.<\/1:)B/FC1V,I-*-6^3 M/7.V;2VJW15+"Y,Q1)+@9E0R]8[,S2=7,NS38"1Y 4FJ22]IA4%CJ3]=K-6G>9"E37_>]9 M9Q8+UQ!??GI7'/2U;WK&U/)O'SG5?8!J0'.NR=+4DLQB.>X-!6'&T[1>&J2S MCXNH4WV*R42*:V;&7;$PXJQ\,<$OC3* Q31D:5)SP=)EWB@8HJ5^NM$1:P0QDKAI<&P/HR:!Y+5<8LTDXXJ M5H1VE\JDNQ+'KB'T0!Z(C3.O5N/ T(.-'(PH?X$H*MT862NR,2-G+7)6KO>[ M;+L4M3FR9G5&:*_3?7+&:[R6WNJ6.QM#3$"9.20=9Y.O&22WGYF3,[RY)6^] M&%C\6 =*+D[.P40V!JP+1UE#38%,-M23JY;M6:=&Q=&NNU$$FK'-;,U-MHMJ MU&PX/ZPN777SN!4*BS)-TQLFF>ZVP%RA$UYT(LY1KY'A.#2&$04CROLBREO2 M>"Q-Y[-#I43.)AV)R+,\U4A%[70EYZ19,GL#5U@.%^,-DYWG"9Z'$ /3>-+ MO'I'9OF3*Q].X\$(\_<(CF[T MB^M.7VQ!]('%GUE<+NPSFD38W;H=3&FG1AN^3/(C2J_:@])9+K ME\5YW5F)VSJ9ZZVK)K73UA 5('O$,*DX2]YWTD_#G^ANK A6'I9&^AXN%+ZG MZQ70B:5%)W M,F:DRH9\%+/+Q[5;+XZ=^F/4]/I2$'/9%D$( L."./S,7*=M*NJJFN$K7I0ECJJ+RHE0=BWW$D9\1.^WFU!9$"I2;1 M=)PD7S->[C(UJ>OXLA6S=3_F@>G Z4E_RY>? @8# $-SP$ZI1X.&_WQ/+CWR MH=XN.%Z%8!I5IP6^SHX3I.PW+548"3,_'S4#/["7I)O<)063;DU+<[GC2]D< M $D&$4PP4RG.)G"V$H8:##4W!S5OX):D2XXH+9]9CBFI_.DE$'V1>Y MBN-RKKD4^[M=)6EM$ZE.;@TQ A%%\52:CB?2B5]11=]]&2SRSWVS^A+TP%!O M1Z]!M^!2&?92#KNO&:N?_P5?]D]2+5UVH=Q/PM<=9!B^-E1PDOR_=Y%4%6PP MNKL?)\T^R6DHJWF"XH*1H'ZCK__ON/M/JDBHCN6X/_;Z=C2NB0X5X@>-5&^L M$XJKRR8AC\"K?\C66MYZX3B30+WW?/&/@\K"B8A1Y .3^+_8T?=P0LYFWP$JM=/CTD^>BI?&=^0\:;#-0 M-L"/X*?%.D(1A"1/2_-?.39QH?[_H^NHS\0S> C\'F@%T&LK>.PZ MZ&_XJV\_NU!Y8LXH!A49VAH'V95_'JWZ2])Z.M679E!&ZB[1FJYI%*-)(YI) M2ZR:X"2%'2D2JR)1)LZEOP5OE0*K5C)@:+ EL6LGY7UQZ+WD;LC"'" M/6]I%]J=47::+9*$G/07S79W,_);H&7B>4LI9];;:ZN@D'IJWF;%$MW2N\ P MDW/ MV)79RK#$7YJ#=NVQ,4E:3)W<9DNC;J7T@?-J5H2.6Z2I7*/IF:1:REU M_G;%&!2J4UM+F3K34X62E1NTA!9H>?9,X;%CVFU&ZXH->5?I5(2!SFAC*7W^ M3+-7*F_]WJHH="9K2EST"QE+!:M)GC>U'W-*>IM,E05ND,UNJVN+5+BU1%'G M31V;RI@KPO$$+C6L9-N54?=QP\.F^ZX^VX."#RK2I%AL]VKE@4HV"+7=(23> MZR5Y"39EKKO7&#;8( '4IE[=4H\PR_#!]J2>8);B6!KXQ-[BB&5D2[95T)?C M[?:]=WTT&F 6.8'!15C 4?L!MC[=A=_]Y_F?@\&@8.=_?M-@.#%C7K7RF!,K MCY%Z76Z86+/N2NPHW5II):5R8Z/UW'B[9+%!0PT6JZP: M0S9@;.XZ*T,#+S'LP):%LBXKSM)'\XBDQ@J':(!F(V# QF37E>TQ\KN]V!I, M2DP-9\6+R1[<&G.ZBESM&$/%8W"F42G)Y[^E8_\R[)@_<98>^+/W[Q\?(H^_ M*53!_.P-ML!1 L::)<\]_V]2YC(VH(_OB[SL>3R?Z77C?]0+YZA@,OQ ,^EU1 M^*^'G'J-N Y?HIR\Y)0X"'*:S[_^][MR.G[@#\%)^=\W^MN?ZA\3==KSWT[6 MWKL-I@BXN,$WT/L]FR\L+UA>7I87^G2^_@Q)HX[H'TC'(_HH'@/KJ4YBLJO' M#!N&/'4-?!/[QJNJNP3?ZYNY;GMZB/+MT78"5%](;TH)#J)NJ MUB4KCKU;SS@ZLW9@I)'Y]I.-T^2[9%AB0," 0%\;$/C!7,AP8B(G+)U$ M0=)7RF)+?#@@5->;;$Y1;$=H:)4$.[0U:I>'"04< @3N-4 XR73Z\+CL;ZKP M5^Y7=@*#B##R& ,R>!YNW,:4?;A:6[HH9 F:;779]6*Z#2W'RU%&%%B$%J;L MA>%.#\<9KQYG3-$/'*;+;H"XI!]83.7?PD)0#PD:+\0M+ 3SP&"5B([*_]76 M\+%,_AGS]D'4_NNH?!7V\3:)6?8A?=>\[#EA_T?R'[5G'3J",=D_S[N[FH!' M/<@H:!.XRT<][JO0)L$V^;5IDZ*2 ) WKG=,CMS1R?&NUY:5/R]U\2K/<8'@ MT+*RETC0O:HI5WENX0W7;K_1.C">OR8X;GI7!H.;Q%P /L!&0G$>65L%F 3< M=-OQX=^9=A"'X[!QX@7 *(68X"AH'6U(MYX%]O9.@:-J2N;TA%7?GP71'O!L?[ M"DA"8/S7'2,CJC$8ZO.3DL,S3/ PKC_1%1V,U 93&H8:P%C4(!H%5-]PP&2K MKBY[.O@W!%GK%6M.3'1[:B%/%\RM.6VXBL4OAGU>8D,$I9ES!/WW/=ES%US* MB\ENV'Y[ P!&78+CW?S*J =V,UXF(Y'Y:;&2)K)3L[!LVH_&9$-,RG]><.BM M7J;+&)G&:ERMFLM4[MU-T<G0N5ZG"R\,J/N69V#=2KZ37"^*PGE9>M!R:58+CW*MLR-E*9M(\6[5E5!! M^+.2_,7MMEXN%,HLV5]4/7J2'38\ 1:9IZCG3<5^UQ22$UHW^ZJQ;G+5WJ"5 M:%VJ'>]6DMF&YR0=LI\>Z\RJ3S.&P5^J'=]N-AS&X<<%TMB8V]ZZ1]/3'6QY M-OB&2!6UIEJC37E4V^29N4?T"O\_>U_:G"C7+?K]_ JKSWUOG5,5\C*#_;RW MJU!QGA6G+Q0"*H*@#$Z__NZ-FC;!I).T R;[0W+ M1LF8U?$A'K2KLQSACX1! 3Z3C:RT7*;AUL2TJ&=+-MG@V6:^U0 K(VA*%S!S M4VV6,;'4[PB*42J9M05%57XXI 69/=&VWVRE%YUM M7C!940L"*U6F@^P*K(QL=-R=YP:!KVDXQDXZ;E5GM0[=D+GH,[%L(;^BQMP< M#S1[O>!S;'W&-TXUXU>+]$">##*"J+3:3%50YYSLK\#*")%:OM-(,H:#F;E< M:[(>3A?]]!BNC*!^17:9KID4!GBZ97JJ7R]UE")\>P2B*;"2*\E\V<$WC-V6 M-'.5W+JNJ965 M.1W#I1'X6_K&;.;+21?/#8-R$P\*G%$/GQH%JTGVAX-JOMHQV8Y2(:I=+$EM M&B=G#/BSYK8N.*9CEMJM@9S3ACZ9'$,C(;*T6F8TOVH75),L:Y.!YBV<@;N" M2Z-2JC4#OS1K+DQRX;3ZW:'2K"D"7!I!P;+0GB9'JUI&2D_Z;G>5RE@]-5P: MD5-Q.B]KV(9=XNDLUYTERU6QJH8;B&!+;J4KU*)4%L39V,Y.5BMWO*B$3XVP M"U=;4(UT)3642N/^:"5)TSS9#)]Z@E^J/.45\12!8X34;]F5;6.< H\]H?PF M E-3E92"B^F)N2Y/5SG#+ZW@T@BVMHZ-D3P]7TFY7BW/Y7M=P63"I1%L;8D% M;N/-_%(B.\FDPF2T')1!@HIB2YNL1&4PJ([Q68"Q@\&H4<>\<&D$6^9B3@]5 M=6N80:'(*J(D^Z-Z"%8$6[FNL)JR9B5GUOI:;2O5B@ZOA'M]PM:E!QUD%KH.O[29MOO+P7=B MGM:&PY.8]UMNE^:0ECK1M<#2:R-X2P7_B8O 6 +W PY=M+76Q'']MN[."O92 M]_PP_/W*9 RK ]B;;_1SN((WJ:U7IK >W[C)9(SPQDW_#4AXT^9!4# ?P)(P M?@,#<>H9G@^G7/C/!FIZ/@;T[GO[U+HT;:_B>:B,)XK/% MD33YB+-W71WY[O%>B/6OS/J1&Y'7N]U^JN WA.*^2WN%F0- @[46:CHC]%K%Q^JZ) M#1-S$F%FSCELC5O7O;U,M_CY.;:]-1BW:!E'Q*""\_IP[^XTXM5RX48,@!C_ M.\&-&!\Q_K=D_-U5$6)\Q/C?#.[=1<378?RX1T,/1<$)@@Q?4'%L?9, ?S=U M/S$"!/!BYU/'@4W_='$9TTKU/R5'?;$Z]'?,B3\L@#ZY8&LO*CKVTZ /B[*& M#9YB*%;!]GPW@ 41SQX2"D\EE)TL%)W]U[L% =_V])EO8D:].N/\@>QA'^\/ M2W-(1^&T'/3:)3'733BX$EYK$4;B1QJUS-4?JF# T@ M@GR/!72?]TZMDQ6]Z/8)A610$![%(A'C(\9'C(\8']T^(<;_KHR/;I]N>_LD M/;8>$SE81F1#WR3APU;6@;M)>$_.'+J.>EU>X]2&_F;F6GQ[T\,*M4((V=NTM5!=PU]@/ &&#@! M)$5^N1O@<+H8NN_]RR#HS0<]72CY+XZ@QDB%XMEIOI3$TE,S%]3M@3%98Y-B MXY9Q#&U:6J4GJI 5<^6L0:?G9*74'LM<.+R/)QY(YBT5AFY%D$) "N%N%,*G MHPG:-+TURBXQQ'/.)B -$1^QN5#B=AQ!O6%H 7%\?-C@ M0CGC<03U^YR)'W#P>Q5!-L699TD!MVCVB08N5PTX ! Z^- ZIACF+ [^:_P2 MC\Z&<1\)'8.^H'%'T=4K;.X-1=>I7;QK%"%!0X*&! T)6CQ0A 0M%F71=XTB M)&A(T.ZE$#P.*(I[+^__[B<*/>*(CQ$>,CQO]^#/!=&1\U!4*,_RT9'S4% M0B,I[H!-8UCW>\9*%%3)N\NP)>/1R7GJ58FD[[%KO#1?]-:*Y3G.3+AE+5S> MP@-BJ >!B&5;M,PY?4D:CT/$_?B59!\HGD5],Y!JN6O5@CIA(+9%#5P0V]XE MVZ*6+-_0D/M O5956ZX;9-L5Q5J[K$\,:UNN]QH08;!@ZX\6W'W>NZ&&+*C6 M%/5?^*0"S0\9U;'&U9;)XEN2&V\[365X4R=4=A<+UQ\Z3:FVZ:355#HPRR7@ MA%+7<$*10HB/E""%< U' '%\?-C@4FYN#$%%'(\X_H(><@Q!_3Y&WP<<5KSO M+;MBR1U*Z4IER7AN9Z4O5M#8>[_#^F\?OONL9#)L((G^3R*:Y_L9V=UMOQK, MP O5Z^SSJ/%L8F7XDP2@Y)X*"6>42.()3=F ']V$I7M>8N0ZLX0_T<&GO@X7 MS -7G2B>GE!ZH+G ]0=WOSZ M&X>!O]M4N-ZQ]<1&5]QP(V/=UEW%LC8OMN2=',KY3P+(R9\V]_1\@(K#1M_& MQFN;L!Q['-G#8T*PK%?VEY@H4,O!;G2'36W"5X8;BZ+@,=$&>TH[,\!9&_!E M+^'J*M1J6KC9W^-]$HJ?&,'4ZB5,K0:O3!C@;4 CA&'"\'W#7;P,[$S7P=\@ MHH+?F?=C6&41?FB%.?@AW*X^!U#L8%7 TV9SL#';AWM5?O?52SA@+V[X9U>? MZ+9G+.$.P._Z;O_*#*CE\%NOOP[ ]1NUANT["0"^#33R;A6$UM5WKU.T:7# M)UBGZ2/==2%&E/5^WT- .+ M>X>D.5!A(T,%^@=\!?X4A@KA=E[@$.!*@TQQ M]!&@A@]WK4Y>4NPQ%/1[44#_UHSEK_^ _P[/42V 7WBT3O8O>SHFX4OW-@2. M_^LBA^'SJ@&2/DI>V8&X[_#__SK>_N_3'@/'FN/^/!SI1W!-=H4' M9'BZCW5L".AH8LH(O/JG8JV 2CH8$,E'ZA!B__ED%5!A+@W^2#'_2AS]#!$2 MP>9,66-'.-L;$YBECP!!=U\[?!8: D\?.IX!F?%GR-M ;N#3GSTW)(WOS'^2 MQ",+.0/\N@>,)AXYYD+$>I%61/TFS7^4Q,2%)L9_MQWU9 $F_!DP'[ DK'^. M*T#V'_WXU8:'-Y2_-+18@!@_<:[RZXCJKW'K^(9.?^ ZU_PX02VBF&7:P4T*A3324 M T]<(3^/C(?DQDCXYO#YQJT'8P[/#@ MAJ=9,-^?9_K:\!-SH-7UW>FT<@)P; WA^:CJ0 T>"AZ.K!! (["5T%S !H5 M4+\!&\9W%=O;NQE#W5_INGU($YPKT/,R "^]P!/_>-M;!*Z$9[TV+ +\\*$5$+X) MHF0G++ZN3FQC$>Q/^2.#X>G 5\!77%T'FG>I6XF) @I?AAW_.H/P/6\6?;S4$ M&^X!LY2-$_@_1\9:UXX/H<-!NL/!\[O%_3*(JA__/O[#7VWX1< @I K8ZQO1 M$3[B\O_?_TZR7/*?E[&(%W&!5WN0?'3+[SPJRR$?$T 6H%S\3#0"!YK H?A# MCG;W5JWZ6ZU !\]00DZ"%BR4?14>C'L9\WYSTX7DINPG8.-%2KR?;S'UIZ'.CR NS"X8?OP) AF M(7!A>?P@MU:, MW#ZXM'<&PNLL[I]H(#5\P"NAPI4.R*L ,W[O20 7P .\G+">F02/3^&>8[_R M2KV6COW!6DY>'N!F\9'6Q;;35*61>NC+Q]);9K6XMP*Z*QD;8I886WI$H#K.1?KK3( M/)NA!LVLR:9)(S>3TQF"'8.5!/%R:5F?++MUP\W@9*6:KXW*XSZ?&&F2\XJF,6![=@.LC( DU9B@CG<&M%0;#F:=M37/YS2X,@)2C2BE M>^28*)JYX:*72K%X0*D"6!D!B2E*ZW8_V^;,V:HS+-'32G)JP'U&07*K(W.T M,7 5/%3T&,I;%#;"6*:B(&%U59RFDSE6ZF;SFY*]2C-$ ZZD7JZLEMH%'FA= M4^S2ZRTF!<9:;(YE.OK,=C-0LUAO61/3#76H4WW"P #P=!1->"VPA*GEZ[C1 M]YN+P!G-1@9<&4%3-BOWM76.M_$-7\ZVDV-VD,/@R@B:5JIM^4-[U,8#B_=7 M_75+:N "6)E\N5*WF^GMJ,11)J88]1'.$6(Z"9\91:@@J@5\SM&F27)CL<1, M4GU,A6-O(\#K0]XN;#J8(BF-2EJLFUE]K<+A?1'@U[5T0PF=&@*_:3)97Z32/8^N^AE<]BT[) M<)]1D(R5W?#)G-D167X5T-IJ-MZ6X!"""$BTZUAK6TMG\*Z4%Y+6(B"S*SBE M)P(243%G!;DVP\V:S6W2*Z[.;,=P902D,K_H^F0 EP909.OM82JD!]5I8U12/:8]KS>3J_ RJC"*U"I;G4T M:HID3I\0=JM)&S7XS B:J#$NE=?!PA=KJTE2TC@*'Y$"6!EA^_',GNB#9I$6 MTQNEV)]+=;;NP95/"'UVL?'LSCL3N.'A!Q7I;JI&VSF>L=%ILWUF1;M+J35L M5PI+&6A2H_'R9COG.-K*L"S!U@JVK]AC YA'0NA:9PQ/M1QX%K?!.U.6HYH_ M#A%<%<.&>ME;;,2:64HU*UU955/"[E(>G,JZ)OAOK-M'>H&AIBISL!G?#?0+ M9:*\U9R)?DP<-ZO*U6J9;J%<3@C53*+6SHO-1*':%JJY0JHL)H162VRWGKHX M7=K@N"=S\>.Q] /7G7^G=Q$X/X /(]\3W0J#S:?L9Q'>&\Y=P],3+<<*?GLX M*6@;P^OSWQ][^GA_'__T]%URP$&H#P&S,$4 ;FUDV,#C!)[7%72VH+5?=99[WP#?75B#/\$K8P<\9N0"DQ^L MMS8)8Y0 YKN]"].IAJL&,\^'U_+@ U4-W..0/M@2O*L&^TS,'7A/!N\.-%VU M *0PK'=\>7 %2A'1:]J"?L8L-1AY"K\<)FT"$#(UNVX^^>'O4DE7TB!D0)S N#W_^=*Q(F>BBN MNX%_WJ5:/,#T"RN H8_$> \/3,4PO"<\0\_267G/" :V"S-&# WL\B0X<'LS MJ+9"(5!W>WWQ;KAAN*7#>T\C0=DA /Q!,2S (>!U$*.[]SWM\>EJRP:>M^D^TV<]@I^#)XJ'W@-K@1N*LC*=T1*/QQAY9]]LQ+Y;)_0I@D<[A-AKL' M: -OW(78;1A[=Z!2 \9!3ZP!1(.^*(2$L?5O<""-VV,%"V\ MI/8@8;3 \]U-^*A]6,=W=5L#?U/AM=AS9"LPZP>B!*!@O-O1'O5 #IYER(2A MA1&D*7@0X(OQ+O9_"E CFKNKQ"/M@%,CU *MJ&4/81_VH5> 39T>%FW9WOL M*:5FI\MNI7Y2QVD^RA!HX&=L>V"CYUKIZ$;SB4570(=#^=LQS2ZL_&:\9Q=U MN;0IVH)91X&EUT8'I12U.]VUE9D%4Z,CSIAJFDNV5*V8%2YD27Z -NW3FN$) MY?#J*KQ'!B]R@(*? ]F!64':_O)[IQ:&.F#HQ/^$?.P$'D"_][_GO+^]9CQ_ M]U:8P[//WX&9+.HN ^9@RX8)0TK@.XL'7['8/S^YRX%:P7P],?4IZ/[ MBZ>ERM"#YIU^X92GTQ9\N/#]?L91YMI?YK>3C_B;0VT0(:Y$".*1?+.C%R+$ ME0C!/])((N) "/(//>X0(9!J^EZ$0*HI)H1 JBDFA$"J*2:$0*HI)H1 JBDF MA$"J*2:$0*HI)H0@'@D4]#LC(3[:7N]/0=9<(!:+#8N]AHN[Y[I]X^*S,,:?;/6; WN*#3YG M$-^Z?]\A_^8A 7;A?620TMO&[M>9CO67,9A;$_@\G3?IV)'TNFT&*=ES?3G] MU'4,O*'@ZS/O64?]VB%=LK5/T'[1D;\%,VWA'PZFWV%=^!357MMR&<"G[_.$ M]W_=/Z3=7?9LAUD;DCYHT-WVDG)UI_'I-H<'N<]!J3_1R[ F+=,:F]KJ.,9E MJD4OVR4+65@@1_WXQ;(/)'61OM7DK7KP(]V!=,>]ZXX6$'-8W%71-2.8M6 W MPL-BW7NN3.I;LD$UV"1KILG)N#F=K=IOF=,FJ^&)-%3B;8-:V!447=D/GR0<:O\BY MOPL>Q8O2?R.\L;MHC0JH<-0R^Z@\<=< ^Q[N3^.L?.,['_$H$'HN_1Q?8%\H MZ__[WTF:.\L" X*F(I_2]2/4CU(-43)]5S]:#)9S3- MH*^,!E2EB8G8L$A0&\'/V;T5T#2O!E20ID&:!FF:V\98/B/IQ*BOYX.JC8OZ M,-5AE@35H'(->3>-CG_@<>XBHG[QY)WX!5MN'2"MZOYA"!I*X+E"]/OFXS>O M%QZ_.:@QBI]_T12@$T?'2"OTNTK-ILP%3SF3_&C3[PQ@UVF4_8,4#U(\7U/Q MW#YR=LJ(M6>UIL>5TJ(AKFN%D5>3-VO8+9Z%[BK%(D6$%!%21 =%=&@>C$0 MB< W%8$[#?"<./KPF>&DDJS(2+5Y?5GP;+52%%=P4 H)SC[J@<5)E#_S)?)G MKJ_5OG-&S1T[Z-1.W;/MRG)AQ/_C4ZTJ#>;8BO+H$5U+@-<17JVA9?3**N;>_' M%>K:=I<)GZAK&VIY@%H>_/&VEKQYRF:EHI[X0-;E@/*-7E9;9'%LMFB; M/8^SVMCE^K>(3F%I&[RK2T$M0W/2O.RE\@)0)JAK&](E2)?$4)>\7H \X]1F MO2OV;+R6[).CU;"]&&O"Q51'9ZFU:UMG6!.[==_8S&IE96.L@.I 7=N0ZD"J MXT.J(S]D5,<:5ULFBV]);KSM-)7AY40WYPBS?&K"MZ46[TVHL;A0< :*+NK: M=M?WJZAK&^KY\/UZ/J"N;8BYORQS_W/YAB;?)PKRF0XKR^U$$3+FNBCJ:Z]? M[,JE-A8(,H^ZMB'5@U3/G:B>JP=-/J-I3+(OE7J\V!9GKI #8"O+,@XU#>K: MAC0-TC0QC;%\1M*3::EV&G$39/TCQ(,7S117/[2-GIUK7 MY JMAF]H79,-JDV3KU6+(C,&F@AU;4.*""DBU+4-B0 2@2^01'/BZ%MO&MPD MV^J/Q1R[X!VMAV<*$VB$HZYM'P[I_-M7 +_^.N"K&LS %M3X-,UXL:U_:\;R MUW_ ?X?GJ):NN)!TD_W+GH01OG1/.!S_UT6H\;P\CJ1_"]Q>Z+(8P>_@"/<= M_O]?Q]O_S4T8$!['_7E0'$=P3785=F3(7F,=&[JZ8F+*"+SZIV*ME(VWAY-+ M/CY%U7\^Z1Z(B 2!/U+,OQ)'/T.$1+ Y4];8$<[VW(Q9^LC_N?_:X;.0$Y\^ M=#P#BME/5[> L;W4X=.?/3_,?Y+$(PLY _RZ!XPF'CGF0L0Z4H>A2OQ- MFO\HB8D+%=E_MQWU!7/N'@)_!LP'])7USW&IX_ZC'[_:4'02SBB1AGH1N Q/ MG*O\.J+Z:]SZ'-6G,*B$&D^F>9UBAB0N\QI#RW22X^2DINBRIHW4(JAQTI+"I=^JNJ:UPIJM)BVU&'2EX@ M?7D%5A+4RZ6E;7I3S^8QWVS-U>ETQ(FJ&,!QL^3+E;3 D&S7,P=K?% &0Q->^ZG MDYL&'':+OUQ*CAOSN4/E)Y)A-AI+A[.'V4(X%S<"T[JL""5NFA.E6:/K]-:- M=&U.ADO9ETL=;UE;&3F!P].6G2%+9=6">9M@:?+E4C'H<\':K6&FX67X5-X- M>ED1#H:)8$KQV#8]][8$OLC/)_@TZ55R,[@R@JGQ!U)A4%I(BJAN @D6^:X5+ M(YC*\\M1R4C5RA+IY8PF88BVO!!D6HYL=55=+JBQ0"8EW2QO^"FS)?PA;-8: MP51UHLYYK"O7\ 736.2FO;9?Z\/9"A%,V5J[V2.IFBRF[:G4'DX5):KB* NW&D6J3(];^590TD0CQ0^LK%'G&URX@0A262DM ME.JB5L(W#;1E9.^@;3]CDA M$$M3OZ&N9ENO:\,$ZPBGB.NI98Y2I3Y>\YS-IF7FR^H %F!%.,54 FLA:S8F ME:Q59\2QMQH6'<+L[;CADLCY.?$6<<0.QJ!;\CI:.CVLTZ)#Y<^)[^LDRQ-XUQ2YFD> M" >5I&1^R.(RH^I)AN62"HM'"%93%J-%;RT6I)RF^^F^U BJ67@(1(!;KGUS M-)UN>!&K2MU*(9TB!14JP&& MW)B+;!';K,7 L1=0LT6>:FN8F^'FOX M3$LQW'+0'Y!7#U@"%C#TNPP["".U M=0T;F.? U(NV#WO%9C)\8!ZKSVRF?7N(@@W3,WCI40 MQ^ 3U0HT74LH"0ULQ;!#5QNZXHG_]W L /R,#;$TO QM9^\U/.W82UQ!2 MX)Z\%CVH*JXK:[7"6*W4"5H*&*:Q%@)\)0% ?M$,'HD;/"16$T.=)":*EP"< M8SR]/V$9(X!A6TL87L)V_(07#*>ZZB=\)Z','-.F+<"OS^YNTGM\-(_1L;]IJ>)S>T;.'<-4>JFIV%_F^7RN M\8R5,$]7?VJ!NP(>L:?;+WE)V*/]C9UU0^VE:P) $G"]I1 M94#X(VZRYMGD M,BB679--EC!)S; V_->QC >$^T34NOJ4# !YYZ0W^>4!!PT M=YTY_!40%7 ;9*4#Z4)JP0]&@1^ KZF*-TF,+&?E O3/P/V*H_<0(//,#[ MWY^AKGPW(P'=<<1(X+=.F^TS*]I=2JUANU)8RGQF;#1>$K6E3G0ML/3:Z VR MAHY[&[PX93FJ^>-PI,Y4HRJ6%G1*RFV$S8JH>*J&@S?H0(?,P3M\-] O$Z3^ M3&@L#-P]Q9%V@6C5L2QE[ND_#S\L M'7['8 SWYRYJ!E7!'Z-5>X,@?/%AJ3+T8),W_<)1JM-65;CP_?;(4;#QG2'O M?7R;I1'6KXCUUZ^;6,3^<2 $DHC8$.+M*@E$B"L1@GWDDH@0,2 $4DVQ(03- M(4+$@!#<8Y)%A(@!(9!JB@TAD-44"T(PCQQ237$@!%)-L2$$4DVQ( 1RZ&)" M"*2:8D,(Y-#%@A#(H8L)(9!JB@TAD-44"T(@ARXFA, ?:0(1XGR$^&";GS]F M:EP/:OX#4)\O)^*.X?ML]L&%J^CB@83KT/WS2(CD5G\0*T]S&?G/SF4DN4>* MO>O!C*]/M:;.-JXQWER$F.:,3'.N4>A_,FENCH(SS/C\RG;#S93!.^CZ^MS> M^)L-?SVK_E#=<"_*_8Z&-'./?+P'5N=V,WR_#.'?)EB1%>DB[\Z=;^1+D8.+G)P[S%F^C=^\1U'O'9%[SN9@-74 M=W-TQR7$_I>6W!VSCC"#O?J_";]=],@G0( M.F(0>Z C!ATQL602=,1\T^C&K:?['=K#)2S#\S^7V7=K$*X_MF,?C[CI%(.3 M//MZ9[A(4\ES]!0L YXY]!*L,4*GT-RHLFB8BW:M.?1ZR[)PLI<@;.GWLN?< MZ]MXV3 0=ARNRGQ%I_RMU*4E0;;*Q0Z3;\#6S#]^\=%Y!VBK@DWUJW]A6>/UY:OYXD4PNYQBS$#>94KJ7794' M# >;QC,_?E$/-![M38NTPSFU ZSZ_ K:85T!?U M@'5:!7J\QEFMH#0W[8JW"$=7\$A?(&OBH[6,\2+IY<8W(@;^<@R,S&'R[ => MJU#9,+UY1L19Q:^M!VIQ7C*O:@Y;L_2RDR%;DE3S+9;HZ=RZFP\'(]'H?$/V M,+*'OX=Z>+\][*0E@AMT)-ED"V30-PRBM*;#\6@<4AC(GD &\5OW5?&"]F\8 M^ X2==NN F &O#>NE%\H_X35[J-"EFA"ECA<+).L]W2EIN0C&0,6YODF*6* MS?J%KJ*&F>;4 (M7HFZ,F$)Q3:GE*AQ\2/[XQ5SL*NI.]E[UHFNVO+KK;,665M%R1:-CX04XF)?Y\8MX()(7M)&_G]R_ MW4?TKN3^3[TXD=S'0^[?[RZKY7R^&JPR([-E=94^+>4VE@PU 8\T ;( /M_Z M\HY=8<2==\^=W\P^_;O(;N28>JC9"U48?29YH M'C//_M#UYJTZM3"J<[PT+N)5;L YO57C,E<].*,,>MONRC2Q.>MPC$\K56(L ML_"JA\!1V=$-\B)N6#![?8_\ON"_IV#S9S3,]?QY<2DUZ?%V6Q3UUG!*;VM] M?,I#O0/OF\@'$B5EW2:+,\;"=_ZHP'W!CY3/Y6(*76J>K#OY ,)9S@@;81,H8L&)NX+?J2-/JJ-JKI_0O-D!7^;H0QR@V]H M4N*4^F*ZZ4)#B"!^_"(?DAR/5 ]2/<@+N],;E;=4SUSL<9-QC6E(W:1O9#QG MKA>TJWIA&W69JG76WM25#(S<,N6'(#4/:YZIN6">G-AN* M9YEBR^!:5+[0*O8KH3[B?OSB'W <^6'(&$)^&%)'Y_?#"O5"01X4F*+)\CXS MM7TUK[#A11C^XQ?]0"0OXH>A(LOK%UDZOF(EC">F2"@A5Z"2R]B67-[@'/R^ MN5[/CSH*''6:$T QN=99=ZDV0+>&*S9G."7CV6F^E,324S,7U.V!,5ECD^)5 M P^ZMI@IZ5I=P-FF73/RF&(.%$'FPNM?]H%#.9QG#S+>.*"+OWWD_2O>8+O_?);P_4M M)?VTMQRHE2W1$53/S,G.=BP.NZ)$OIZKMN> MGG!&B?]S9@G+!&[X#IF0]\YOVSEVA3MMML^L:'RMQ+@:LJKBO/UI@?I :;FA2L<*=$=VA;60FP%P%)1LWEAXMCB'R&(5(F MK67+7+$IQE2=!@NUERA+G2@MIVJ/Q*F,ZX\36QM*0SC-7;*%G)&.N9^5)8YLW@ M#2RYNC?7P2]+W=H\)MI 2'7/!WOQ7Y/.7:6Z/4[X3O0"''R2T!5U F48"OP( M/#?A!3 ? 6KR!"PU]D+*@+^ZNC+R=3=A@$\\@!3+XG_ (_R)$WA@E?>_ M/T/%]7H]]6<%^SF>6^I$UP)+=T9O')79P ]<_9@DX@XE;:CTVV!'*AY(C ZH-@?CA^*TL>-5D-_MUIJRQD"CV82.8I8_\GTK@.XQK_SYB!^7[.8(,.0!:8?? M,6BP_!P"WC6Q%4#3/W/',R S_-P)QE)_\ MFA6.%L[?/\H9P/+T_U_9=^0C\V9+*$2(*Q&">&1X1(@8$()_?+.7$*+#U03B M;<\3$>)CA/A@!N?^B+YA@G3$C7USR'W6<4/KMA]:LZ(-/=F,KH8YR+L\RY8GU3(-^XH!SQX^GS*,WYMXFYP@Q2JR2\P1FVGNF)5\O)UT[=. MQ+RJ8%OME6XM]0K8X^14&LA:=O45PR8+XJR:F1ITDS?[GB # %Z+1IY-.W\A M6?^?4P=#][.]J_S>K87,(@OY*UC(UU30\0+O^^GLB:OK)[2V:RSL M:4&?\+C1:$\'TJ94X*IPQCC0V@QUH6((9"[?P%SFD+E\S^;R37HHQ,JN/N=8 M/&0UWL!JY%\D82$C\AI&9(SN6FYA9,88_$LKN"\D%G=@8EU?Y+^U-7;STIT+ M72_=&JQOZ32?KDABK89-K^QR4VSEJO5J4AB101%6)%$7;15P][;IY2J27HK= MX^[-X#V0D0P[4'9DB(EZOT;MT]]GTBDAO\OD,#G$:4:156:DR/1PI,I)DJ=D MBB8YA254GBM:8+=.^RZQ@5<3+E6 ME:"$*RG3[#3:+C>K-F0RNK+-ZOHLWRJ0THRAV\557NVNTSC M([Z#BV1)*Y5R!#_9#N'*R-N=E= S^%P>EP 1:=9*"2,<7\GTB[?+#,41.$WS M,HLS(YEF<%[F@=3+K$J/N)$V5(DA__%OO-CY^[Y#O82A)70UWZ0V8[-ENX7T M2DWE@P$<3OT"!@+7%$WAP(-U;BC3"HW+RI!F98TE<)YE%1Z<3!__QDL8WO6= M" P"(?ET>3SIXIMU93.F>M:HA@DR&^4"PFL5IQ7*Y7 M9H1F>DN1'L )<>&/;2=4QE1[&]JN/K7CB$6;"U&G3QF[JJ&TMX M$'@9PU,MQPO<$P5+:2XMBZ),6Y+29J1>V]B4LRGA*@5+;^6S,8^)XXQ1(9VN M2=5V*]$4TV*A(Z3*XE.NVZ7/FGTMT]XB9)[68KXS#W]]IYJ_5CU;;22H*G Z M_1U3A.P!F )87XJM D/F-V-$N2'3Z9L=O+!=FV1W6&T[]F;17SX<$JQ4.I85@_"(L,3U40QJN\+=P-9BD;)]A_:=_T)/G(G:'D MC<,?DTE4SW"KPA+@ UE/80'BS48EB!!7(@2!:@]C0@C\D424B ,ED&Z*"2&0 M;HH+(?[4@0A1XDJ4P!]Y5!E]1D)\\,[NCP[$]:#F/P#U18_#6U<[?A )P*>% M'_Z_'\R/SR*$"9G@CHN.+U"3_0$==7/PSU (BA3!;>CZ>KG\*1$G/ROB!/'( M,WB9YC@/=S]-#X2R,<>>Z'S8M1(K^HXK^UIFIX;75V63YUM!<*1\K M$DJX-=R?SL"*Q@E1J=(9LJY4>VW_#$7KZ"8X';@N4#0G MM\7ZY$N/5&]"M[U;IT[">S6 M,I5NF&*7,C%*ZP5,53P4<',/!'&^OANW#%S'R$CZ.F)ZX]$G=VH4?4I,G=5P MP6^FRAQ?M!?UI=!847FN <24#<64XL]73'+-*%+\S*!;NS"90$^,7&>6T&=S MR]GHNG?/;FHL%.Y]5?5>P)2Z+P3&\VUSFXR*YF%=AA+4 \<3:$P&))5% 8[ MOTWT85EUY2E6&5;%C*G,FBNOXZOK9*8!9)6%LII\H)B+R"J*A5T]8"3 ZFC% M5G4X:=7]><_>;RQ4[MQ$Q1;&.J\<$TJZN&7[" MS7P]C3E$%R';I$X8N-4[#7 M%$ZZI" G=P88=R*A\WP&V-?Q;)&>^$[I/_=H^?VMGN"UPC2UP@I9<2&NFZSN MC.=58@7T!,S\?B#9:$G<^2S KZ,G[B "=J)C\$/"UOV[<;OCH=%O/0#E8ET% M;@U8;%(0KI N]&9BIKO$I7RFU*KB).U:.#])2I:W@CWS8;80SC[P%(VRA9!8 MO\\ NS5@L1'K*V06O2G6"[E95.:KLH]WU1QI2^,9YK3" 1MA8A'^0/(7J86] M_V#;86!3//N*OI@B=?ZI4F>Q?:Z+N]VZOQ\*LFO7>M2%5K5TQ84L/WGQ#@KN MZ1)M:%]M0D;2O[777H-E,2+YLMGL?SUKHOOD\,!)&X[[\Z"%C^#:-^\E0TD= MZ]BN1V\XD?:G8JV4C?=[,@9U4/ _GQ0Y1$0"*'^*^5?BZ&>(D @VX12/(YP] MF]*Q_]KS01V'#__0*_B(V"3Q",>&S,"O>\!HXI%C+D2LH[,E/%]^D^8_2F+B MPE/AO]N.>I)WX<\'S1E^LF\HM__HQZ]V."_%&2723CCXQ'OB5.4]W/HCYG*97M8EHCEVE* MZ;(I:-V2C_=HX=2DLVZ%*ZG.4":DVK@S*&AND4SG5Z*] MTG@VG%#S]OC4I+-!M:\Q@_R,%[N]A5FIZ+-)([4Z->D,*^'E;3N063&01Z/Q M5!B*?N;DI#-\4Y.!BI#S>.!DZJY%%'O&Z.2DL^9D,50YQA=$C&R-JTM\2&R= MZ*0S&.MH%#OEEK5TQ0V68V<5C\OD"N/(/#'X3'N:R8VG:P%GU2+A]JAR,QF, M3T[MDG%]Y5II']\T ZP^&F7)6B"D'CU-2N MN6<6R7G/68NL46RNFM3:2A=7\LNI:F#E5A[(1:Y24LU-3I:KV6DOE]'ARFN- MUZJ[SAS8(YNZI=B^8&OB(C#F,R =;TW5VHP58QA,NC,QEZJ)J6VJW.7+JYM/ MU6*?3]6J-VMUL=GN)X1J)B$VI$*](E;;:+#6>SD@2O="E_*G!%M:B3E/;;8: M=GK8*%QJFMK;\[,.NPZ;0>F'+7_-$5H\\T@2YYBA13\2: 3!7[@*9QR/DJ00 M(6)!"#0O* YT *X0B0@1 T(@S10;0J"Y3;$@!%!-Z(R( R'P1YI'A#@?(3Z: M\_ G[^$+SLWYTVGX_09H42=N)>]JB,JE!VB]K:-N#OXYYJH@1?"E!VCACQQY MUR)^Q@%:<:![; 9H <9@[YTQSC= Z]LH^EL7":6=V1S8V"[@LY&_4ES](6'8 MJA7 UR8L V#&TW=#(0R((UNQK VFZ4O=3&B\I M5LYJ[(9Q):D'BKM(@ZZ;"6_\,F9OU,;E$N(Q#DH@V^;@;D8RG;?1UA/2V&N?.;:&/"&EV5+4*A5IF*];6_LM95WQ](EC:0EC-G>=I3[;E1+Y5[ MAWTFSFQ)W1?\=VY\/8EPX4B"7U/L&*^5)'I82YJU3KI4F/KM99YI[$9P\0\T MBV)5-XE5Q5@ZSF_"W1?\=V[U?4@[5*B!S1..)TJ+T7*:7HHM\.[Q;@@7_Y!D M+]+H 86^KA[Z"L=PW8U7?7NE?6NG! 6Z8F)KO5I=^)I&K7+V4M"R&0%O;:89 M=U49TBE[O!NU15#\ \>0*-R%PETHW'5VP^?#HBHUNKV*RWH2'HPIRN^*%9%8 M["=M$13SD"0O>/-WIZ)ZGT$O056#66 IL+!:T^I.RW -=*:UMKZJ"7-/+KC"%VN,[/W M0^*8Y /!18@(6A2CV!@XA@?+]AW!@ M0E_/87DF9.W$_'3+1F>4^#]GEK_/-L;\I#B^QPEZ*995Q75E7<'T[JI6\W!# ML!LMW+HXH\AFB2)FTEBUSQ:884W%:4[5G5] M1&'M+B\9U4):TE,^.W'+U=+:AXC"@4L8-3\>0A:[-+*(9\@BY$&#[6;)$>9* M"VK;H?(K83KCQM='5JVRQ(W98*Z(,SZ+90J.,6-S.V0E^>CE:<*P$U J'N#_ MY YU$)X'(./>7%=A*R1K\WBR6?Z^X[5*$AREC5AYJ+&,3!.X+BO::"AK%,[Q M%*L/268(=-SSGM-=2PXZO28CU08+DTEV,-:;KDYUO!96@RGK->>FN&C6+&]N M]E8%:WRJX[4R+F&#ME=C<*-89/B)+/7T[:#>2,W M%L!*_N7*R99;9D?]U #',E2YJ3H#Q]B,3_7&3G*9C+RJE%M2;>.H6;T]:.E4 MXU0?:ZI66\RR3H852VR=*;3<=8D>"F!E!")YD-ODS(*\-4E[VB2P31T+,C"M M/ (1K0W7S>2\G3399,K.I.WA6O/@,R,0I>N=M3TU4SV\Z]G3 M6Q+;[0.-5% M6RPMJ,(T@6^/TBA-%O*# MP,M)W61?H3-B3B@73G;F+FGC%E>H*) M1B>[R7=F:ZF; =E7&^/ M-'+.J1NYO(*Z*;)7KDTIZ=3E&:T\U+)JW8YI2ZM%P98>H*GMN6^U\?:G9X9C"M2 MMFTMF-MN M2U]Z4V%W)!AVH&N"_\8Z&2XC+M0:VS)L_3".@7@DDN]N"W)LK(/3)>R!![[! M/282B;(HM,36F=NC_V&GD:Y.QYL]_B[Y2/'[[QX\2MB*^ZJ6<@26MSN4'UO+ M5LAC"168OPHX;D>*"C=M@(]&KC-+*(FPYR"PIN<*,) ?$H!.ZB1A> EE- (K MPS^M#'\2MC0_/-2?N$XPG@"&G,V =>.L;-WU)L;\,7$[H)]1],X)*'C0-SGT MBTM0Q,/>3CHFPD31WAL]")E YGA.XTJL+)NE_K;/=!M!;V,)Y_9?"M7L,U,3 M\W05FINPTZ6GVP>5J-IK^R?0M "^VBAKV(JM/FG$)]L2/[(M.WZ5;0Q7RY&9 MSG%]FM-\;3T'MJ7M1.W*/=/[$\5/K'173ZB6XGG&R #,K #./[SNL! :G@"U M8&&X^HM@5="TL%>H8NW06G7\ONX#]@'.KZIK)[&<;&S86J%0PG!62@TSO?R( MZ+7&I[&L/#T_X1R.M 3PMB/H#>DP499ZPG;\Q$;W0\41;N(Q 1 $6-QW7LQ, MV,U'@,[[(E# L>>'C5&!Q[!# B3+07/MO[N7"RC#!/>/=W@Y? 3\\T97W(1N MP\!!1+ .G@>9^!\-CEYPO<2)D0V7MP[ AM..YX?C@J)F@:25QU&SX/2ZZYH%7TE77V/KYQH'\A>S/@XMA/]NT@?#/[+,]^R5O OK M/^+,[]%A,>IA33PRW[2K>[SI0C[2'*)+_.B21'2))5W(;]N+']$%T>7C=.$? MR6\Z1"3>=$'R@NB"Z(+TV+W3A7BDO^EDSZO0Y8/Y]'\,OUP9"5?*9GT[M''Y M64DGL/#1"0G'@S+X/PW*",&F^$NLN MF 9IAV^H'3X_1H=X3#)?26$T]S> =<6%*0UGT@Q_\@!NPC"G+0N(SPA>/CN: M[PO/[?H@7]5@,@!B)\1.YV&G?0LW9+;\G=ERT\8L?Y"A$&$:K$P)$T'@W;WC M_CRPZLN_PKR!GP .W84_1?XR+EMHC@C]"JFX>[N-69H M.&-3BAM!]U;YXRO@G@UH,H;]%&+"ZK?!RU58?1<L_GFK-V8D MO5:/G!A$[8YF\QWE>H<9UL#A\\[3-^<:8;K8::HW<\PN#_-YFFY< XH_]M0X M!NO<;37^E.#ON;Z,IA'555F>G"VO!D6) A[\.4^RAE);S8D/6<._*P M=:&-&WU-MWQ7RJ3=SQ>X/R\JA-[BB788EN'%>/?\77)KEW2?]3#L:WE_1=X'@OX4IA.1B67&HJLF2SD.:20F_4 M_GROCW=)>& PT[%N9PIFH*2S;;_22U9+^V%PY -)7:0M-I)P).%?1\+/W*+G M76([+(CU9+*5F9NMS2!;'%84+KN%8IO\\8MZH/B+#/.YSE5"C#RHF/F/K8GC M^A@X2&:7\*1B!FR,@ONW[LE\V^#_K:&/M>Z_O1\7*H4VT EO'1==0S+G U=N MX"5:E%G;[&V%@K";#,E0%YE2A(+-'\3+K>7LML'H6T-_QUKFDC[DN[3+E&@V M&;K!89+NB-4"F2P,>$O839:DF0O&B)!V0=H%:9>8^:_O4AD.:XE<)8?A9G?I MUK>9YI3HRE!E /\UF;Q(DV=T)7A;WSU,:D17@&?R4F_=L?XZ=X0W!S/6BOOV MSN=;*KY$-K8:/BFIDM$3AUFEAX\VSFH_'?>!Y2^BY-'-PF\C\-:R<XUNJP5[:;QD@_LB>&+2#4@U8!40YS= MOC=- 4^I).O80)#293V;%*O&-)#A]&W@[=$/%'>1) -T6WFGKBVZQ_R"14K7 M1\-]5#/%*$2,\!*_*I#KH^$^RD6^$7L@O""QN5_V0+(G-[0N]SIQ8&"LU>)&ZZEA!^!W+&B*.11S[K3D617-O M:S*G%6^2F"N&%LY'4V;P3A$./5.M +9?#:>?Z8F9KGB!JQ^&I>^2?2Q#&1YF M2,*Y:>KKO0&\GR@,_*7#P-^L5]4W"L<@O-S\_$=4CPW5$5Z0-,2.ZB@6>RL/ M@B##=SR5]@,;&)C3<'Z)AP*D=QH@19VPOD@2^_.&&W5E ]U7[T0:6X7(]<8> MTVV+NK[.4"4E)^<[*YG 43NLKQ^K0\UR[CPA_=UBKF?YEILNM8NBOEF7/'.R M<(U2 XKYKB<6RR(Q1V*.Q/QF/;'>DMTAUG?ENH^)V$:9*%Z;P#:%4';#QE@T M@5+-O^#E!$HU1W<,WS+5/%YHB&54$:'A1FBX610V7FA W(#0@(0"W43$Y"9B M]XIN.'%/US %;%09ZPE7GRF&_7M&1]AD]G\,.['1%=?[W_.EY=PE@>_XE@*E M<<8IFZ&A&0_65R-9B!9ZG/+H8%3ZZ-/IGPT5OF M.XV)/)!,APB',U#@"/\(VQ/ M33Q=&O=:LRX9K"J&M*@;]5IKGJ:I5$,F*)CPD2 ?DT\#,O80(PE F@%IAK_5 M#'AVFB\EL?34S 5U>V!,UMBDV+B\N(^9!D$'&T$V%:TU7U*J'31A&B<%[?->+]&CYB$ 2_5=;(]X+Y]B'P6[DYWPOFVX?A$,S7LT.^%\S?D<[?$>;O MR-LH(G];&SR2BJ$9G@KC)0G@W>BH'\K]Q^3CA0:4JXSR$1$:XA)71<)JRNY/<1M+%84?( MYFK!DEG]^)O+]]/-5>KTN.86UWEIT7=3@MK)U[#DL\IM^M.%VR\NZ3)[3[<) M=E'7756W?P\/P\BG^[H-V^6P98DNX>GN,*\Q5+7.:X),A)-$J:/KNJ>2[G^A M^!>".58QOWM2"^_*R;F=.IB3I#T:@:_CRC*U:LXZPSXCA>J _?&+?L1YI Z0 M.D#JX /JX+5$G-O)N-=/>>24KW!X:6Z[A6Q77]GM%93Q9"CCT0'!YY#Q;W$5 MD@8P#%T#/#6O6TL=P@7?H-@>%GT- 1[V'=-Y[@!C,?,[[P!C,4LE MN@.,Q7?*3^]<_0<37P%_RP+8B(!($_4LR_$D<_0X1$L#E3UM@1SO8LB%GZ MR/^Y_]KALS!8\O2AXQG0]__IPGL,8ZG#IS][;D@:WYG_)(E'%C(B^'4/&$T\ MWVN__HQZ\VY%DX7"T- M0SJV[SWQMO+KB.JO<>MS5)_"H'((PCBRS C-/I%'%NE12S(F./),%])>V.9 MQ&7\Y5)QVB+\2D\:B3.>R287^?E@6UO))!%=VM@F*<-8R!U)$:=IV4SQG6TK M7!H!J[]9Y]CTTIJ+2D=LFI52KI4:"W!I!*Q@P/MLMKZUQ6ZMU2'+@ZVWGC3@ MT@A8+6Q0VK!\)XGK&"FZ=*>;-/( +#*ZUY+"I5FQE\^;B\YLTVAEF:R]!DNI MZ%+*T=Q5+^4Q)EE5DP."+U=X.5P: 4NTR;(G8O+,W!#53:ZO>BDM&RZ-@$64 M.H-@J%?+)M;3[6$O/>HJ$ -4%"Q\U5VF^.FF+.F]/IG'+-9ALP #S(F]U@<5 MO9[W6V)M0%?$B5E1W2IX*AM=6A?R"A<0'5,DY9RN$1O*F^0 M;CHTLG()DUB M3*NF[D[H>=G@VFYQ#)=&,-#BO>2*:O7FN"*-D]MB/K/RTN'2" 9*>9WK;[=* M12H-RJ-E=3 ?9.8"7!KEUWR6SNG;;F"VK&2',8>9)+T$3TV>8,*N4_0&K)P7 M2]5Y<>ZFM63)$&3J!&LW=3SOKY;UDH2E%*'>MNR.EP)+3["+9J_DOE!;;21% M&5:3KC/,\198^I)=9(9G69PB"/ 4AI!I@@-LF@3+1I1"L"-_GPC:J0 M0D77*Z(^W[C+4B\]3HV!X)[@VD:E,-.%C6RF,TG23"_L3'<#% >\VGV^DF]- MZ6(^N9B*1GN.%Q8%P2[J\)GLRY78I-#O!DJCCM<6"QT(;!)+N7!E\N7*A6\W M@MFDUY(VHJYDLU8NY58!%:+[;.%V6^FY[:Z9DYAV:F.DK3:4@RB_5.T96V+Z M0E["IK/&-O"+4A[R2Y1=.".3;#OVK"B6,A@]6G2=NA^^/<(M@X 'A-7+;1'K M\^.F+-)#PP;$BNZ3H;-XDZW7<%PIJ<:,[N2YD=Z0Z>A*CJ<:F4G3$G&L(35K MGC5L=6N"?$($E45GZZBY*2[IN+#.MB?Y@0_.@1,2:/>S*Z?O,CUZM\)S?(]5Z;YCNYL;RB2,PG0FTGL)1.7'1:S2&*6KH$H456!FA M>ZY8:+2H#".(&+,LRLV1D9H"S/-1NK,K=M@J%#-=L38?<.U>1\?==MC-/H*F M2D#*Z;X@YJ6MOI MR".M/'[Z5N@=/-G,H8$+[65+F7OZS\,/Q[8?-#'WYB4TM-2=@?;PU=AEK)Q O^G$OC."[OT3A+V;G5I>YV+F%=]L--8&#Y[Z=Z,'SJ6]L_O MCG'#Y] #IH(H^7\_^!_OH37%/U+LP?O[H)XX<^+ECYP M5!*B#0=*9W0U3$#988HB'G8_D#A)1M"&8A\?CWT@C?*]- KY)XWR*B:(QR3S ME93,/NLUL4][/9,VN7HKUO>@(1I>.N S@I[M$G$3HB= MSL).;<=7+&3JW,+4B7.M5\AAFJXZN_E[+RYP7O[5,FS])X!#=^%/D3_O;AM" M"0'O"?,U$VG'\]&^#,HR%BUIKP%7#/W'L_[D"CXNGSLGHLNW B5D>L MCEC]C/,I8D;2NS*>;XFH-SH% !<3VK5W$AB,G9Z[<0W".::RQ[#^_])3V7%?%D<4%2EK7IBK-5P>,,>:WXDS"SDOWQBWS@20*).!)Q M).)OB3AI+5OFBDTQIN*TIFJY6,.#]87EUG*3%8[H;R51SRO5.6[2LY03RBTL MS'_ N6AE/KJ_^.;W%ZV)X_I8.%'Z JY8S("-T=W"#>]"8W#W<&OH8WUTW-X1 M#)4"G,OTUFGC5;E>)=,9>_C"RB4G&_H[5S"6=T'>I%WRTK@_:/&%).3;5XNE6L8PQH7H!3BAQ21<4J1>D M7I!ZB9D#_"Z=,2B+Y3))*%D\H.5NBF[IF3XG0)T!'&"&3E[._8VSHQ-WC_B6 MB H3.=$EY)G4-P$Q"H#PI^1 MAK@8I)>56F?"#WHKV 72U<6$C\M;"<.1(6=C;?@+HAO/9,TM%9!D@W(-V =$.<_<:W!)Y@>;HP*_-3 M:3.C:L*J6S.RM;!_4GA?RI(7265"]Z7W?%]ZJVKW;X^&6%9I?:,)L?=A02"\ MQ 4O\4+#?=3+?"/V0'A!8G._[($N?>[YTN=:/1O"0%:B8.^<5?#W>VN!%2^A MNWVEVYD3(V.E1"]2EAXK"+]C-<>9DV!B14_$L8ACOS7'HDCR/4>2TXHW2"2400E$'47_]6@=K:VK,#=K,_K-UJ,516YE,Y5:;NPAJ[JA$#ZF-L*O.V M:\E3V7!@7Y$@4TE7>9]4*G@9WI!BXLNE%>S?D0OZ6[N@?UBAL!_D"HKH.I.8M?'/@OU8BM9-ZR_SY?0E%HV..'1$BB]/60.;XB[]]U$QA"M9X1QT8< M^Z,Y-O+2WJ>7=I,\\TH_O_,ET81FTK?5&J/,N] X:3\4YMM$^6KN%-Q+/(C8 MT397'WTQ\:8U;A6HEH9U&#?9U9L8%I^.&?H@C@?@2OPMN1:TW5Z/XFWM0#HP M UM;*]#_$59>1G=1/2]A)QKR2.XC;7=0Z<_7DA#OTQR.P,0;0('4KE+>9N9W M[7,*N21$= F9<^Y&"'&0JS-G&T0]T6L)6GW1;;>H]@#/*LW+(T,7&7538R4_ MUN*%T6K5%99#L^LC PF0(?&(X!$R1,@0(<.9D:$@$**I*[6V1B)K+*FLNRU> MN((B4!G8"Z20$I):O&PQO48EUY':OKBG@+CCCR1R 7&/P@V?,25?HF8((A"W M2OCY67.^??SA5E;BSYKS[7V@T9ROI\7\K#G_Q'7^B7/^B;P=A4/N,QP2/.(H MBT92;1'Z:F+ LI*C(CSW'Q )%QFB)/4H$34B0U@<>^$B0\0-$1DBH8B\QM\B M2?V:V4:A887((7S7#N'/Q/G>J@0PLS A=.I>ONPO"^W6U MQ**G<@&)3U<+>!9>S&[LY!9XBX9LB;+QU*HOCCT5$NBDJ*Z$>X2683HLJ942 M4W/D<;C?N!??RSC:U1'X=^1[B^8<*G_C/<'"N[*);@<'\B AX;,FP3%RQTT9 MI.'EE*("X8#\]22B&ZG8P3C<&@V:6R%-*;M^J+=5>; M='@:RGC*E_'CZG[GD/&?'8;YC\,+NOS'IRQD%]5P^: JTWGF#;MFQ<<^.P!* MHZE]0C^;^?Y0[!&G-D.W?;/)]T_OY42ZYV6S\(.R63C7[9 #PDM8"[8M=*K% M!4=E%;5YW&/:MF7YD.4KFQ8-JRKON!;X?P<2M@,>G-9-4=LPN<)NSO@:>( -YF(%G.)8KGXWKCJCO0Y!J ,J!+Z@#O@2DI&W8NV%%Z"' M7;8^3\']PD^'1:#.1"YH%M^07,_#,>^AUVFIA(0_(N!U\ML"&_;[,-TF,26V MR4PYGVA^*RI=7C312#3/HLU\'YX+R3 M*GZXTN,Q!$N<3QV_:;V?CXK)EX5W-CMHWCLJY< W/H>#"KJ0HF-#[5 M2\YJK$NZ;NA-MB=/YDZI[^J96I/#@FZO.'J< GX^>R'"CA<4D>^''1OE((*. M=Z>']Q>%;G/,#5F-)_+:.%<>$RSV^?[/9X2,88X;0($45!PHZK7^T9^SHVYL-!%G,YHBT'H]8^]F73C. M9R3]+)2Z'XL(ABL[GGD"ST98W"9SZY'$K)!&/SOEZ>)2H3G_*"Q*'A^+.9L9 M%*'!Z^DB]XP&;Z5<_#PP"(.-\S(())%DOV$M2XY6S^*&U6"Z:07Q./\ +/I M$LCEC)L(!B(8^$XP<"/+Y679UMS<(,E.1@6VO< 7Z4QMH"0$N,$'!@OZVA;_ M70(_9!3X^8:!GYM:.B&;;]CTG= 9/V-+ED^@8PK'R^/ZJJ\@&+'PF [3G10P MFDMFQ:L=K/1!*#@FUPH]IH[ MY2YC1,DH1A3%B*(8T?V;23G3M4X VF29%D4*7(S,=2G13=:2+<)4.,*WDJ(0 M4>0;CGS#W\?4>0$#*DK5Q9J#1I]ULZCM*AV,GD@TP !@Z6#X:VDO480H0H$( M!<)@L+P@VNL<+2[5V135L&4;%Y@.7YZFFD"T4U"T7W-B?)< $14%B'YZ@.@& M=+F32!*<.(J=Q0*,0A_W[+J\/ETB'^<]&0[JXI0W=& P3C:?H!L(S^.T.4NQ M*T*C.=)/+B,OY#Z(0B01SD0X,C0?DY@O(MG-NW$)#(#_XQ/_BAG.! 3B33A7V=KB4HMRNA=?.IA\L MOY]LH1.V.C)I4Z/Q:)EGZTFO2_76>9U+-CDJJ*E%XJGH-$487'TW%[F;U="Y M^2,R.:0Q'H M$<:1X^)_?W\SA[!/N9B^)5U,X'7>$.48[[S4TQHN9^0(CAS!D2,X<@1'_J_( M_Q4Y@B^<6?Y],R=N/+49NB6Z MV$%.;,Q+,7ZGNX,K_M]=,VL+DJ<^8FV9AM-[SK(UWK*X*9YKS(M-G-:F&2J^ M' R(15GQ(+_BB>/BJH^Q#B"8;AI*W)&M:4Q_9O9XO'WG--L)>,TT1->RY&-[ MUZ=;HU$11]7&L,!B3<6)2Q16F-9HF#B)4L=GJ6-@SCZOV6/3R[)C/WRGQH&7M(QE-GN30:.<&M.^)I4ZUJ1^ M"L)>:W%>0]AL76NH,U>9(6K+2=H)JXJI8\_?^Y(G=(9 R07?PFFIALL'JN^! MCGLPY:QK^6,XE-OL*AUS?X_I=L@!X26L!=L6.M7B@J.RBMK<3@P>N?A-!XO* M;-:4-B3_$$;E:4&SJBWJINU:\F:J'?#XM&Z*VD:A%[AR41T-JWEEHO%&;Z#* M9+^W2M/!\H!YR!+MO#*.@\/07S$94' &WLL!+W0VD^L(G5_>6/PKO6"H8.K2 M/V';:3[PZN]U'CRSG_XCJ8L__P7_;&\L FBPH'D]?C9Y'+[%UJ>*_/L*QT^P MQ-8[L#.1;AO[?_[__LO_Y3G"P.H,"T?F\M_;UY;1?8-_H5.2Y8,J_% M_9HXOWG=XU?V9I[)U..N9,GOG;, $B*&(H\X\>_8WM^0($?4G/++^![--CZ& MN"Z/G-^;R[;?60'';KXT;17*^6\+GL94%S*\^\%]_:5QS-EO#'V$?#D%'S<3 M2T WUX46ZYG?!G]:FO_RL;$%,>I?'5,\Z>B"?V^]-/O\N_GJUY\.M/&AZI.! MD&1^_N!2)B[R0(KC1"!&X1"J1XE*X2'$"GN(I M$N413.1_!4_E=^5KW2DY'33+$CNO]3OUXM19UU(>1.&CD8G.6M5(;L5DJBW/ M;1KU"QXI)+2--<4E )+%E35G96GA*XK8"3Q?"39[8TXJ8V,F'8)0XEK?@-EY/G(2KDW& Q=6V2F[74^5\86*[NE@)%'3Q^SABS6M!&)9%)&>]ZP M*&T]AB./GKZJBVQW@+9L9&4,&W@?&66-IL[LZ-='&TU-A>BQ3:@M(< MJ)['$<]S7YVI1U,>'$/V/>&SBPY[EG\#%Q!/<9B,3J3:;%,-L;T&TRM MS;1C="T;JW<*3"M6*=+I8J78*3+M__Y'N*BE=).]^*+J5%L>*8XHQM;FB=K-KH8U5D]ZUU*,WC-?WF0!0]U=MJ/@#](;&P,C4 M==,#^UKL+]\\,%T;7&G__?LVW'4^9O+]T#MM(X@O $U#YV>V_'O[Q_Z;PGMO MG@RW*#'8VK8OX&L"O.N8VR\"-<#_YD!;V M1;,8\Z6/)0/MPK.U[;8D2$.*= ME652C]BKP;&];7?O_B:XYP@L]99HV\\^^/P.5"L/D.E-E6:S%/Z#MT-Y 5B4 MKB-?0Y5Y5YCN U&Z)P7U,Z$L'[J#66. M:-U"=^ZH(]X,EJ7$*X+,'\B@0GA MPD1 %LYUB8 LI.L2 =E%%^:CI1??4I!O1@3JHLEC'T#PF]B02-RU)2GV2%#?^R7LD[Y=/7#RCO!?S>C5=G^4<%LL6,VYKV>UJ+$P.@160L0?B1)[I M/1N$;3!].^;PRWM0XT.+4#]LSF^Y9[\?4IW]$(LO=[0!BVBHMMSAEPU^!1,L M7LBQ]G/F$FA+:E:';'W*58KBTM&J99I+0$6$?$ 3%]1#?AA[1R+]$T3Z[*Q484TYTK0*2!KH$]4"AY=E4C9*IT&Q[,B9TZF!/9 M4-_:AKH9POUPB^O&AW&A/R4YE&HKLYYCXDY.3[<:K(W(-$<$;:Q.'<>]9R@( M8R/)"!LB; CA,5)8+64YM1#71BBV7,O.!NQB..4%!6 #^=)!TGMVO?B')"(; M[2O =4^%0$]D%7P-K4(\^?M7:YX=8'H9LQJ9?*W*&=T3<(H"-RA<^;RP;C<@HIU:05.^EX 2 MXH(2#QCV6M_,;^')>=]QR7LVY4*)?7?6(/.(<)>-I8>:%G>O(VU$?@\@3YS\ M/@&6\YELZE9B;+*]?B*I.4NFP;5AL0*@,27P!RH1N8 B((F )+1 ]3=&/W3FN\Q5I.*IR M=51B[8XK4%RJG,F6#[.RX#R5@#LN5U(WLWS9RGH(@DFR1BWQ'F8TZ=M4[((G*I?[ M)1V;$V-E4IPPTP)9W7&U3]!\5&VV>%?-KPCBR!;:M M-2R,N8JIC@U+:\*&03%+%F5U >'7CCECWH&6HVJ!#Q<0\WV:P2J=4W#/L<2O M5C(/R/$>PC'PY?QG9\'UZ!Z5*,MK=1HI@6?BVG!BK0$?CSE I2IOB>-MS5OB M.3##DJZJO4K ^DR\.'?5 MX# W(*.U<4ZXOJ_"=<:FM>522'9=!L Q@ P5T/?K/!K/R<%?LQ M%G2_ O=S'3@**GY@&>"ESL'Z"H#3=MU=MVLK\0"X8F"/,>%)4R7F9\/$.S ; M)LT;6FR@RKH4*X+;+1_@&Z?;Z4&L!?CO(3;378A)]@RP"ZPY:\,"5,9)CAG! M]Y' H@E Z" +^_?:E*[E!5O>5%W>NSO\968!](07R._N8#8#NR8W$B9IHS?. MKUB9$;IT+E]W%X3W!J=M6(3K\I8*(0&^!KU4[=T/#?@V\-NJ?RJ7Z]4JK5E" M5&N,.E67IJIW\U+N@#43'^!,N/$7#1OLWU,_<3Q8)O@X,#? .PW9@L?>>$7> M\64+,C#<;S=9HANRPE$B.)FZ0]6'^..&;+?^\W -NU'?@[*/+\'$,W M18GMV )0Q@1K+OK)[+RUBHU4@S=$P);!JFX\;MN0*Z#W0@8#8 EB=9L)'YNJ M!A2WF"$[,0\PV]B_:!H(X3&G ) &,F/)D"K@/G"L)(]X5W<@C,NZ'$ BX!43 M;MU L$[/0C+!# S3V4XG!LD+8' CBP9XL@-X)R:I"Q7LQU)LQJ_\9S[& %P!) M>WI*NMC)T@&%MB3G8;$XO[#:,?&?WIU7+-E?!#CYBPNC;3E40 +AIPU* M;V2/SJ2JR5QJYC%Y3[=X(P]65/3V90_]@.RUX%SK(XAR J"2(=MVQZS)#M@) M5(?7T9W$(7L"Q]EQ4I4Q><'$L7:SYW8Z?+D#=@+L\<0V %8:?40>H@&I<C% '4!0_$;%<-7DCV 2S&9%^$; MSWC5+U8_F"8TWVQ.Q4JHC[M*[$H'&A9JY3)@HK94';G_5J>6Z%@9;VI /"?+8 M3_\ =W:P!\*:2OKJG]@8<#/8GGUKQC!C#E0I?1:&C'E:B&)@KX-6(^3W *;O MK7O"EPWOD>!D1@KOS5FRTB\FVL*"&+O I/P&]MZ'Z,!B9J[8&Q8]AB1SF:9M M+]%QU7O1 7$LKL'^_,KV>^CED<+G.(_;L@BI#,N6V:^[*DZ2$,'D-37DB )" M3O!\TI:KN7Y>"2$K?76BR8Q*9904.M'X<1:GD ;3LQH J SS'7SR A*];#SP MI]4VJ.X'NSK<**"GRX+WU%?!-@\U1.M[X%E+G@)M",SM?9)9M:IME\ M6A55JM3FI1P=0C:\."6:6=?4QOIPR9#]%JV@=%6SJ0.)M9NZ"UZ$-R?\R M#9UKC8U#XC@H1"X\5BLPB*G-5[,4/=>(43SK'3<$.CWNH@V!WA\Q0I'#D%&[ M4\^4"_5*EFFU-^9QC&FRQ<[ [Y[0+M M)IZFVTPVEJE785\%NE.LUZX66KHG M^_*E?C#0NZ&*_YQ8C88ECV2@)TFQM@-8[9K=E>Z)L)T3+AQZ&ABZOS:M+Q&7S M+.=5$FI+I2%\OG/S#J8/66:VDW$;/O[A+:TPZ[O&?4UH0\,:1BNK9G')(F6U M0A9KRK1;/X-J6*SE/DW$!F_5K2!DTN5U5V[(ED_7DSY<@M=J(UNI-C1W',<, MN3FO)'IOFB9GH<-[>.EJ=)@2^?:ZK7DUAO30/N^:Z_H$ U8N\H@<-PT^9JD9 M;\46\"$PU!DPV &F/=M,MG#V&&-WUHT?R]PZD$]A8&"^I$T@P3 "\10N?8#A MT8DL.A#_H!'M6]Q\$-#[0MZ%^U3# #/Z8- M456&PWFP[KRA3F',:V$"X/;UV"?Y>38MZ 8B?8&<_;$04AD?]#X#Q=-D/ZL#-93^"M1]A ^\*_[>] MQRZBM?T"/%:>SC91L\-;ZBK0.Z5M1&WOV4###]Y1D &#PM4"=L@N5.TOB^_* ML#;.M3!N1&_8]Z? N/YDE9]VWJZTG-.L81TD4S&<=<;#FX-N2+>B"TR?FGF* MEZLV-:0W<91<;=I@6,=[I\=C;_O9B-1^]/1U[T844[J SN^O.0#?F6N)8U@) M9:N*^'@0F0 ?Z#".)OW]"J+AQ7LOHTFN.TYXA34Q(!%2[0I+V5#D1/DP/D-\ MI(H01( G/FA8IF+QTR?%-,@X>@J+DWN0T,[GD_%)#DDRTRF7(+I6_8C,)4@/:F'D^'R0!\(MF]H%:8KH(YA55>H30=!Z!'V3527E^="-$Y_=Q^B$FP 2 ;0X KRB6K$"W P2TK8;]HIA<(Z=SFU#G[S?'Q(49/["8 MZ@N_V_1V1IM<(#)73]B)->.P9/'F$A&8($:<0*&XUP"E25.$!$,?!PE* $1,!$3?OTY['G= MQQ+(9##G:JPZJ0Y38R+O9A--#CWNH^WVE\5X9MPO(-,JG4/ZJ340-]CK''\^ MDJ7RHYXM*1E$)E>-0E59YWA: 2./>HBGC4HI5?$6:V:UM.HM)(56"SP:P@/)FJE6E[C'-)./+HGL*,&:\2W)1BRXJL)TJ)=@XM**3 MC52::\]*2#R141)VD1^R?J?UHWL:,MK,JAAM,"Y7KLS::R\E])NG^J=/ZXE2 MLRR10T8NQG4/*U0SW2ZL;GMTSSCKZ1XR&B]9WB@+6EGD%\E1\U2G]?F"&50X ME\29%=+&FLD>8G3&L-3<]IXO]#I_/53W@< >=IE0GKP$^PLP,[:)_-"1!'8E M?14S9,5TU"!_=6\S"1)=''7J6_R MU9NUUG+O\Z&9#M3%76NU'YD1_9,(I^,RI. DJ;F4ZFARRL8GC5X\BV: MH]B MJ1=C,%"%NW:NZQU1W8];;(F>,6VG*@,E_#3Y"ZA.2N:2-MFV+=&,[;0I >9> M$0^)Q'$)XYATF"3]8FKR4_J5;\K&][P5I]3N-O3=B^!-P:\C71:=($[KIV^+ MOG9R[I,3H5MN[#T^9[]7QJY&=7#(Z=#J"DX[G3[J-&CUU:GNK+L(J1?1Y;+1 M)Y/0ZVP:\@DO0$]X 7TW+Q0SW"I M=8YF,AI)5LK>N*I:A?X7XB\?1=RXW6O8S!C0HIVM-80>6N-*P_X4>+<6(TQFVO?D7"ZO90J3?:R0);UC6$S7&CKM!X;U3G M6)&3WG<@!=N> T'?>20)'HG?UV" /O;D[ *77R$&=WU/UJF7%R1I-VREIM MHM65M=+2%IVBXIS;T[Q+YGYR.3^->O31\8 MAI]@K'/:RM_#-/YXQ#R[3:W9YF;?8Y#\XB6--D2RP7X.X$>6?#_M<19[8E62 M5V03CR-Q"E>GG.IR&<^[4%[ZVTZ2D0G/Q?N:BV^YV>X4C-GEWCX'Q+G+6T#I MUV$=%7N\2[JR(3CXLWZWS?F7?S3<=&V CO8#-%SDF;.762?Q#O_W[ZNPV#LY M:$.@30@EJ%/G5]Z9V?+O[1_[3X41ATVT ?K=Q0'&O[ MU&V5JF .7ZA$2&&OU;3>BQWL/=$$3QD!9MD2:?LY#N_\.X@/0=W\S;C,1I;] M!V^'\H)MZJXC7S@>\WIUN/>6?GL*JWVU#B+QF*2BE0C!2F"/J5?+O$<+<2V1 M2#X2T4J$824BD0C)0D0B$9:5B$0B) L1B4185B(2B9 L1&34A64A(J/NO"NQ MW[9'-'4XTH_ ?WKK(&_:SHEZ+9WW'24D=NY8Z"SS??J[:A"7A?*SS/S]\]PO MD['_[YEFNU$A[ID1?)]KD-0!BV5';/ CV: EP^I7$0?\7 [8Q.4B%HCT QC6 M@_5E8ULMX9!"[^^ ^+J9<=.N@/^'K%$9?G"4ZXWTKL_5:'EO-NTN MI/V40K+]JFYLLT4XBQM28Q3I,O-R(R^5K=8$YF-\NK[+)H,+)HWLGK^MZ@(+ M2#=X57I>W06>TVGK7D_*%UJ:FI/7JEM-IA26YC .]>N[O-:?ZHL8>6M1N$$C MN\V&>5/!.0F+GT_R. O/?ZS[S1-[\RN86@!W[VWR2)9?5>'%M"$-P,4[-L>9 M]G(J%ON>EC'&W5S:/V2&__J3DP7+A?TJ4D&*Q?$QUHCC(XX/&\?71X'] M\A+'KR1=[W2H6@_!,L-,AAK7D6ZJ"3B>V.-X#(U8/F+Y,+/\'L=WS+0,M9B7 M.+ZPR.>:#;EM(FVA/)H/L&X<-SW \VRFCZ:SWK23PE9-:!/X-C"2.BXW M%06YOZDWZ':6\MB2MTXA8MJ7Y_/21&"Q,M)<% LCN;"^OJVL]/I=?EVHV!I? M529..HDP$T;A$E&8.XJ 7)'K+V]3IQB$-$U>G;%U)LV2*[-F=4@/,#JPJ6E7 M<6WGXGI6DL)EB153J^%*8L/T42A0'7,'(.Y'A@J;?EF1-4C(E2.Z)8]S>V;FYB MYW_(L+FLI9_I=PFBNJX5M5XAC^C]15,O>%#1VT:[3[5FC*+==^;-NID-GS-= M:UL0T^#2U0$R*VN]A=SJIH=M3BQ$_IQL;V"S S,[EWO/S1*X8BX^5;<_ &+VJ:ZB)*; M*C0[[8S[J.:TQ!KN 69.^M4"KF-0?W=>CBR&[VH7?\A8N*Q9G#('2V9-Z#*C M9E6S[)06R0P'MZ6M68R_91;_QZ]7_.=(S*]>8SQ$M<]SIO569>K#'K]/=:WY MF#T#:\OKAY6O88.!-QH G,?V?=Z-!=,7;:]0OR MBRNDL1[J1%RKZ[GV"FDG!],9#6U9/'&R45%0X'O3*<^O5>!3=+8I8O$V0;\, M#1^GY06%W2=B,U-%<3MMLQJ/JA4IB5(KL)/_^D,]I!(GVI+ =NM^"R9 FP]H M->^=]V7UE*"!^L I2 .B4M(P&1T[A%->U+SFGI8"^^# EWR.7[!WL]^/:FSJ MDFSY+72LH (.[_BB*^JF[3?^$%Q;-63;#A65WFV;^&1J(4X\3E!.FFTCXZ[4 MF4X$B_#VR$2GVHNRR1/@9UUG2228ES5T;JVG+>EG1TF,@V]YTPU&DRW:@=;HC4VOU"@)M. MPR/7<2WY>9<6O]NP),\@FKNS31JK!&S[\;\N'/H Y@-O+"F"GFOB\]#10O.+(EVX[?+OS%A\7^@M? U\60 M?_Q1\%O_,_K/WP\Q;ZR*XP?84=Q0-@W!G;%J*'[W)"=X$KR#(UM3" .[F?DW M!WL) $_$GQ$\S05FE7KX )U@WTDX'5]Q 3<[N/OFY6)[#?+@[ZIMNP!*_!W* MG<&K+M6MD@BV,#3U[F9Y\+5K8$9[[?'@O'=+ G_O>.#OU5"VS+:\D(W-'1BY M2XT[_1+&ML6AVIV)G%IS/I\QX:N=:=B(AFST+=H#5 +[ M'WB=^FC3ZW1'^I-:5T]=3/O,>))C5<2BRPA5;>05H(.@#ZE3NNNF9R+L >RK M*5*F2B$PW M5WJ\Y*U6RJ$MY[>9E5SK5#/G3Z^5_T: 8OLK,JH,]6G%YUACWJ&P<1F8 M_$"2XU"O.M(&@3VAFH",0(P4\$!@/@1[Q$.P.+ZH0K/-%RS?^0I^ C=8 .21 MI6#0T1>^!&[V\P!3_*_C0M!L%KZ[#9\H3V>ZN9)E,-07'3W^]C.]3>YO&L3?&G-H_-"[YC\[CPMO%!:(%OOL&31#:W-,>5FL?DN4%I MW6A-G;P5]KU@%7FTNVLG:'2[$)]P*,. XKO+@7O-:^^G+MWU]L MF_S!E2M34C%9U@I-C<_C4[2>\C"O^EK[\>NLW()7=6@SYTPK#T'^Y (J<;=/ M+DBIR=1+19'CU;X\Y,#6@5$O+Y^LJXH*&UC"77AC'?K;B+W7_W@GDX_GM#C. M;3FAJ50RQFPVI U0-;8MHN';WV-_VEOL24^N%4#1\VQ.;Z[-P2;UVL#MOA5X M3U^]Y6[GL(]VCGW(@CO/C(=17QV#' MVIV$P<=L+]JJPAL5S7DO(H(;R-Q(F*2-WCB_8F5&Z-*Y?-U=$-[GPM['\+B= MIS_-[2SAL U"VN7V%&4&:@U1UXL2MA:D=-W[0H311SCA;8@4CI3G7>MPH'?6 M1WL.YH9L073?@60^M(;/7 M:1X\"R[VY@>=MYTG1Y<$="#P@\P#M<56EW'?'PH58]EO?AQHZOO:$O9UZ3JE M0[W.JEM]#T#%]@;;5N_74*JP+_ >NNX[+:E?[R)E@?5LBNJ.TY7/ZU5[+)/A M9W!G";;;UH8V8+?-^5MB<0,=)[==@"5CS6PD=+;-]E>32;U=Y P%ZDWXB72, M%_0F?__=(93[3M0!-PE6\_R+=DL ^9B*Y:MS@'*RE/6;C#=\,0M6\L5WL4\N M9:&8:RXJ?1?5^+JAS14\WV-4?RDQ[/C R78IQSPPA 19-G8X(6T@XD@+WBA0 M\$Z0V*KA\ILD';^OU5Z[+E$'QCY,WQK_6VZG&%^TIDBQX-F9OP(//HWKWO\ MRM[,,YEZQ+>]-W[OFFS@ON:"/.+$OV-[?T."'%$3-EK?H]E!K_7-98?MUK=? MOM%4;4^IP]!'V-E]"CYN)I9 'Y/$A1;KF0*'/RW-?_G8V((2_*^.*;ZL1QM0 MOO0#/7KSU:\_';^E/>#?C.GWIK=W&BF_WXOM)6X])/4I"O*^R'$2SLL8)B,T4&@137I8HA&$(;-;K$_9MSR:)8?.G&RA\.RX\C1>TJEE6%V1UFDER#&:S2=:O08 MV'GBZ#WC+E\;J&5DS&"ZO4QWDB@CF8A3BVJ5*25AT:)J"U:Z.WG-87C12-CK7D/:RSC#V2L''=7C: M]FBD6V+77'I!U!FL)22,ACHCZU5X).]H1BMO(=+QU,ICVL@BO5I5<^-:PPO. MK!^.;+"L,!?)=$^3JT5C4K;=1'$*"Y<J394YGF\I7:3O%\,[&JF71#JKSI>DAC6[V:2U M$-AN_22U\!I?$5=#.\ZHR*B?+!$H4D#AR*-[MHID*E/#A17""UTQDXBKJ4P# M9G\>K57<<5/L%-@%&E^R\D6](? %"IXF.[IG.D-RLKZP"D@\.5K3=7S=\88> M1Q[?L]MI,FDK+6I(Z13KR'I]B#!,?0IN4<]15.XTJ#+UO5,N92MLL30:YZ2>Y3H5#OK M=7PBZ\?SUU+(36=6S?8*H\&QKH6K305PR)&XXQ:9PY!$]<^79JM[NSZ:LG%^A MN;$S;';]D4NNKQ;)08[& M)@RF *7&. B&^28\3,E2C(WWB7> <64[#\#(G[A^F,WWMYK62%:A@0GC9XN- MR1>X"8*+H!VJBAM/$O@!6D6R]'CPSOYKV5NOK:P?VG\3 MPX;^MV_!ZI\/;7<[Y(#P$M:";0N=:G'!45E%;1Z9P.)8EEQ=KH]V]F[ -R^$ M'W3=%/V_@O0[GTNEP&S. "ZU.^#UTKJ?J;E!TXZ;=CVBTZEJ^3DU[#I41\IV MP'O(P(B>@3=Q+%>^$JI"UA^98 H>9&S_-$O,=J=@S,[3^R++;?DJIAJB[L(( MIQHDN\$8-6SDR <1<)C+".T>R)1@J#F58W_Y(TW7!KQM__T[3(EL&QIL#.^@ M0R4PNG5^9LN_MW_L/Q7:J1L;%5IK8F#E;9G;-XIYUS&W7P06L?_-@>&\=UIL M,^;)-4&A_M'.7[ .Q_;5]KJ:_WK'D37_/B3Q2.(_L6OZ(T)L/2Z[/T_K%!?O M:+\YQ(F\>KXQ6H>+K\/+1T\Q,EJ:4"[-JT=KHW6YV;I$:!;:I8G0++1+$Z%9 M.-_ HD'*5@D]O M;;I?I@KU6D[.BV02#AY[&%[ZWW^A)/+/\;___8]P2!'1U"&9_N\7]NN3U$GY M^][&&;F1*72VC/E>UM@V&>BNJ!=41Q,BWHEXYS.\@T6\$_'.)WD'/1/OO*%: MA7#RIQCE<_K+#1L;O##QAB7''7ZYC4KZ*0%/YW#]$[@?6/,]< C?5&]1C],' M@M!1XAQ%.T/6VR*8'OY\IM>NY/E2KL0GSQ5LLB1DZ702!1,([8D:G9:M-)$6 M%5\B/2>?KRS77F8]I(,,P.3#7E6V\Y;ROY'@O\$5[[#CKFZY1=#PW:'API4\ M/PT-PI#*$BVTA[+Q&K4L=TI&PZG004+=YO@G'C#\M7Y77[,'P\<4YS,?[M+5W0$VH2 ;\DAU M/F?__51C[W9>GT]Q]=:W<19DO[.YQ_ZZ;^OP78GV0)#3@1SG+'/ZOGV IVJ\ MPY"M(MBG1PYA)](-!COU2$+!&R1,AR/62YL&UZ,629YNHS:M+5 M"]HTO90*#6Q,EX;PC'8*(@M*)B^"+)<.9MZ#I1H^3U5-=F+@-631@4TG#/ I M.$ 913+/[I,\Q$\S5#$0H'HUT=@_SBQ0XP] M?L#D\TZ&R2PFXTIC4&76(LTEH%5+@!TB%04^0J&-AE#4(I )"\B$(JKZ"LBL M+;4YG!FBR/+$<)Y*-G&C2\)"6B0,H:#D:[U1(Y")0"8"F1" 3"CBLZ^ C%6E MQH.",4ZQ;2G/EPITM:ZZL&(AL'7Q!X0\;E48Q6G?:?V&IC7U/94X"WK(X-LF MU;#RUG$/5]4OCWRZR<^VT)CC -11M^6HX7W@V* LV;9\V/.&79]I)OG>3EQ^ MC??.:A:,VWX+N]& )T(!AN\),<=NM=G-M>MZEV)_5Q,P1T;"<=$6F8*6-3+U[FXLR<;&:M69:MEF9AX,=.363"CYN7N/U,G//;WGJ/6-0 M"5C :I%J -2QOS95XT_4D[M>G<#333>>,3-M2*?8F][,R*\2?EPJL+NE&;*!7/ MLW]A+$80(9Q!&SR3.#GJS9W9"N%CPU?UX&N&&L/'Q9_^G3#<0@]?.O^ M4?C)J@M5DOWC"QL JF$TD/_BDD7*:H4LUI1IM_[\%,.5 0@+%_YL7;@;#ZYO M1D,#&FIRO@ZW@R9D!TV(75B*LMI'F7E+7HPS)4_$:0A-Q*\_"0SL99< IT ) M#!^3G@^<[M)*]QE&EGZ(O?T]7;NW4OW>RHS^"A";R&+%DUZ[P,H"V1VL-$.W ML#!J@KX V44C2/0_H0C61HM5HD0V9(UL6RF!ZJ<:5<7C2*@(HLAQ?99[=)J' M6NL+DQ_T.^54AD+[NRT&A4,9/(2@SVB$=IF:51>&X2*]8CKC=-9UL;ZF 48! MC9#$'@GD[/IV1>0(_$Z.P*,9O[N>7J0.?@R+ ^EY11WL,T-^ MJ*X7(P;#%_/* A\[:43ADKXZF#QC(=#(,1AJQ^!UJW]&[L)PH%0X%,9#D/J4 M"S'++9E66^(8LELCJ'IB3:>G'D QZ$($,G6^>D^1"S'L+L0,;XBR'OD0S^]# M_+95FB.M\F. G3.MD:R^KEB66VF&$KUJBBFG\GA2XL9\55!I7!HE%_*:W3JBZ'3$VD*P9;%&2MS\T7%AH %][2ZXWK0L&ZIMRVIP >,&Q0VCE= M:>F8Q]NQ_Q>9LZ',H_&K^PIJUYEQF6R.6>F+9JWN8,I$;+Z41?-PG<5\7K_Z M*XM9J\5;H^*H*C!QB^*+^4JU*<*ZRM]Q,?.]V:)>+E;F+-:U+7+,59=*GX;G M=TXO)A33JRSH\\+N7UE0S%8*ZV:VND+<97I1E-3IO&-\TP4M+CQ\/.F->PA? M[4W*F4EE/4$\H!V0C\AQZL5##*S/3(8UEV5]%=2E=DR'U]^%Y'YM_\WWZNE. M >^!\[/W)_L1 9/#"'<'+MHQ9^![G-$C;:5$=6<)K3Q)N+,AGAEE#(#;J87X'0)^]B\YE ML?E>5XXJ&G12R:HH,U^NQ&2AGS,$3($="0GLV$Y[CL2L(?.6(<,R#D_S !]L M!PS488\AV"D%-@IXPN:9:?FC &";KF/#98;M!4Z#]R6 . ?2OFKZ?@HN>,\L2J.(1< /A/= !P.NI?,3%N%P!*3U-%(MF1#E &7.)XL![\? M*GNGNH_L.ID+B79=CLTFA/06X@R,/&$X=X<[CU3Q+ MG_'=7?V]@BOAW[]5@!VJ>%S0ZMO<=P8 M8 &0*!. AKQ03=?6=\WD KR1GXCHX]]#S+1B;8:UMYCWU%A.Y.WQ4U\YL$_Q M KB;O_E=;$=K &%TS*DOO_XB-]JLO8&1:1EK)E2BHVB8912GJX63K^AA:,XE M"T!)1,5&%ZDK3&)L=]+XF*5?:\[U )4*\#DN+V71]?<1>;/=GNRH!7#*EF.Z MR@'00;RV21X^2TW!E<$S;<.E&[(I?XWI@$Y$3RAG?]??CK[ MA_;5+@-,=CLE ,LP?94/]FWPO^FV8YEJ@#O(N\URJ\/O40D\110MR/PS?F69 MNG[RK@*OPV3DF#V69<=^_&)GK_/S]ZL]P8ZX^60',)^'7V\#AH^8'-=/,F5- M1;F,;:&+I&U$;<"^V ;L,4F>H1,823Z2V/52]E_:I:_=[>F*Q_!#,67T$4O^ ML"E3?C?V'S7EB+%_PI23C]@5.Y2%8LH18_^$*?] QD8>K]AW\IPS_F">?XC4 MS&L6?+\L:+U>9GHO^?54PZ$SUVF'DAO:TN.S-^MK!T?'5 M#-^MN8ELG$WL;WC <4\/.)M9$J;C!5\[3/!%]U*X"!&+@($;%UQ-816W]4I0S79*]84^)*OJ9/J);[P?1M-L(]6);G M":S?G3_\',UPKA.%O.'F>:>8\M/X\#JQE8@/(SZ\,SZ\;';[6\>M7DO:6Q%Q M7C+B:Y[-(R-!9^G)2G ^?MA*-);&TXF+DXE]3*"*Y$QK^SZ[_+X3=7BF%F,M MJ?EDI*WBK4*9;N9)U6UR.)>"[;HNTDGP*F'22VJOVW(5X0SH/JNA 3]#GE8- MEP]6,"P:I*0N_OP7_+.]3M1EWH+<,]YF5VXKA\&';( 20?Y]$28Y]*1CB2=< MV6!++HXE]M[;__=_]E__R42#&::F]7L;^=B;UR:I$_.Y7I'C@B7S6IP?@4?_ MYG6/7]E;9$T][MH__]X%3R A8BCRB!/_CNW]#0ER1$V8O;I'LP,#9W/988+J M]DO_P)()Q ;F2:L+&=[]X+Z["BD8^@C39:?@XV9B"?0Q25QHL?90WT?^IZ7Y M+Q\;6Q"O_]4QQ9?/C6Q :#\JLOGJUQ\_V1DFBV>"A-^G0R/\>[CUD-2G*,C[ M@,MAF)Q(4".20W@*XQ*B@',4*N'P'M2ST=J,Z19[L0!#=KE M]+A;2NB4CBI@*T&>CT3KZJ#=X<2XIBZY2:^6(+R927.)XY'90J)%2_'&!"D[ MF1ZI)[)%=J& D4YI6A+467W6L))]/*YTAO.?1C!I94QRF&"_+]&BL MU33'2[M*PI%',ZK$B6EKT4J-$)>E$F.F5;8IMU;B6MAIB'LZ. M$U1UX''4\XD/#CT:)U4K:E55TJ+8Z9IERP2W89; MP/RAAPO%$:-1,H6F4IPXDD@N,>(ICI=224X0R22&H]0HQ1\M+=-B>IVQ4:,1 MDBLOLE;=0?*6=TJHAF:1Y]!93F?Y^#2?J22IOL0KW(D7'BL+(L7$:RCBXK5V MNK'$QB,<"M41P5*U?CVCS^H",R?,:8'*-1'*\4Z)2DYLB?T6+\:9>46AUWTA M54NVH5 =O6=QD2N-V]UUBE7;XKBI]72[D*'!R*/WM"VS-3.2:@MI3YALGALA M8DE23HE?L]1>.P1:)3572Z3P%KEH)"7ZE "DQ$6MSA7[):W- #R3N\G$HG)2 M #H4(-86P/8XM=RMU:D4GZ5,"(/=$ MRRMT*(?IV32OE]MN7:@KIP2 37*EM% KC!&2S&F)9'^52224DP*09S(3IC[+ M$$BO0PP;O5I7[6"G!4 CEXF.ME(U)+\4&ZYI(S)7I:'E<#QT:"[Y 2E@3%G@ M.EB_N.92.AAZ8NT+24?IC=9< \G+XXKC)C@2!Z""GE@HW1R[-.6, ?E1?;7* ME(HCJ4W#H>3SH@F4%1+9)'5-+>DJW02G\[!74\LJU[LH+GJ@IUHO&IEL?$2 MR"(-AIY8K:)>4U)(G9>O9>'/& MJP(0OA.K)9D3TB"76H[A7;J08OKMV@AL*MB)U>I4<*DJ(Q-1XZMHJ264W$_JR:[ZIUA89# MCU[ 999-3QQ676V.9\;M(N>D:K MO&XB**(2F26Q]M3).N\/W4[K\P<&NQUR0'@):\&VA4ZUN."HK*(VGQ_[*_J' M'3O\,JO:\)BG:YTXP]>>S+#LK-_),7,ME<.T3A959YO"Q64A M5SGQ]UHJ$XH^QO8SVXJU3+W*Q#ITGVGO$ISNI8+DI=GBZ31H9GN:UJZ/=LRR M\1FE94,>JZU_JY.?;1]EGE@F):QK0:[8] MY.OP2]GVC^VJ?@6/S:'FD:GKI@>/)/^EPI.]IFOSAF3__3MV%2ZYR\.JNZ.I M5/(<1U,3CSC^FMMOS[3>NS^L(C "2[>EV_9SW+, 5P?N$WB(_TVWQ49"_0=O MA_*";>JN(U_47?&>@KF?<_0]^:$^XY"%!'R*N41+$\ZE>2LP%"W-S9:&>GPU M4!FM3(1GT=)$>'8W2Q/A65A7)L*ST"Y-A&>A79H(S\*Z,LCCJWVEHY7YZLI\ M-,?^+=_,+>EPV0H/']AEP] >_$MDV9WTICYTTGN/1#C^B&(A/NK]$@E?"R,, M8-W-&&-(LO12:]"OG U_/^R%D#;G."T>8C)[DT\]DM0W XVO M5I@)/6O=+U6AB7CG1_/.ERK51-J(KXV$KT/]@8+BDTV213/(_'AV MG.#YK[IJR+^#=A_@KZ.?@]QWG^?!OZ-"'&7;L.<#+1J7K\'2SV<7'S=NA8O3/O3 ME2[>'TR^<,V"8#;X\XF=N]S%9X\:?+(_X\86W0C9T2F$$\4JL@LFH> S@F5Z M&&YS[46B5U[#@XOXKS]8XH%,'+=1O!O9?6/Q(V&.A/FL/=\Q?='6/#)-:+S9 MGHB54AUQE]X5A7DR,9)(NINSV%65E_FY5"VC.#R&3P)A)AX2%!X)SEL%+?8.;[NX@6/GDR3RA6%66*Q=+->L/2CTD".02PGSI&$8(+:+PF81MV&SUGMU!7TO)NJV#Z(;1S4]M=%\K MAOT.1U'("?)-;3@? VA#JICB^_:+!B8T9TB9RK#QZ70\U@I388$K' $MN>0# MGKB@[A>F4MH1P$0 <^< ";NW%)AG5'"#?:71K^PSW[;VJMOE#V[ 3(R\ RY3"U MG&/GJR2%T:-5AD6:' G-5!Q]2*70*$81(42$$-_-W'P_0@B%Y0ASFT-76^6D M;ERSNER?A76/@9V)XP]D%,6,$")"B.]G+[X?(:CXNF\(:F&DN60ZX2H#76_6 M(4*D_#P'BKRZU175A[)@"NEZ%C7=TK.#__V>ZML_?!3)HH$ M1/(4R5,D3Y$\1?(41LI$@:00!)*BXV5WD<1^6_=.V&87^^N^8T!;6WDC?"_[ M<0!%P*U/.'3052G7Q.ZGQ=YG/(0!&:9 [52*P]\'I$4G,:"N?WH$N>R%:.)#Z2^#N2^.\6 MI'FWP#^7@^XL]E_%Y/V$TJEU_9(UFSG';9M)K*+Z1(1>^4FAR)^ M4$B@9 4@$(!& A Q +FR8 MOA] &ERKU*XXM7< M*7@'\:PLK!H2;%&-)1Z)O=D'A:-T5MP[X"-].Q=1[K]T4D MGYR2I3FETO@"/$4&C#X#SW$L5SXOB&Q6 *6>T[\SE@&!IC/3 +_;,7,4<\ W MVYAQ8.O'>/^'K"S*4T&V8CCZ$(/4B@$X@7]@,=Z2X:"1J>NF9\?^4@UP&].U MP0#[[]_^FIQ7$C[-]SZS;Z_9 +P(7IN?V?+O[1_[3R7!H\9!U_HIOXS[S&3L M&%.71\YOWG7,[1<^3@??;* @&+.'#9LQ\)O-_H/\&\[&L;;OM7D>&LSR?3ZD M)/Y(4:]YS"1U<>+^)KCG""S:EFC;SW$(>[\%2^:UN ?(],_,M%4H.;\M60QO=URPRR?X[_/9@PL*4A%?[O%_;KLSL9\IB\;7;0 MIZCS7^'@L5X %X*IP[J^T&WRW_\(WYM_2Z$ MLS_%*I_;5$+NP;]"67'HUXWQOL/ZO!7&R=!3]UKAU-OPV9!D?E[Y^ MPGB7N@+^V'ZW2 G8Y](E%K M4)33V7HY7M'BG&;T\+6'$+K'X3!3/$5>I/KB=:0[_%M;).[W+.X85Q (8/DK MM;9&(FLLJ:R[+5Z@PRWN\5*ST=1'Y012MLOS.H';LY;>!.+NGR7&$ZD+965> MUI=U#PI;^+PN16,A&XYIK0";VXX=$_F9ZH )K&7)U^J@"VKF6C/SG$I=^,@0 M6<*7/T4>5@/W^^F(.Z$^ ?[6NM&Q^\UB&^D-33R?=*:K9IOF$GX7#>RXC,0] M"_V]J']W0)H(!>Y.=7P-!;+91KY,E0<-AN_4.^EYNBSBB )0 *B V&50('+B MA=*)]Z0 +GC=]<.1,6MC8MR-G1]27 \;9Y\9Q'\88H?$MU)/21T(=)33N'T L<8Y'#O)QC,NN) MD:Q6M5QE0 .AAQ7J+ZC-A8W7?[P[KPT8PP;ZF^-:%U#CPC??R&*/+/8?IO^U M?.'VO]F&?4YM"9.LACOE>EEDR7K&3H_&$RYC>1SI^_DN5KDG\O-%J!&A1@@5 MR'>BACDU=1VW\S.&9--YV:ZN40V!J %#PPDD\@O^&+]@5I9\L39*U+-=I+PB^R4*72V6&!1]H/Z[JU!Q MGA6G+Q0B*H*@#"+^]6\W:&*BR4[VCA%-GP_[)*:%[C7\>@W=:_FZMRYD\ Z[ M$XK-94%Q=C, &_"@89*\Y%V3^$G*M'#G5B.'\>'*=,CZ9J#%<6UERVE.SNI-&$A/H0F(YZ^B*>)PI&Q M#$0?3 55."815)O=/0F'F6\15J$':F MA@5F&'08$4$ @H#[, !?@P#E9B!5U1D6YF'3>HFZD8UK-42N 4WX_''%-SO1L*1@W\5$T\QM^8I MN+> ]ZY-->BY1VJ[]_'/X/V,+A0:]?0@C[,4NTHSVX- KD?9M 7L>U%!T;R\X= MG2V,'=PAQSXN*[Y9P^_/SP1UYK*M9J"B'P_(6LZY7$^Y():LE%N/C M<5]8O"Q[K(FAE@*\KUH*?,X)I.>)I=079=T0"Z-)KD9.IEI.]B4B:DA"HP." M2->1KL?*M/M]7=<=":.F%JL):\HK!KY0=XD.#W4]--^(RQP'1E'"F$8)#^;; MOIO<90RX^"T\1H[^%9MQQV%KN#V*W)_E"'[(AOK_;"00E&_&QXXI+,9-NI%+'6\CJ 5\8S-HZ0:Z0Y)+B>X MRF1W!6]+BF)N)A%AAP\"3]+X1<[5H/@84N9[5>;+Q\=>4V:,[M;3@W%ZBE?Z MQ78JH!L5#?>A,K/ @4FF:=2\XSM$O_866%5UG!^)WF,?-OE0JON6W=:8(OCM M^63(2_TE11+_OG6K[U'Y'\OTG]DU:GJW)9=FRT!@5TZQ9&WU>G,#3,"HN4P<"ZZJ(@X 5VB!L#O\_>#N*]_/L+(@(U/H/UA9VQ M:;K#,2,$C7+!3!,SCJL K \[?:23+'&1JJPH@HB0 "'!M8S \TA0EXF2Z*8: M8T%5\I,EUQ3)/L9#)& A$J32%(H_?H/XX[6@$ 4E;^[>W;6*."#2Q$E_XD\: MI%!(H5 XZN;#46=6&Y(*F+V6'08U,6 V6_:/@^/P\J^&9JH_ "=5&_YT\N?P MF3]"W^,?V/3V*.)U:$^AJ[KT!TLN);/EY5?;+F#\K, MFY/2HQ)'4?(S(?(FL:2H,>E[>J &;#EH3H(ET0+3#0];T4F2/#VCBTY;(8A M$'%KB;+?AHATJ4YG!\4UBP>TONS:Q&1!4CR$"'AVBDIR'(X.3WV?:%73ME9@ MDD%H+*IK3T,M#9"/?+<^\IT8A0>E;1JRZ0+8%PYZ>P;OR8[FN)K?S B-K*+( MIL[UM_V91!+1^:ETZI(68=SXC_ X<$=6H ?P8-&9VPU.MV=)/;3S&"T:E6G M_):'>,"&5[*9U&FWD\^S_^(F -\^6-B&5,*L*>8YZF>?FX_?:I'['R/2H#C! MUUJ-555V "UYVY;-F0JWAW/Q 4-NNPM=JQMB?UU+V71SR))5L#_LNQP0^&D' M5!1!1!""(.0[&)KO@Y"QE2.D+E6W](:'VYPYTPB/:T$(8:-&*2C"^*TBC.I* MUB8)-6JC@:YEHLM8=WP9ZUZ-Q[T6[WOAG$/]22.OFGZ9Y 5OE2TI.Z.NYQQ@ M.(:-$$CF]'(6"C,B:$#02[=Q/=J/8,U-V+%FP=F&A\# M@Q' >]1D@DFFZH A&[",86<^V5?.R[8SBM^IOY%Q]790Z M=B[ :9\2R%:"_(QS&"B.@$0]1FR_I*@C#S^6'G[=,I5SFS*.1G,UN=R:YZ/O5<5]W&-"JIR)N3\+?31K5/"' F4[VM*&/;6LTMP>,< MC)-KE0UGS2220X=4$(8@#+GQ@RM?@R'X9-ER&&.YUALYIE+/$@Q52?$00]!I MEV\8*_J"8\SQ6W2,_.>KGP.\IH-]]<7';2^YWOGGE2,N_5Y-E71M.DS;XSZ7 MLO(MB<*_Q+2\YT $P@R$&3=A?WX8,Z1=AUN-'$X1^GU[*:Q*V]ZV'F+&5YB2 M]XP9H77YMRL#N?YY(&'=6X))*9^MPZ<3C?YRT##F<2SF6JOPUW>NY!-IKIG@ M+>X/(OURXMVYFLA:2_#.(#&7G7,IS\34MI9@*L"G2IC VH55CH&_9,X2!JP> MH[UD8?8.*RT"A::/5YGQQLO5,7M6L)VI46- M05_J=QV,EZ0^U5KKRF HRG65;FS3HT](W M#PF@&(YZ5L)M->%$[$^X5N*9YF..JF :6'.HU3^*X?^DV4BG^^MQJR'(S-#K M"?-Y"[/YEZCQ1TH>_0H?!)8!B&M$G_@J1-G#1W_]=.>VJCY"3/B_Y'M64%][ M_<["VNG"LLWQ^"3?7.N[UC56,-4VO[. EI-F"*V:&XML Y]M,D[*HJS9=18P M=575/%G#LSWJF9+EO A@)$+::UG7.M8Y&/:2FN!KUH3?:L[Q[WG+LVLAEDA+ ML^W88Y^J 76NSK0.-<'4!9@@2K;+S=G %JP42+8AC2 2.HSW4NLPA< M8/,U=WYY,-NCD 30)PM 2'./U_U$ZI *@_8:M?!L[J^:FS4&GCPW-G3GB\/ MU"IEE^IB(=V;\ 5E3.+ZI]B7G[5/8:2*356_6A<"'5-SV5&J8>[\OWZ>V:-4 M^"2X#VDFW)SH9!P9T?6M(9"N P.8JMT7>N:&P2O!:-3T"Z5IM^C'B0'9YLR> M%W(M2R37W7E7:DX)3P.J5Z0& M5C->QEK3PHA9-TWAWI*1]:G;V+H6X,&9$D<#&D@<0_H]9H*M\G4H3)(YC M15H8&J1:FRJQPJ$1%8R4;6/8QN5MW@@J?3M7PJ"-]DL.I.+) 6"N''.@.:@/ MEAO?YX4"OK2F]6I+Q.U9G#B@B$1&J::&&[PACHTZMYC*30UX+,PO.9".&P%$_6N^>!ZX6%#N#3:,G-B:[J=E@V@MA'BL> MC$L3);5N<8&P3EN+]83O*FQO!H-RIU'\R!HU@2L8AI]>!)O^GFB;G_\%_QR< M#,4 @E#=/-_G@>**.A%["/7./ZOBT3=%&!XJ_8A!$32AZ#;8\0MCY%,M(YP MWN&__W,\_:>H(:98AF7_.(2-C]8UCWP>,@PCSE1L;*NRCLD0$'_(AB\'SB&K MRSU0AP,1/QXCSY 0"0)_H)A_)8Y^A@0YH>92WF)'--M'+3%#G;H_]E\[?!9& M'!\_M!P-S"@"@,"V6A8IOP.L/>#95_'G']-6E]3NIS M%)1#%9*FT[1,3HFQ1+&T*M%CDI'&,LU*-,'1TW1Z/)93S%_16^5#,%QOS7IM MC"$GNN=)NW$;&Y3$;0NZO"]'"EQI*= #1]8K'9GO#ZK;KNOS8.3),\N,5)[G M4U1'E)M 6W/S;;?9\L'(],N1Z5JG."XOQP&NIJ?KT9ASMY.N+Y$2_G)D,"T4 M%*+%TV)AF=O@KBM6K7H+C#R9YV0P'P0!UY9U32BZ#J_YM6:<-M>H3C:FT+!;DIXU4R2AMB3JS#SSN7[%GXZJ MNIQRMHZ2ZQ6=84NB3T=*>(_ISIAUH =E2ZMN-*H;@(@NX<@3*@D>7A]M"KFV7O%D-;5:FVM&FH&1!RH!Z(4[EF9&YWFB[XVE MSF)%YE:#;EY8ZUR>U+LY0EO-)#B4N(#> CU0'W>7,)#X+,*^LJV--E$GB5&W!4ZQ-TZ:;BT:?_^MGFDV? M"9%?WK3Y](3@'U.(G6>X8<,O;\3E*"N[\V*SN9J&:022("#E]9=L@!\+YGH3KX92#. M[ER.'GO0@+%J:.I&C<+HIN4F#$V'F0G7 G\"CP=FRDZ=/-<:0' K5!VHC45Y MN7+FP+I/9#Q',U4P1P':-"M;<]2$$AJB-ZE&)U;L6;OZ)(T1W#0RGKDE M='99M4G+'F+;E ]?/2]E9Q_2-S5 ^MQW>HAJ?I><[8=Z9MZF<0,]* M^EI+N^RTL W*Y&L$?A7DC\#\O8#Y'.8C-L&4LC*''>9@? <^S0U[1ISC$W!+ M#( ? $P^G5^_"SF_R;Y33KW4F&Q(DY+)+X$3?') /.1CO3AK558YD=&UU$0< MV\L931, H5+DF2B:9@(>R+#OKSGY OJ1S^@'O!9CT]%]-L/HLM59*-5R _>V MOX\OOT$_;6:"EYPE),=9UG@^"MKBNF2I]=;(G&,X#,,09](B8$81(:-PY&OF MSL.7G:VYR*&@S]^HC:DPG48T*YF*M50!_]K -&RKX)T*F&?X MKC"@T 4SR!B6HO]U\+CRV8;?)+DN+BY;G! P0;$FF\!^5@&/5^!EKNVIGQO> M>I4)/&#^\8PA:!X9I.&-X-0_3B@QR;VX[ 6'@+H)5AY:P^%.Y< ' ",I0L*G MOT)[]LE\]ES+#H[/XB1L:%-K#L3LJ045PTG\.P15RW/ RYS__/A$H7Q=!M\I M8N&QN<=X7W1<%+A#AKQRU!^''X[?"L-C^] 8#!(I47#I(.!A+$X&1#E\$ 7B MPD^>Q>N.CAWNQX3LA;/!##FPO/V7HB!4FGA($V'@S;4/D]U/@HB6_KZ;)2S] MD*+>NEAS% T[>KX%GCD%G#Q0\O [!L]9_H@BGM#&_66D<8\(X8L/0^6Q8QF> MJUXTPOB>,Y='7WT_1!V%CG_GH&H8JWP\W/[FG2?$FJNQAG@@WRSAA%AS-=:D M'R@2L2:6K$& %EO6($"++6L0H,66-0C08LL:!&BQ90T"M-BR!G^@WRS5@UCS MIZSY8.6/7\9GKDF'] ?H<-%]]H^)D'[KH.#;E9%._WVV8,4R(!7^WU_D7[^Y M>.Z!N6[9J-\BSG_'SUZ[/XLWMHP)^",,-__W[_']BL:;JW]=;EY0!,G.>=DA MD>P@V?E-V2$^279^92G%3*[_.-QUG))$Q+/J4D'U.1GX8< M\2/#%Y49.O&SXT>)WZXB=.*HQJ]2S&EI[]L^=O1TQ.+9887'CX7M2C4=-1,5 M_.#=O;)W#JK][(C&N<*WDM>AQ86]$"IDI[E:"I2&EWF)A,7)2"J98DY/$=\R M1L2T-AD"C>\%&A<^:W=IT*CY+48O8:2I-S2L@Q@03P##4(:M=A^GIQBMKBF=CVJZ/.+9>KW2P9<&C0:%3R]J ML*6GX:;YH_*3G\T#C)J/F85&V%Q[IBU)U^QIV MMQ#+BK/[&3"1](E=[G)G ==_-9#<7',6=+UPXDCEKRBEC%Y1:F-7I; M39D0OD1!AY))TMSIS=V;T?!;L0/C1@>D\C?H+'Y Y1E9'BQ%62P)_;1 ,'AU M40[6/%!Y%JH\=\D04MQ$':D\4OF;=?4^H/+4;-54A:IKZOUM1B^VG1FG45#E MN0NJ_,7SBK?@N,4OR%.WS(DZ\0";X>U -0H3_'8_[#@$_&(*\C<0Q?ADW(_? MBK^)P_=,I_>1OW/;P+Q2;TKU]5;4!JTB%HR[%=OD)3IT]M*G52EO&11NQ12\ M =(@E+@/'_&=*+%:YWUR-^=PG5S/E!G1[V4&-5APD(45;"X8$(J?8""40"CQ MW=S*=Z($ZZ%T6)&$J,&>:P[TVTUR$6P@V$"P$5L?\\.P,*4$L_!DP+@.;$\F$3^*O2\ MYO6%JR_^NWJGSR\RG-D;,ELY4YV6:C6D%6"3">/"QD/0$>62:72]"0$( M I#X :R_!)!A/5<>=K9^"5_Z-C==U]<9L03[D0&?E"*3-,$B $$ @@ D M;@#R5;[K+P%D7&YTEN6)5Q"RC>W*Z?M,N]>$[12A=\HFV=*0]])--J*__'FCEZ]HCG+;48,_\+'A36 3%,. =SMA6SG'&SO:1)-M30W[GO@J^!OXOZ-NPD<=OR0) M?EN.-1/^!'NO..I*#NL4'>86O[,UOIGHE4+05>8EDN]G^9>,_2,^1+_" M![W9H)?$"0Z+ZKOM)2'\'R# 4@:+MP"@P/XSZA9,PXSZV8R#L/',4EY8]A-- M8.>U9V2!M .0H,R?M6,,F?X;%*MM#*FJBH]H;35$_LT'4ZS 1(Q1HVNI&LSP'M@(]%@[8.&EFPGZ< M0'@ K53'#=43D%0V7*C781%;\&= 8,]\-OP1)_;WNT,,D*&>KP#$F.$5\*-1 M^^L$D?K#.2B6#9MV62;X)0O.P>PF9QYX+F^3H8F1V2&&_@O9_F\ M0^%$F\3>%@G[:0)[Y$4_S8,Q(AXM&)@D>UO$>;11F@=>\N:DM&?R*X>WPHYL MA-GAG+2O.CC+4H.LIN@9MMSZZV?X.MM3LY/VLM&@9Y= MG$Q_'%O[8C(%[7Y;,:G%3L0XQM+41A\7[<6OT$0P)CT"(3X"GD9]'LV)L%P9 M5J >')VF(9O.:4_ R23-CN3LN(0OG871R%!YHS*87:@GX',2OE42E" ?$L=E M9(5:L]H8"D(B(]2%?*F;:%;Y^F/%T+AR_*N=A?E^\S5=6QM'Q457M@68CSES M.6S["Y5.W0M&PI$WX#,GL0*B ;X%/(!P"/ (UF!;UZ::^C08[,$WON<>.IX^ M4Q/;AFU/EX"T?H(1JA%,^&.\A/OA@UP;N[$0].&H' MT-GW]7W9I?6YS1Y^$1!2F_.!4*Y 3&5(XE M .[-!Q'(:8YBJ_!3V0Z.![W1V;I?MY8.0Z>*>)#O2G/9L 8CEO_K)YM,IT[3 MID&H9TM"YY.=A_O( M/)SIIQ2&>C47^ /*/V=H_DS"KCK=6Z+SL6FDA5F9!< [: EM@ 5F>4["4&>R M >TR154GH3D$X5$Q9&WI)/SW94 M:#*-/0=@O0.AZ8 5<\N:[(D$7*^Q&@9GHI<>\C&/KTK(H57VJ*!PU$-"!-AL MA .A=AE0GV#+PKWB'VMR*A6M1> J:J&;PE=3C#;U@NL?FG+1TTHC[IM*D -;7A@9O["[*8@$R[1;O/5?E;D MJ0CD,9)]V4+S?YXU"WT\PX,IEF'9/PXGNH[6M6]22H:'>F8J%O4BE:?@U3]D MPY<#9[_.%/= '2XZ_7@\% 8)D2#P!XKY5^+H9TB0$VHNY2UV1+/]&2+,4*= MVJ.O'3ZSH\ZI^P]_T1/U:+\CB0<6J@WX=;\PFGA(,1=BUM/>%G*%>F+-?^7$ MW(:^U/]V+>5U:_:M@PO=<(\#4@P-6ZB"CYNU_/.(ZZ])ZW-2GZ/@BW35VP[8 MWK$ZE^62PV]*XS1'4E,Y!7Q$599H9J)(LL*E)85F<9:;4MR4Y?Z*9B\?#KBU M:<]<#;?B0*@4N\O^>+,S*8F'7N?+D9W,F'<=9]L0LZM"F6IN=D2O-I/(TY&[ M?#,[Z [5C%#IUE(6QFC.5(8-!IB7(UL-;"QLR+(F>AM?T<:-[C!3A,],OQS) M;M*[V6+0)L5E6M1R:TQOC]JPSB5^LJ*FGBXP_M3%@WQC./SJ4VNN)GK8*^6YSCA=,DM?.;)BA2+ MD]LM8>KA6$?BQRF5YYTR+)YRLJ*)(E!6R]]EA'Y]4)K6AV:MU^ EYG2>%NVM M%KXPGN#>?+R5C$J_7V_ 4\PG(T5GG2](@V$&UX;CKEM9E^1J>2:E3D=N=@%G MJ,6Y(6*9FIU3%[8U4'@P\I2;1,6<=AM; U\/5OA *:3RHQ5\YLG:EQ-AJ'26 MEE6XN#4>>K(C--/OM$47,!:QA M!V2%K8B\RH.1)RNR&H6.J@X[KE#85'*9"3<=IQKPF2WW WR&8[U@OF([;7,K^!)Q1D-ZSF:R;LTP0 MJ90*@P)XZAD5F2[]M5$PLB5AO=VY"\?<<#L///6,E-)JFM#637VIRXL5+S+N M>ZC:Y&X1#3S@PS?(.VUX6"F)!+JW)X 62+:<8;# NBSP<>BJ#NEM/FT5[JR]M;;4=MQ>3*18./:& M,L_8TQ=C@^:VU<#&]4VP4&Q:UU'T7(.\9>=T. M1*Q<[+LS7&67E6VP6F4+&5XBS\AKH][<;/0>H^OL,N@.V-RZY*\!\I^1U]0V MM=H49\H*UWC2YO-:8;)C>3CTA%CY@05@M%GJXEJEI]7TRK*/I5IPZ FQA(6? M Z@_&.M>8:F25LUJ%_UP B?$,A8K3"P#L1/)EIC&UYV)0LK@J6<4)L!;L^5F MFR)TLN'NW&$%[#MPZSNG,*OADM^.5GT\:[=-5<@7,QW 6/+,IL($NH'-"OVV MJ#+J+%-A[5UE&3[U9%E%::CV,)UF]6QV4+=G0[FGCL#0,VHHV+Y8+0V4DNY) M]72=E\V=!K8J\HP6C&J&7_:+!5SO6^.N5*PON=$*##VC!2,QQ1)88>+H),D/ M-V37Z#1'8.@9+5@-J4J3M/B1P/)<'=.7A9EGM^#04\:J$L5V&F5=7+,;-M@T M"OX$:"SYI 67#I%WU- /;ZLKRX:QR[?BXB.^U=*J94XL*8B0?<[A=Y\D?O69EKZJ.3#+X%TW/PUCMPPW58>0UX]ME& MKI8,@PJA"P^C(6%:SU0B?U\V@)#"(^4PH./9"EC:8Q3)"5\:QMX>#]6]G,+3 MRYU(%YZ?L'T/3_ MGTW6.9HMF!X@D 7CA4M5#L-,UC%-HG )"NV^/?%0Y0GR7'#J):M#9D JVS,Y M.F;M@4?:[SW3M1<325[/*7955X$ELU+*@T6F72A*L\\^3E&JYS]R\ ;L%&/5 M;DPC0(?^^Q[AG^JVJIXFJ8_4 M>__4D+;D/U"Q! @"*YB!273VD57G,.Z0I0%LA3%U, IP#H@ D/B)YBV!-&$& M8&5XJ!Z\(F+2/Z&^9O99D0\\M%/+@"\?XL)-;VR O;.C*BZ @/<_9=_^+1G% M,"/=AMIK)&;P>* 9ABS#,X033Y'W<4G-=%S-]?;7?$I J?\G.=$-CS#X*\- ^CZ*?(@T@HG,/: K3P"23)2Z20"8 MMJY"UD03!<^#A4Z/DEH(7!7P*KSXXEJ*%T7-?VT?>7YWLU#.5 M)S52YI!SD\/1I5,\?4(X\'?-/@K4>XX<90_@%T,E- +XS<<7/(^11^+G[(.] MT7N=-]X+B ;ED\3_X2/<#1\9?D3\D\BJ0$$ E>='R]Q3(XI1P10BO)9S0'G( M=0>:#T=QYJD&R*S!!.,34:)D"Z ,3 <>$/\M^NQC^=&=D0B+X$@X,3@.T.<, M*_;)@5#'82['L/R'+SE5T5'F0.(-M3%]:3R6S BHP"LRP?Z/IV:DNQ@'CN5PG&/2X](:]6 '#"V.F>Y[^V.3YRYO_I=%"8=IE;OKF?];]#H;" M6ID3YS\_$G&Z)A8*ZF-:(+KPK5B&(:\<]+".-&/%EC,!IQ(@8,()[H! TQ8$1Q .+ MH"D>C$#0% M&(&B*"2,0-,6&$0B:8L$(!$TQ8<2O2E$=?#W30>11NU,*K^^/<.O$4!_W"XT'$8 M%SY%,;>F5(4'^GE%@05S]G_=/Z2R]9GUT#4PG"UD&IG^SET2N=\OFKEOIY&W MK658S1$0$9:DS7H.D +5%L+#WV I_+YJ3%?>GNF-)#8M+M\LE!7<6VL!MQCM MJK4U+(I _?632)(XD22HTTJ/MQ"=0DB!D.(WR]M>&RED4:;JC=2TA/?M8("Y M>9R@L&LC1<8;UW=LFZ?USG)A^:;,VQ4)%D5A(5)0))VD6(04""GN&BE>EG"^ M-E)L\54VLQ5E7\=DO^-AM4IC>G6;8C!J<#VS71R)6FG4QC*93M;*0Z3@0IN" MYI(TPUVNY>*W?YCH)O?7K5TTH#<=TVTDI?7]NV]/O-,3YG1\$S=G8X\=== MO5!N+-02O^J-*K#,7NBEXBDFR7 7V5%0!#X^FHJ0Z Z*"7C!"HCAH M*D*B.W"J/X!$I8XUEXO<3!;6N\W.6M?G]K#_^XV:/@>);#,H90A_9N/9>6U. MU0F-6$U]@$2AEXUSZ23-L9?SLN,EL7>>K7VE_!=*V'YH#[G>X=\K;"CQ7>RW M\+@CC8T4=O_M#MNUBVD]*^J8,\\,2KOU/%^\MF<]+"YWK4JNZNK95;6E=$M+ M$9:09J%GS:2H)$?0**>#8 ?!SFVXUV=@1R-&*<_"QKY(#LI>2U^DEZ4_Z';[ M.;"3SK?J72P]G.N5:7U+C+/>J(2W .P -YIA&)A.1K"#8 ?!SFWXTF=@)\BE MQFN.)7JBZHQJ+C>U:[74M6%GPS5FH[[/='5R)Z^+=MHIF (/8 ?XS Q-)UD: M1WGIV\]+/[9/@+74P0NZEALVP]M?MT,9ZL^/QCY'8 H@\,3R8+'VU\[HB/F7ZLN55==*F##TOC]-" M"K8]! XIE21(.LE=)IN"0")NFH- (@9^ZZC%]O/D%+/%-;7K446?7RQ3UTZY MYI:%ME;FTAE1K2Y:T\"F,7,#NZARH27!D4F&8U#*]2Y2KF]6;FF\:&R6^+=A M..R[?8 .Y\D5]S/^;JG/PV4?4[7R02U_M9)!+7^U@D2AY\N3=\T>(H MUUYCE M3.)@2H'BDB2!0H4(/Q!^Q.=A/NYMF_BP.&*$/DDO,JE6 M@2RIOD3@T.U,L4F"NJ>JS>SY=J73 M>FA= *>2II*I] 6=RF_E05X[$G7I:B+77M\WBC"B(E7W[9)>OHS(^S:'!MG; M96F\:^(->LHJZ[HXS!(MB2"B2U0$2E@@.$%P$GN7]?+E0=X')VRM7I\*3- 5 ML^E,6>;GE5%@S2"@@ET7),[+M MJK;S=\.=JS;*AJ*:4+=7$^HK-H??\%>SEKVRP%/4NF4^#TBRP3Q?]4LN2J?F_)?!? Y2G-V6S^5UT79'G8PP3_OAXH"U2"&ICM:5H1%NR1T=IVI6C=E19*_#!G4>0<;5!V)P@L:5N]F M+*YHS$-D@'XDE63..)((&1 R(&3X+(?R=628;5)&N]KCNF*CQ>XV,BNYQNS+ MD($MU!8]<^J/\'6J,>H'=;799&=P<; ] IODN-,N+9_G%7XK%S"&I1ZM%_4Y M4&H3!0]O*'AX7U4))A2*372*^1 M7L>E5N+[]%IO-2P]K3NBV&'EQ5#?9K<;:@;U&CA8')MDB(L<"4)9MR_/NH6) MMKTCE815]%'2#070;B^ =F=.%53*NF5:S\%:V*Y4TU'/X'49(WL6;W=ZXG)9 MZ>CY7(SV_5SV_M)/U43W/*_V5%DS&C" WVMR\ MFMZXPUZHY^'12OPRMWB0GL=!])&>WZ[3]5$]IQ?+;,ZIJ'6\T9C6V[G&7&?P M4,]A+S-T4^_^4EN11"3&*A J->'*6]3)#/4?0?U';L)=>PJE'5J0:*8'R+F/ MM5FFDPG5.AK7A;HM;%U;!@S23-D.PH,78'N 2[ MPP@W"%>U5<<]UUTW6 Q3 M'5+-BX59FBGD2SA77K4D@@ES:025)"[9U1MA27P4#&')_;F$7XLEK8;!M1I\ M9:0W"K,>6W+=X;#"0RP)\W=$DJ7093V$)0A+;M+M_%HLH83!ABWE%J1 F@U/ M)&A;6Z]\B"7[G"%YD:, *&?XY3G#CFJHBJM.CDYBJE$HXP?*'L:IQ-B5%_DM M.OA\H^#XG2\2B>O]+!*)ZWTL$J4EOMXK?JLW;DY=V<#9"+V'!/!^$O+2 BO: MA1_\2'QJB]RK$R(^X8$[7_?5COU>G=\H#/:=UHWD_+NM&\GY=UHWBD5^>2SR MHMU\[UQZ\*>^Q2\F;$_[(H3R395JL Z7DXW5+7%I*:63K MNZ;.M20B'9Y^2=*7O&^*X #!P?7AX,Y[['X,#EK9ZLRMC1Q'[%3EV7RK9MJU M @_A(+P0P7$(#A CT]W:=QTB/G M7C.[$;"F+Q$<="K9,RT&4$P<@0T"FWAYJ-?KV/LQL.%'T]*"D>R%3I93C4EM M;58R^1!L@,O*7K)2!P*;."@C IL[\'^OU^_W8V SSA:%>BN]ZXD5W%I-V_4< M/QS/(-@ AYAE+EA*(%Y">>=9T$LW_?T6V\1=[0G?9P.XU]Z]'P-ZTTYEL.W8 MW.J=76'##5U!;V]X0!'HPJ8O6! 00."AKA"P[WVX?T8-&SE5JHU)HVQ(&-2 MNEH:DSN!:4%H YGZH+!+00-"!KB"@WWVE[W8] @,+.MWU]1O.X-]46PI"R= MRX16 W0/+WA?_UNY@M>.NUVPL^ZUEQ:CD&*,JVE^2<@QQNN/OT?Z9=UY/[8_ MC)::7_ HJJ:S0R&W&>T*69,"IB,1]6U*TF>:\Z)T!<(6A"TQQ:0]$5:S"!HN1W50M 2=Y?XRQH$?PQ: MUMU2SV1L,RVPR^G(*;%ISESX$%I@*;HDGD+=J^X@[WF^._#DK0HE*"'Z^\TP M[J@HZ;77%1_,OW!E] ]>YFK)E54-:WM"$'CY9<$CV?:*EX"5"[U-,LDR*(^) M-!II]#7KDW],H_,U-M.>N*RUZ'90G,Y+2@MJ-+R>220YE'Y$&HTT^JI5 MPC]8?R'05@Q6JZ5T;]60A6G9[6I.N$=SX1X-9HBRAG>1-7RS#F3D:\F.H[H. M*OMXG[<4OE'=L+@1XFI1ZO@1 JD&4@VD&D@UD&J@!$3,$A#_H/*3\3\_C0I, M?3#\P#M28QJG>I/=_F9@6LQ6$]51B^YW-Y2M6K^?D^!#I_5,:,,*""ZUZ5([ M =,JNC!N#L8YK261-$P_I' ZR5PF;_PUT=R]??S%Z]JOZ,;GI+>\EF]0V+:.E-+\974#&I_6)8#3U*I&\X^ M(NV_VPY-<6,M"M6C:HBWK+4QC:N@FD$WY])\H$A0VJ!;+L7J6G,_:B^5V M:^*_G]-]UF1 MI!.#DNCE,T0C8+HC/7.!.'&S;%/L;-[:".I6EP)WY6];+O"@V#!+Q"6I6RZV M%[?="V'![6+!%@$4W6>COI.DD=\E@"L*"[[#JJX,&RB%]CQP2*A*'JJU\ZVHKT"+Z=PS< MH]=KJJP[6L^Q1[0L+#5O2O8RDUEJ\O$P+K2:]C9-774;TQ(\PZI82R#[048V M9%-1!4-;:F8X06CW '*!9Y\Q@%);@F';1&XL8KK/BBVED<*+OD2FH#/$I9,4 M<6H _>>6 [X(5Q"NQ ]7_K ,'*],S@E05/&(O.R.^;5\45K;0RA)+< MEP2VY*5F+6>'+?HAKL#:<$222)]VKKEI7(F; 8X222B1A!))\:MN%MVX1ZDD M5"(E!NN*3:B9DO#\HECAL.Q"+WA-(E,AR7*@%T"?)[T!5MX(H5%"GL'"DM*Q3&C6,:LWM%9?$>F9KM>6Q[_ M?GW8U].UI7IE4Z5ZFI"ENAUYZTA;.?"APL(*9$F.RP:U7 3/?4.X,WG--DM3I M;ACRYTX8<+U+.6]RI#2LDCJO;PRAL5VD=KM!1BTN $=228H]PQ#-2<@,&A54*VU03 *GFFAE-4#J%G,.FG;R2!LBN&![>0 MA"([<_C[!LS,LL%L5C;$(3<(5Z&N/6T%)YV( /T%?/\]T38__PO^.>"G8JBR M#?>S^1[\'FUN"()[0P7'_W6174N!2&D?4)>DCT(Y$03G,3(5K2.<=_CO_QQ/ M_RG(A@$;V;)_'/R#HW7-HW*,9+@-SU1L;*NRCLE3\.H?LN'+@;-?9PH8*P?7 MX\>CBT&%D27\@6+^E3CZ&1+DA)I+>8L=T6R_ZV.&.@4;3/2UPV?ACOWXH>5H M4.1^V*HA0RF#3W_VW) UKK7Z00)C&>Y4X-?]PFCB(<5RT)#B4N8W=# MS7RVMX^C)$^XZS\DC@.6$"1_C1A/9@8T&P )SSW=2:A'2:2X6 9AKFN/K$=) MKOU&HHR,V<;MMMIZ4!^1::J-]S'E$Z)3Y_-GX7Y"CFOC6D<;SO!./D59U11# MVGG_KY\4DV3(TQ*]7['#ORM+^38A+3?3;#$NEQ.\^M*>2B56Y-J?$#5X@Y " M&ZA\ M;\) :)SF>N KCR:X >W)R O=1-SP!X?JA)\OF--W?"7 ME6WFIFRQ,UH0$-C;;K<)/5S(B"4 2F^3DOPO'&CC;1@'>@@HT>O'@1O$@5(EP/(&\I U$@$KX:6DV 'X!!.F[!'\"#P5[W#LU M'TB2*DW'BXS9GQ<"417&/3Y?:'@;QO]X;ZDVBA[4U1\\$&=54YH 9^C/<:*O =/34O&TMX<8+U]'7W'EV3Y%?/[8;K-1G M3RRH%M".U5Q33D:_>-K3R!Q025L;AY;V*P\['I*/6+-_G(%5BF8Q*QJXNL$\ MQ^QVS9GYS-T@/X!M)Y-N@JT4? "4G'@$.HP\0KJRNEH7>8[MBZ2ET8+MKJS= MTH\LCDO*QKF6AD@VGLM&%JZO&R<:Z6+9..Y;)C5>68\:-=Y47.4UG969?-8E?\ZV6@-^*U+ M^?(0K^@65YU:M58]!W#C7".(7WWPKW#K##T'Z .\N6$^)/C7M]J]W_%*4./1 M_HKVPK>WV',V613Y#!(N-+_>X2<[?6<,GS/^3T/8S&/7PZC M)_#7N$[\H_.::,[*D ,("NH_!E"80T#H'>_]C>7@?R $MQ=V3*.P(PH[_F;8 M\6N!^:;P#LT:S?K3=T0Y-+"E-#NAIJ3*2&-BS$KT9*Q(8Y55)854J;%**QPI MTW]%6G[A+66_MK>Z@C6SB6RC7A>RW5*CGDR4ZEE@H]=SB8Z8Z91R);Y=$CJ/ MO<(N3?C/$I"($9UL4ZBM1H!^E6:^HP>B-'U=WEK"FGASST>U^.G'>,G#^: M9D1AF5)&]5E%E[S2#(RD7XX<%+5U>=LU?%OS,^3*E\C3MY.+^HQ.I_N4KBTR4F.2761QB0G*S[Y3;A MCD1 ]B6F\BE]L(//9%^.](H"-AK835&05YE)O]"L#=MM^][ MN#=;9G.IL3M=3GR).IUG:T3+/JD(;>8V;!F)V M/G*(7K6OX%LX\F2>K69AO6U/]*;(>LL9V]!'I-1J@9$G\]3E0"^GLEU,[& I M=6EO1+V;]B5:PE^.3(MF:V>TEQVQL-( M.V?)Z<4&4)X]'3G*[JKX=-IUA8[0Z&V+>%;,9>'($ZDSZE3:,G;66L0VZXZ= M]YOS106.3+T<.:8;PSG9+])BI[Q8;FN!5N)M7DJ=OIT=5]C]G46PV]*85C/PF2=O[[.#ZB0S'=(B6VGIU7:Q M@V^PF90^??N@R]3FJW(UBS>$MIBGRW4FK_M@Y,G;J>IL7>])[;708?*X;TW+ M8IJ$(T_>CFD6.2T8RZ'8<'MBO[HH%3FC)1'XZ>M3C8$X7J5D!N^4W52^-V@3 MR@RH''$ZU)]G:$>;CVRAWYF5L[V ;E84'PX]95/19'9]IZSI)&[K3:+C+RM< M^-23N2JE_)KCM;DJ+M:CUHUG<,$+T\4Y4R^4:TO>3CT9 +%AF[UB'6N*A:PE;&B<<9F23"4 M.IU I;-4B:H[G^)9CUL*LV4E(]+AT),)Y'K+(B]LNYP>%-5>U=P4F79_!H<> M)O#L&,BGM#F/0F&.[?[H*'-UXAEJ8]H+,2Q%_^N0DA_46QEBEB8)L>!I0<-I2UG7Y_]*J(XBK\![7-M3+^\* MOF/?/FQNB5(IC'"1__3XJLC#73S#_^OEO>1F=1@QC>I;GR.;$^<]7&G[O-"_"(ZF/+GAT0P"XWX:\ M_9B0#W V MF"$'EK?_TG-/V+4/4]U/@8@6_LY+=,0#G7[K"/&1>WKT?!@.G1J6?Z#CX7?, MM^75CR@$X0/*_=+UW]N"X8L/0^6Q X_&J1=V^=]V9CX4<=K_>]'+"8@17\2( MU"^N$B!&((WX7HQ(/7 D8D0,&($T(B:,2/_BKCYBQ!?G<-CC9-HT:Z%V/XIZ_^5 MK7^M]2\4WW0-^95U>?=GGF(Q,N!BB_A^BWI<0(?Y*KH*!)IC1 MK>SU-[G7Q=_PLQS7V2.].4&R<$%9N+@U^*>RD(-WDL)+2']_DB!]RY_G4'><;69U7;Y_V^C)# DU4Q8JN M<;RXC_[RK[!,P(^P*BG\Z>3/X4M^A.(<>JR.8FLK^)=/W7ZN3LTOKP>>0JV1 M4->P3^$N('0)V\8E@_/*815>CMA<;FV MZGJV^3DM];Y!AZZ+)R)BJ:O?LY?3Q3/1L5SU]^3UEY\[C,6JOSPB&(M5?T\, MOWAD+W[&U;5C4D-5MA/"LQ8(4?B2(I+1#[".[RW[V\^6^QF=0N/H'GUM;U#\ ML?CU4^6=@]WN\.:DK8;-)YS'PMMA6Z]SQ;O!TP$%JYH<:=F^7#:YZ.\LO&.M MQ4:/&@B6-,L8&_^W>XB\/@SC4FM3DJJ%#.Y%A[0C3+)^UJFV_,E%M8U MHY,X05^N)VF\I.LHIW&7 <@+:\^O.FU<5IEXK&^4F'J6$S&/$=3%K#2LM7^_ ML]';D]S?..I:\ 0J^'Q_C.",<5>YE+:\[IUMTL54[(6 M5 @QZZYV+J\M>LL)W(#2T+HCB?0E]A^44?CRC,*[/%SR9J*2%P(\A&YWAFY= M&:Q_D&T(V?S,K[";0E518;UG\H+H%H>X_"<[JO>K%[_J\7=9-1$WU6)@E$IE MO+$N-E<[G0GVU)Y& M>A._--7%_W$N M[W=/.6DG?EF]L.IM/NC)3E:HX"-UWIIOL]WMU]M:XQPQVEIZ;BQB2MY?4=T< M)NDMH!3 DZ22:9R]G"?YK=S&:R!PU3/%-.IX58( M>LT*I0O;Q89H26GH;UX, ^\]FX-RI2=M@2ZK3*T4WWHUYH#JAATN0%XF*HESI=0M/W=%5#G2: M_VY9&[=57SUMB'B-;F2A&UD(PU&6X3:S#,]OP&=M=:*YB:KEA,7X;C>H$POU MO1]GXO8$(&Z$B&-P'4G$]_U,G2U_,+O<68 M'FV#MB7VL4[%G%&.A ]\B2#@\1$F2>/HND+LXXZW=8G^7=K1PQH]>:UW^D)E MTI&;':;1IDO7/PXRH2=B4UJWACKIYBJ-N8-7-UL>:@L\#Y*D\ L>![D3;8E# MY#;NE^+CIR)O'N^8;XJ=17Z@+?5"=[EDJ8:R%J>A5K#A$40.1U<3D#EU66TP MZ6 [F9?,)JZ932O(#+IZ\ M(/3%-(2.+B+$YL;ONW1H1/&\FQLU9+'?'0RTG:0,)>WZI=JZ;&XD2^9FJB_E MICL:BCM[C87AZYC#4P:]C7 M7S68MOOJ9B=-)V(A"%9L7FF*A8H/%Y^&J0"2O4AP$^4WXYG?_+S;]#?JJ")0 MNP=06Q>$94>D=S.\KZZ5 B'HVW0!@!H5Y34W[U%%WO0D&YM"K;4M6:ZN!?*869A!D$^%>TB8WZ3(TQ(K*+_Y;&\M4F]37!_E;7:;7+Z>:/E[AR8"5!JWZJCB#JA#>1T^E M+UB[^Y8=PK]=>6RHE[_16X&U*;*X=H6D\8])$V_S\+_CG M\#W% &X\5)WY_N%8I$8_*/B2O66%X_^ZB((H*L _^[ JDGX"V#W(=C#B:-KA MO_]S//NG@ ^F6(9E__A?//SOGZ-ES56HAC_(1_)AACIUP5P>*.8 !UBHJB\^ MX!I@$L>P+^@$,R[2<[MB8!^-_< M71H__S]02P,$% @ \8%G6,F5G\ROG@ /^T !@ !C;GAN+3(P,C,Q M,C,Q>#$P:S P,BYJ<&?LO =8DUW3+OK0>Y6.$*2(2I4J2D= 1)HHO0B"-"'2 M P1"[[TJ*"!5I2F]AXZ(]-Y)L-!) $.$D!S>?___/N=[WWV=_>U]OG/]9^_S MKF2NP)6563.S9LW<,\^3$.8)ZP#C?2T=+8"(& "(+AX 80G0 $B(B?]X7@S2 MBR<9)1D9*2D9-04%.24M-2TM#34-#1T],R,=/1,]#0TC&R/3)1965E9:!G8. M-A8.9A96EC^8$)%SGWC1X]-3,W,+9XZ.#YSWK[^@<'/0U\FIZ9G M9N?F%Q81R(UOWW_\W-S:1A\>'?_"G&!_G_ZA%Q% 0O0?X[^I%].%7L2DI"2D M%'_H143L_\<$)E*R*S?)F=6,*.P\+_%+A5&RJ*>]_=1-)2#]$,5J[S5!S28H M@Q!"_Z':OVGVSRD6_C^EV7]5[/_4:Q&@)2&ZV#P2)D %. >PYJBZ;G\56N@5 MT4[&<<=L/=Z1E;4'D767J)EU1(:JB_&L\F$$8%,/10#PU.L$ 'D-JT< !&NZ MX1BR6@(P065M#7@5H-ZW,Q =7 , 4"94A )FW<#3 ) 1C/0Q '&LW >@S M-=7\>^+?$_^>>#&1# &/@S%!_9T5C1!C])MU$)T#"YI@Y?WO&],>>Y,:W,NB M!=O%"K1W']"KGZ/NL5;#ZW/"Z=\JM;1V)B^P?>M]KU/^M='4W:.T[-Y5D5HM M0P:-HR=1@A&J//)_6P%#LW99X.>4B5LRW#21(D_> M@Q53O NM!_C#O4BE.Y_^?FK?Y:$TQM_H U[4[KZ]6H9)'7NOR1'T,AT3+.73 MF&M&)*U].>K%:*$/#RSF:NAM,/;1ZH6.;^5["0!6)(( Q/XU8(@D-9^_PS&5 M+ZZ,O*MN*AT"7Y86:]A/\;Q\PO1@B3_]VI?OO?+#@WR_B"OF0Z9X08]2;7K? MZP4(_9IIYW*/3O,Z21LDIXTV:]PG4_M)DM\U3N'[%Y588#UE*)5SJDX0 >BV M N$TG^B>J6/E0(R:I:]^$5=Y\N1M@Q;J$FZ)"UJ52#TP=5789UA1E&-@@8 P MX:B"/AZO.=U) M!@GXU1**G-/]/-7Z3IIG'/U!1X1_]HX]:N&B<+$?R_OZC= M-@@$%2Z'Y%JS:;P?$O1WTG>;]UG(_VJ])X:!W1(?DPZ_^=HI\6?\!D[B3'6' M*V?WK!*J.^WSTGU56L#Q,M M;(;-0@3;_/AQH!9L/VL@Y%[)WY:P.VK(:AE;S21DG,Z@EO7-]"9B;%'YR';Z MR<2S2;'C*K#6I;$-4,,=#AD(/]V1" /\QU,O6"V54BW1%OR?<6+Y)EH?YE*;G/W\*5\DI,GBK^VIE=6EMUZ=\_W,MK]B.U>#RZ4@L+SM^=JZ&WX/Z-L 1K>Q\ $XIV'B'1C M=7H*J$(#P M9A5L/++!=K&\*U>K$)/L6Y'!O=0OB@F4_8K6%NI3OR?@=%? NX*6X:%T8OS" M>*<*5J./K6Z8]*3QT')Q9679TGI^F'9/K4+FE[F:6I+*9*)K^DIO,WFUAIL M,OP_B'+)EHR4Z18MN3&YL6=/4>:,M!XJOA>@:3%C6L/&D=*5A2K=^2?4[2[ M1*$T\Y/Q]A\RI[9$,][FU;\A+/80]E1*?8S7RB1]S^QYN$:-=0:O5+6 MLN'2#O9&\-SIY65HM0S6^FG0U";]A6M1(:N8;.GUEXHFTHRN;_'3LRJN8LRS M[ERSO5JSPM-@WSSW&QL&'9^R9W\L",?K"#0?+GAMWG4B]3QI(:,LI#_[)P18 MQ]F>Z3GG:L4@3:>>-PA4F#FW)M>4)QGHY2_.&5IJ\MHE:QFU:"@^572X)9(V MHHU>VR@=Z^E0Z:JM+D44,/0BN>O GA60,F^ZK$*VO6M"3>6"[XRR#U1YP_[[ MT2,@)Q3NLJ1GK-[9.IL]99KJ1J$S*8[CJK-=VEG;W%'(GB;[;LBNY?XUK,@. MGGIC.V1&F2.G7\2)IV%G$S:/=DVI",XU^GYGI:%FX5MLH?.*@Y7DPF=\<=G [>IP;/&K3)';D@K M4<.G-U6A= ?_C*-7%(4J&/P]\>^)_S^;6,-__B&$"Z*AC[WSSL %8>:KSTVP;L ::G!I[MKX3O>+ _NDD/XG0AZ7#B/Y&3%:,%]^U8\R_LG4[)-.!D?BQ MNS6'RNKVD@)/G14X#.[$<,F52WH)4M?7Q&9B,M<:-9I7;M'-D;NH0ZK?<7O';ZY<41-!MU]PF>DNRGU'E MZ2LJ^W>'4O=X/HU33W\Z+\8+*F6_=_$$%\%ZM/DUE0OLGT\*90N_R@BN', N MK8:S?[>]S2ZL8)3(R* 6@7F6OD ZMC[3QYBM8*PLKHKXL@)A^;FEA32@OI] M4H':BMI=88%HDOA-G !*;JG'"\*Z,5/:3 B340V-^@H;>N#RSUT?GY?:EJ3 M_E[:T*&U9!6/L;ZY7U_ 8+OVY=E4^<"W#YJ=AIOWR-B$%ST7NE;9RB MQ#IDK-8*F^L"0UQ-@XHHMQ *I96B?G,+W.OT\D&]OE%_9\OM-WZC>[WR:7H M&8)*H\HDR+?R^=H_Y5-^Z:Y8&JB061%(3(J.H==WF,;-TD[LX[E]G%SI1R71D3#+HS M Y'@QO$C7EBL$?WTR^^M=/$U#)\Y>BG5P[&*Y*KJHV;LOAX9G: MJ>-WNU6/JYEE'9)E[)G8AS]?S@\0KGIQ'9W3'ZCY?3^FS'KK9Y_QRM.O7(XC MQTTB/"7Z^Y^4)C4YR 9^!*2I#M+J")2=YX5STHHSNH&@+T] M+/US!#53TRMU'E8WBWJ_GF.OQ(_D-IP7*<'[E#3.['\,'!G,R(IIC7B,?#45 M-<>5K%:03^IWR=^(2"KGK)%!G?3#8N5(^KAL8WXI796IBXN%I=^*W'@4?-=ZF4 MZLP#UW9[O3U]/U@[=][,T&Z>L371'&[6^A% M^-X30VL8HG"MB:=RT3'&D]%O2VF&Q$2SY:4'.9+\76D]U)BAI9% ,_7]?8Y2 M?_3<8,YB9XR?;YZEY0KOG$VP@4[SA(=H8GHWF.5C"9H[V[!+\G>Z#DMX'R@O ME$%MA@ XO .G1=KP)R/E6\-_6/(\U;56U2J ?^P9<:QN@KB- %94[? M-MV%D2>\W3K5*X__;GE/9OZX)<)E(D+4:#7X _];9E8L@\:VI=O)XQ,N,?V*?1(=U&F]L*9)7D_G.Q.ZZ<;KJ_,V1()7% M!"3KM]SD^E;Z H88"SV3Q47N^FBVJ#W[K(GVJ: ?^GW],7'NTZ'+C"SI1)L7 M=GN#6&-R[51J@4][E-6C]4K\=NPGKB3HIS(>ZC*GJDG=>[?/P=BOJL Z 67# M7G%!Q9R9F(W&>]3@&NS>0D+6=*(>RO:$?]IWLM<1;,O7Z3+JA_@G*4M #0MZ M)[?F;N_'E6_+RW7RS.X=^%3)03I'-J6OU'D]2#BD;33UJKM.HL [@KXS M:'/]([HQ :%"[\HEGN#K76J]7;>=.Y*8(_DQM/!P4C97U.OW,W&_Q!?>J41! M9EC.\IU<6)_(G3?W$<;]>R6=VF^S DI+1&F)Y#6?OY$5 MLWUD#3-%%RQ!K>F^)_6QH[82Z.J-+$4_I/[FM1-^D6]OUNE_2P @JW9;EXC[ M-19OR[$/=7R_HDGV9C#29V'O.-+\DZN3^%BXX[S.#:\' 0+.GP<5:WJ<#&AQ M4!

+1-(E:X,T8?+9=5,73;*GWL2OSA1!?U4ZJ&^VR/;IA^6V4)](CO^UCK:@3K^?A8JV^+=(65MC5+L35G/7!5^VUZ8*?E;3."E(A^ M 8FQ0LF5G(S10"P0^P*)6I3-*Q[CZZ]Q[7)!QS4%U056$S(%O,Z!,?&_JDP6 M-P87_=X$5RQ;!TCWN\O(??VV/Y*$^"&%L"QYS'-9> ()8K2XVHT9 M>J>V8W9QB T>MBGFT;?86/B+DV]OT.R;,/_UCM%U.FJI"J%-Q*\0*(]Z[#D M'E1. )S,MR>W%Y73*IV'WLV;<18O>5.D[Y.H'YS-/)Y_ZL&R]]M51\4A[]:Q M\_$9B%'\9:WS2.GR><*]IJ:D$G8Q7Q:T)N/=!(?1K\:T'$\NO?ZT#W=2"C)" M:W>! =?%CJ\YN6_V$]R41OK*)43J774O;0?.%1M2)$."ULE6\MO*P[>Z#1G2._[%C0;$X,G6=QD7^5IT;,Q3TZI M=EUHQ($4ETT-3H-KU92!Q_[5]'[6!,PP4\$WM' .9&X/A$ MUMVL_W1,]V^4#!%H#;_W+.EJM.8U].>W69F)C&K;E'L/C50YI2$&<3ZY.. M$_6_?2J\DN@2%M^&2Y7?>'RS_LFAY*W*>\IT$.+9MVN,GDS:.!MJ<>;QY#C.=?B-C' ]\;#J)" MJ-$/KK,U(.@H3./$;= /"<"#:%_SY>_?B3(10R1BTZ)N, ,2'L$*:M"?7STR* M@\NL+)=Z.XRAB9$W]NV!(24=XE %,#74 !N,%NF7:]Q[NV(."=]>\=@=BVU7 MDLUL,M+^#''(E11<@-\R$?)W(I%=T;N ]S3;-)ZBK5?3O&H#D/Y!]U[+YP)Y MGH-W4/).!T^<9(\&$Z!4:($-\KC"^4&$Y4',)#9(LS7\SHCNP[J :H^2)K,L M?K;)KZS*QCE>E)][7IN"$/"%L;Y%OQ@_>Y1-!5N^X-320]3,^6@2;>!X)#RW M@J[0S.S-9^APG%IPJ%2B0VBPIC\J![&RG^?BY+L^1FM0WL\_Y Z6R_&8$(BB MYF0I(UH$2/U8FXJQX-Y5-A'>K-*M7#7&6/6%I4%R?AOUT$)HL7!RA.PA0S+< MJ881FV$8OCV'J,)D( :G]L7J"0"=BVF@8DJIE>(^TN_,!%N5("(\XFQ=+'(8 MW54=#UZPV3"?R2< EJBJ_!KHJM"G9K<]=3-Q83?*O?OWR]19,B62AJ)6 Y94 M>0D -Y9WJ7\2$B"S(B5F\Z-[?\5DB'@8+)-8D[,4O8JH;?GY?L>:]C9]G,M[ M"P.V-W9TYPTM38UI?)K9U[RD8CVS'H1U(3OO3*LXT7GK3TL@\Q /E*]^Q ]/ MRZRPVK5\-#M^)=CV:N_;X^S'AS./-YY,A&^E9'GW.UOB1SME$Y")7,DU=A5N MIAM&M:U-:-DWHUF733YJ7*=5C990XR9[U8$&T1!(+9@]?!T?F4$U"] M#\,(&-U6H&\?@WB3Z&TKP&J Z-E13YGCMCZE8$:7X%S!/+9W'1K" J&(>'Z\ MP\/OXQ9,OM$C08K4S;K"NSK>P_DUWLPC25_U>3Z]3 @#[E8G]CKJ_N96"%U] M,[JN5ZP/(ZE#^M"57<$^0?#WHC:?X\MUG^,:E4E%FHT.$VX5#C=E\CD']$QT MFUOE:G]P0%G16E_J",/"\VR1%F:96+V6N]5ML8*?GET-5>(ZV6#HF2A:M*'C M=]4F6M#G M*;^OZJ8U5>:K1R&RN.Y4BAHMKU3>E7B5Q2WHX2^N+:"H55,$?3P%5?"U*X,( MFR;/]>?VXTLKWUP$)WW\^%258\9U=\[L[P+,K07Y=YVH1I?3.7WQ_%B1?E[! M"45IQ @[8K6T=''KX=:)A=+BC@ERRF >_2K#L/$(\_4S$V979^!^;:W\5T!I MRAC%'BU;<2=!3Z,W5^^\JO^#N1[92.)#P>S-_G0VDX?4Y()1BL0Z_=+]( 9% MD8T@;DL))JR3]MQN%7=P1^=[.]:O+UX_O59=@"\T(RXWJB3*_*WP.'[ZM^W#*QA3CQ%#^,>V6[[#E MNJC.M')LBM'#IL"JADS/97VJH>5UAV_K^0%\SUISKY$(&*)"(BK,7+--%Z^^ M"7+\P#.'F6-+&^)!='%FW>M[?2,E3_':<65%360G>2>JH2;: \J).$NA6X3G M@8N'2[MF7\!5I-2-[0M>M9"T_*JNC0<<) ?!S)K,HD9\U.\BJ M] /KP DT6 MP.A?3*9)^%GXH68#Z/1W$P&8".](_W-28B%:QOTIX;081*X=WL=Q$X GEA+G MC%GKMHS*"I 3A'"<[XJ*<6>$<7N&&GQ:;';G?I#[;>[^_!7W*_5YU',W/CT8 MN9W][&L '<<=@&*&Q72D-:4OY;*S+6,QUEPX=O+DT;2O):48SO 4>EVIHQYC M$35=_(7DBPO[F;BCEDCHU12O%G5;'Z@#FBWE3 D[U>>OX@!':T=7-RA=%^=B MSCZ1MEQNEWR KGC!$?!\NX3V@(2$ SBQ$/FQHH'43I:1B/6$BF3TN01]<+V= M%6F"OQ:LS)*_NABDI+YM]YWHNTS">8Y4,6O7)>T6J[<2V[:D.-L/V+8>4_A2 M>K]WA&G#VUDK=%HQJ7U)O%QJ7; MZI^X)Q9]XQW[2Y=+1%B3- >-($'F1HK&G/^>,55 MBY?RD9^I!7^[G;7THW/\UF"QD2KOPX*ZLFB?BI*6.46U8"35 1^<]WIS6^+V MBQ'BS-"!GIM<'P1N[QYB/J;K(1*3#<#K8#*7-89V67#15G0 7[*.4WK0>\6A M:N%LK6R7$H_]PSLM721BH0! =WJ-1!SVFW,7OC,*.Z?GFJYL(0#?G&H)0(W" MA:%NN3W\US<+_K,(#5^NH/+R. M;01LE^;"88N86UN!:T7Q_T;#!7BM((G3HP("H!'=(/(/5OS7MGW^,^E?W7*2 M^DD TO*'\>T7K^.(JOO_:,5K0%'\_QY4PWU>!?N6X*KRZPA, (K)@H0@:WMN M!$#0\B+,U>3!SCFND;3\Z?97&^L:_+1I/FW=M*S$)C]:L0(N=/ M^QKKEGB\=*DD5B?%^JOVGC:\#E!QU&CRT2!7IZECO[-)XM1;4.]7CF2@F' M4U/K^(:-*H,'K?7NM#8:[UTDI4:DK!<_HW5)'_A5YI6H"WA_E*J]295.P>Z- M$ND/S$GX@4V0G8UQV8#X;-8CDO9418WXE^23./+4" M.O:)_ONP(3$!Z%7;D3,>0U09=,]BX,Q5'DE]T@8L\.>'K-FR MR;.;GQ\(92YUSJ2R2&S:TBE""I@4Q64%'!8=?W7,#!3 GAQ2*8_XDE:Q?*X& M5O-2,Z'7'1SM/^A/?#]1(56TK8!D0M4ZX1.7!F=S,/Y^)FRK_AC_+'=W_^=/ M NX=2=^P72F0U((6"SYUZ#22"M3N22%>AI#TLK/EG'C:;C>=)OVH"%9J=^0_ MJA8.N,\G^.9=Y:?P@"M$?,R: 'B, @HY9P'7+R^[;7(&G2S(4:--B&#GK[# M!MV'2UD:B)R7?5&05\9&;V0I*.8'CQ@2@&@HUO+BO"WUJ&#Y+P[IA@_1)HOI MQ4'J58:*700K=P0(QW21&]&M*H@"9;8+#Y-#I> IJV#8%2"0C/7B *+&"FA@ MFWD0;0) :@+'>:1@G<:BX,=Z[0($(%S$%B^ORANF&7"1:Z5_]JR=7EUENLC, MK!?YFKL8SWF$ )]? E,2@/7X.0*0-'Y1U-K " #M;U03/JXI$H;2O/#V@I4NU=Q6O@^2D7X]33&2:QN 44,(]-;%N50(XMDFH;'")==6;F>B&PJT> MQV?1"ID1)/>C[M^/.7"J89V'_65!X)A:Y"*F_MDXH#^;)52)./Z( /S9.-I_ M,4LA@VI1.P'XBW$F_FH7DO%K-2K_#>/\+>7?4OXO(^5?JJ:*S=:K;Q =XFMZ MD\_%?#INK_CUNCA1][)H*/04A0)#PF&K[<7_PU<$9L:)-%D,_R!R*P)P*+T MFWM]L=IEV??FW@3@\]A%\65S\T/=Q)B*_>^YP<\I.1_>*@K0/;( M4$I'.!0XL)64V!-&:VP$W(0R8%UG%VE?"R?CKU#)G%&QJX0LCL FQ5DSPZO] MQ-7(R^O.X^S0NRA7E]!52YUDRUC 'MZG8!"TZ7.H[[+C:@7*=RE/$UFY3V62H1W^7/E&/W MAS*0!GMJ:+*76&.$=F0G]X*V_+ _FL8J:*'ZK1*G>Z7V_FOZ#X>\^DH[FQ)4 M$.E>//&$W01.^NW6*N^DW5C.T]+%TOKK&1F1JL#0-[2E#-'1AU MC91%8QLNZ[FOV384X\^/%=R7%'I6F&1*M?4+\[_-=#!@0*B5JM*9FCAE0:@I M>J\>^U7Y"GH$TW]5YMA440 (:R\P*H]L:>B"8J)K:!@6YMVV0NT+%K>O)W[LVG8.X( MH9FYO+ZT9J)F@-8S_N3T&LGW$>,>4#T+G$G1>T,B)K MT9I'A[;D#%'!YM18P61[N=26NM-B<-HL"M?FC,WT0TE M^CK[\'SIG51-C/Z+%CYB*@!S^C_;*$$-%\3!V*&.P0'"O02 "G+5G5U_EG<@ MJ".H+T=']JLGHQ#-9;D'GVX*AO9_([G\?LLF /T3@YG"*2 O I4)C,)'&UN# MMD>L+INY?&M(SN-;;_C:2T+M9?XXE-LR:-!RC5@&O$B"@(?E#MJB8&&^5:X8 M3+#^_H^UOJ/YHB%I\#5^Z]N:W-Z),<\W%!2& (Q*E(U*&QJ?]%[GO0O&PJ2F MS)5YJZDQ,*00;)_\B'KYOGU<\N/I]:)\&->>VU@G+5;;%%6=5#56XW+Z[%7% M#E?]XFO,J=ZP55_I#,LSDWC^O)#! -]O?_(LIY]"E MBT#3;3/TE\XBL!]R"38D@@*?ASV''ZN;FEJ5]X!_"X70$8"/8CGXV/O;F_]1 M___G-=4^<&'@91#+>ZTSOF^TYG0F]XR_YF-.':,YQ +!>H!MM1.2O0]. MC1-&S0S&*CZMF8=X:T<<6*]]%7CX0G^&QSJ9GE5-^*/LT?G:GNX&0[*_MPNH M;BY*JZ8\^J8!^E+?IR'W(DO,4X](*O%E[Q-50]4AOCD-U!'FUKC/ ?,2=@II M\RD [8]D@=UVQ5\Q=!>UY-NKJP.UAFEX2=*0O)8%O M0'2'B(1.@9NQ-A-KZ M&)7N($Y4XK*E%.=%2WV?!G! OMFT)_9O_)@SF!.:5K0]4]:]T>U4I;R3I-'#G)W8/ M/N\UJ)+-\?%NH-TV)"*4R2%:L$N0#=N&<9G8T?YT+]VO6$%M9MKZ9%65&^$0 MX<*:T'(L' W'4UM7V#J#:#=:L$:H^]?)&LN1=VJP.+C5]S3SP,;E9]?FB5[K M7.6@?H_RQ\BC"_;*-[@9$FQY&MZ8&-#>(VVT$.N2.PB)C.Z3) ##;U[UA"ID M/WZX:PH9W/*(*'3)9YNH/$[BZEG2G=S=8%Q:6.C[I$E-'_^A$%#.)/H)JAO; M'5QG6$CHT=9 ::6*6;A7!;U?!DD=_NX:V'(XWHGB,,H(E?+>GC92)6/Y$_VY M1R>R\)>XH,HS]J=#OY/YISZ>.9MM/47OV^- -^46]1[9B;=60'\<#Q#9&Q0NSO=;<4.ANWA(K1[&Q_S_D1L%R>+\_V M\CV6?L9ZY\C=49[[89RB]%K:LO!RG 9JM7P]&PWEZOB(FK0<\A8OOGE3F]9S MG_F5?.C3:T:](L"C"G(@_!I)45$[9FWC9UBUHFQ0M7B-HE^VO]&"WG]A/79U MBL5^HNA2W2W?&\0\7=\<3,T18)8M&]EQ,=DJ9C3X>*EP0"'+7/]Q?&OM1]K* M/P:)R'528LI""H-_[%3EJ. 2,;:_?JK@8^A<#?\#Q?T+*7+=D'A**(LO[EO: M[*UQ-J>GH86^@AC6"U#G.] X6:S#]O=3[_ MF5@53(60(-^T(1X7\S&@VV*SX$US;;M2^S',+HZB]AT)NBH7B!X=7=.OCYZ= MI=RK>FN8UDM->M>H"Z '>+-D_S "ZQAD"A>?:W*N U/7==HH^GOE\9O+> M+WM37[J>74!XWLN9Y&U1IT,&9CEA\/DL 2##2UY%!\?HQ[]XT;O7 MI*;&AWGT_"B>(@SNLA:WS]UGRPB50&71)$=K&O>_#&\!@+SGQ&;,G'/T1^KEJ"-6!T M@KI6H^D\/=*T#BN, (7AN2U?*@JO[U'TWKRY/%RR]7')0[G7FJ'"+?@4OUOL#;, M1^]=::N1M3UA9$W28A%4$04.AP:CRON;G.>2:B"]ZM$<8F)%"DZ) =5U;!G# MB>_PG)=_WA#9CD>E<&ZN7D<=]"L%6:+F8M?AL[*ZNHY<*CB!9Z=!NF9ACVUO MK:IQ74DK2[U0R6FIS0,@AES"C&)-:U:&$'M! [GR45#/]Q/-FJ]J,ZGN7#[]^V>-((+O_WI#'&^[9E8/YXQNI/@(PVQ7M-A(_Q,B"P6I.@' MJI<(@W^L'^EF1S)$DC:=TF2,C_'28EX)L8!I.>/X0J5M=;#>?:T&B3*6>D_5 MIW=_O;FZIS@=PR@U,"!R$E%@[WGQ4\'"^B4UJ+ MM$ZV^3'M-6G^+4-00TC!=VRD;1M.#TG118=$V54YYT9U5I2L]32Q-36F4_'G MRG&:F%QFU'2^EW!#ZG:,%JG4Q\\"XW.?+[:GK..,R>T$+XVZ^L:[&L?<^:JZ M77M]6%-"/F8EV:%S:@H/^>7"=UE"M-EJ%SC=C^]#V2;)J,3FLTU!M1$=^FMF M$[(<=S%-C34M@L:X6 527C72RTR6/O_=.^1,A!-Q[H6X.ZB9DUBH7L6BLX50 M.KBYLS-3F^7I+4[A%D& 0C"50O8'[+***QT)@O>](\)::F#G(L\P-SQ660BA MGWAQ\C!_\L&:WRK3]&UFG!3;#O7H9NZ29APRN!W&$R&\#!HBQ2"[% M5ZB3F$??:-I6%A@^7GI5NI[>301(A=I@OY\]QF8@_>+ XCF^E3A)[-/W>AAK MN+/-NC+U@1W93'BBEEQ2_^CN-8J) M>E/9]0)&&[>;VXVY\<*8Z*S V8KRS)$'MO,=38N%SD]WT6?;CU]G-+4PW$@N3 MA;S:OW\#E^'_L2A0!8GO\'*CM5K0S]:0KY699Z],RIP[/7@VX90LV]D<+:9B MW)B-L*=7HSQ][<2YW#/S)>+0 ZX2IOBX(F0,?QNUB/7#+%F@!1=7FUP)(49CWA5AYHQS33SDZ M+3.^(P8F>K?]C(7JC5?NH2O#+6]ML*TL9,Q:%%! "C98V&;)=@$ @ @$\ MHP3C!2+20;/CB;8*<'':.#Z;*P2@* ,I@2.94OG-W!9XC226 $32]*D268\..%4+DU22L"H6U5R3L M<))R\>:OUJU)SGO./0^*^T9,9]AXG@$U0J?_$#/&A*/;.V^$2F:KD$ \2SZ. MBWU6(%:ES-Z,P#UD6GX2#Y2CRE6Q+N@CY%J?9<6*A@X6#B[-T[WWRUI]<7;+ MSHY1XK([BRXOT7YQC;?9ZO7S%!F).!A+NRTBCX%YQY8!1\5:56P-<>LN$U.F M^6TN9>%'J2LN*?>$7CKW9 CV#!8Y)=0JWYM"^\&R[^/=]Z4];YD"KQ%I$[<: MD$%OHG)Z(UL-:"#>>N-L6Q'Z,F>."2-\3]BZ?A*'WJJ)(0!U_?">&OKNMQ"- M_L""&)^7(7M5T7FE6B4GS_KSS5/\GF]XM MH0,A0*?^J%'V>7)TJ%+&OWO5_?_P*AM6-#M,'WJ]Y\-9EGS\&'C@*3%82@-Z;4&WL3!Q> :K;G*&3D8-2"5W4D]?M MWKE\PGFTS[YMTK&$&.P!D^.NC,_=0]E&UZ_1;6V0%4WMS4I?P1\UK?H1 )/D&N218\7]2)]KXF)OC'D:0[4OHVT?&ZE> M%K5ED-WD-T-B4Y"4&T91=VNG ))QAEIC O G(V=-8A/Z%K4C98*2+*UGGM=; MBR][Y)X8-M^[DAA8UP*$7.WT;S]O0*!GEEO!W2"BG0+V&J9XN2H/^,+B95%Z M^IV%+EJUGTP5#CXR1+NP/Q]?9(@@%JZ.57'P:'=#;__LO?[Q\Z=M89UD\T>P ML5LCU2?*7ZBJ996IH0'8=M("YD[1\M#C]^26O06T5^0.&?1.$[M+A2\SQA=/ MMA5$PS^M=5\ 8--BHXGV2W:^50=2<@V5^]/@A<_?VW\/MV;@AT@60Q4?X:=; M FU2\1%?JM5K\LB?..E44MBO5R65$N\-Z;#:J]?5$)G"SJ ML!O]PQ*2C5DR:=,/1$Y^N34TZ$X DH(S 0"0I+#3505)F>-HSTLD%BQ-S\NN MU,46Y--Q=\W>F#]FOC^6,IYBE:/PZYYVK+&#(.8MT3^V5NWQ)C/(X, MO^7H&"7@F/>YB5^>UY;SL7HI(-H=>J8<#_R^U VJD^A[&O1A1QET_C9$T"5M MC,4$T\1[=:IR_]OKJS^.N&AB-6Y\QX1^2?1+UR'S!-MB]H/8Z#KGF 2O;TCA6H7R*4 #"$R&X1@*?HP8CC M&J:B]V8_VIIXH0H<5Q5RF+4@ERM(N@H9&+"RZ$8",)@O!":&S/7C1;!NZ(=D M8A)1#4'!8E&3M/C3+^OFD2V)B!9]K=G/74,GMG_. ]#WZ'(\%:+:M9-=3QY! M /I$AJODAG![=WI#;J4=%$TM/QV68]_!9SD8 TF5ZZEOPXPB1G \YS4AU_%? M3QL*PE1<#6BWN4+BK2RV8$Q,(3//EU/C?!6?5*13G(YE#9)-I:^3[!* /Z]Z M!<40>X\/IX-FHOA4]T=>:1T!F4_A-$J77"VL?W66EEOS9=.TZ9B8E6I,9&6F MJOUB]0I5OH*NZ3:XC!\TS>F4P5I6[RP.]N;M-':BP9&5[I5),V7>G2?ZL=W? MKP'?$8^LHCCX@L?>=H):L.7KY]+]RJS8CJJ=VVREC+F+^ZMS#Z[$J%/*!9B0 M,CX*?11.26I::?IE50G[& E;R.E?+.A;BVBURAV,]J72FTL(X5YZT22,/:C_ MOIG#1UNO\3V3-GB]GFC?]L]'\,]!-4NE)R5!F0V[L)X'8L5J/$IY/"D^0%(S M+"C%T,'R+D#;N-OXZ;?5.4.A$?[*I'HMDXWJ,0OKA:4+VI-65FO MJ)4.LEPK%OTZXDP-MQ&"/NY?%"E?J#N:3%$6X\ BO>T" MFG0^:?Z.S,W\"7)->R%U*Y;UUF?[&XDA0FCP7AQM""_63FBM5R5,+F:W25FL M,6*W:7%9]S O6$J*(H.NNML?!$07A6F0MW$S78PT QC[7M MX5+JC"LRKQ9H:K)M7UF9/]SW'+XI>"([;4C!])<]+_[S#EF&2*/'8CIY-MFY MUN)EVQ@8MM@VI&RVY6EH=?=:8H>40K_-C8Z=&4-V-GR2G% D71(?7!+]"D"0 M$:&IX\>@U7!1JOU6IL,H8$.!A6CW]EB,+(C>Q?]V=A7ZJ?F4S(Z#E(%_ 'T6 MB]&U[:][S@#O!;/ F#VQ:NR.8+ZVMS\PD>ODHA!E=X5Q_/ILILN374)6%N/E0UV@1F18 SR;:8+,+[9)B\VW[L=Z+#X@US:2X41: MT$J9Y7>1PUS@FZS$0AVRH,^ S-H*&H(]#R[:G.B;M':QH3R42;A5_/-%<[MS M[X.\P/!W'8%SV5#!\P*H[(;;B(G*PLX W E5$%U--NR6L<7T14(VTNINF@%' M6/F]T%7H0+;2?B3YL&G[)@&HI2]%JSQJ1+/O42#+L7'O[B*#P%1FT0VHU?S> M5+9EGCG1]A0I>R]ZZKFW6[9U[!$XQ2:C3?_\JZCSTKX]KUD+[=@#=[&9)\26+/9G@1>O0Z?^W/VVW:"8+*3^"Y7$YF ^^L?^)&_+;S?U($H0[4RSSU>T/6,8([+4$G*JU\&:B][ST3Z?I!Z9;1 M9'O!_X(W4K=';,CO::_#(^0_.NHKW(X / M 6!2>6Y-\0 MBJ?%@HM7H1;8T *1+65>1[E&[;*=MKJS=ZI*6KJ>B=0_W>&. M!UQ0W^:$1^>%[>;GQ67[S/VHHY[#(;=BC5'5YE0FH2D&3*Q-.Y/-.>H D1*E MS(SUH"/I/B5+B:E_&6AIUL-XLT6*>:FZE^[.4ZO?$.,*EB-3"=O1"/P:5N^W;IK\:\\J7JW]4U5\V*DH+- MYT,I6F2(O.)_9UACM]9K%LO[F''7L3"DCFR;5<"JP*R,_0Y=PX=\@?AU@*8M M+#HQE3@_H-J_=Y4"^Q/]U'@6)U0%-6M$L<= %;S/+)^9DA-GV3W!ZLG%L[9KAZ^W(TJ MOO9-B>S/\XFZ>)'MY7AF^"(#)O(W5+I8$R7$S"]6F7H6$(Z57122A;="4 MW]NZ])0L1'MK+'C9B\HL/^Z\8B/ETA:>I_[Y;S=?B0,GY;2[+0$,M==ED;:H M]A!IG!^O:8\!D$(*\;"A2%*^,C#>]A9_QUT)!L%_F&0U'F1=@HJ>IX: H-*S M%Q6-4$MC&[HI&40GGZ!HK@"?YNPP*O@>&Z158;.D"I+'>F/X4*/E%=U(4,+M M_0IT<3_3FQWYN-I19>38#0B#@!I.I^.%B!YQ)<>3M94-8C=WB)-M5Z\_X?4B=4EX4K= M%5DH^>X#\JW5J]._7N')(-$$8)V]7^^&'EX :UI]O662=MDQZ:WB70(@OI1@ M3SZI;*@O,B<#7V(^0Y05@]^&C//2-V.=8 *Q=FC-MVYK]#:?UEE;C5[2>/D] M()^8>4=L$ \#<'JHI4%V L#622[*"$G?_-TI@'IP&&#A'Y?J9>87?E"]H$T; MCL[RDN#B1BN\_WU*B MIV>@X TKV<9PX?/I%TR P=1<)A*&_C;)1K<9RL'7-*!$V7(73B"NZ12+(]N ZYR(9$-3 NJY" M 79ZK9DR%GT)"N>W_;N^QRX._KK&Z-?ALWY_^7* ML[%#FKV6_Y/8"U3X O@E VP/HL&),BI$D) C:S1OC=/;S5F73N0IWC?ZVF#; M39*,+IXQUO5.\?-/=F@VN._Z13[EYP(R=.C^$JE>+#"2 M)QA*!22.DSL4<(4(ATS7RL9T6UY7I%MG%[J*S4-R2_]8K@[ ?ZV#E#NCMY,QZU9Y]8H.&Q0O-@<9WI=AVD;G%*FDI2[9+6S!+7-R?. MH02;\W>_UA)N5XU%$ G/;:UOA.V47=PN^^["FW$GF RI3:)O!=1HJ"YC9I@ M8OQ>)W7(<*!PS[G'Q@ OW_1^)Q]4'VYE@X5;&DX1C=HW)$(;QQ-?\_O=$DQ\ M0C)6;QN&ES\O_Q4DP8+SCSFCZ6$[K!K(0-6.;D 52%GR'J7":C)N\3,=BI,' M+#/,L#5^G%_L=7>G]<.@"I-OV1N^BRJ?2#R]XO<9Z\^:CVF1,9JO03J=T/IL"!4,>Y/Y,4M[57)V&.<-Y0B8LH@8B MSI2W)BRQP8*2-CC#N;UYEXDGB/Y(8?)MM5$.I*3JJ!IYA\!ZRFX;PB!"?L[B M3"\ >0!RI4G2';#AR]CCBAK:_S 86[PK\ *&Z- &O831XL9"9N]8XXXY6 MK#D*:9LK 6!#CKBR<$Z-Q1"XKYEOM.B+>7O*D6#N=8F83BZL-2+!@!YK<+=N M7,;R<9^)WTU2M>V+T[,_*'ARM97K7_>M+6MKKP(J^+HELC-8J2IC[T[ MI\^&?T;<]^HT0 "R39T/&C94=LGX#BEEB,@[SBP9HDQ1$(.!3GJT2=W&2-1& M'6#/I'6DTNYX_[O[GN-;/6S&]F M5IG!EC%/KIQ61TM^.0GG.=;!C"1^Y?"\QG&?C+82.,J$8N/@C5T1^Z./6@6; M6LUI]4L[([4Y3.DVG=#JFG(A=P@5XCQN5^]9>DTMTG<-Z*"AWBTH2=SP]R;5 M6@*R]R K$9E%7Y%*KY O G^=JTVB+39\:&;!44&,MLK[]X=]KH+3!VX$#$R3 M=_DIO<)!S2C>US:.>;PDG4Z 6!]8QX!^?B!:'N4_/C^Q<3(3"%6L-M$P!XZ^ MQ+10RRR-W"IR(XV3E 9O^\4B[V]%6_LRT@X*5XT_#R MWYD\H(!> 5(Z#_1" MJPQ*'.Q&-Q0"Q<=.I\S-WRC7X4GX]C)88KDQ$6W4DUW%T)GNW,K$2+-[MOMR MBPB0/XL9,7Y\KI^<8O;B^C7:K'IV,L7O1/: A8%(!^&N$2"[U<_)*K<"KQPA M4^+T+.1+J;"3&(G2WB$W: P]L!'_OC4%\R?=1Z$CY>YBL4H4O8S M)7DTQ6H&R']K#+''X\H(VCC44Y]C$&! M @,P"MC18H/Y]F E]%9DGL&+LBQ MZ8*W.9_X^WSF+AZEM[ !Q$9X+*8VO-HUX\,^SU4J6+MF8^2""[G,4U1E3W 0 MUF.)XXL@'AN1-2? M*#@G#GC[SASEMFN<:ZX4#WSVZ9-&B)>] 3YBR_[HE4A,QXVCXB8]OU*C8Y" M/H?"HV(>*+"G'-U@ MTV_ +ASHT'U;NKSX[3:4G\&;L V\P2TIMB1B(%31CEAM4DC)S)555MVL\]R) MQF>,W)#M[AK*""F.9?4J2(6[<,; MZ+X(CJDNBT,O>2Q_X%G*NIGD>8(1/4:Q+&3KARN_[OF'$P5'HHPXC+ PD"U; MHEB7_9F6*L$#3A8YIJ[B.MS$1B!.K^M+]A22@R@D@9J-\;C'+0K!T9ZQV&;6""3@I=M!* 5\/#!KAUN<[H0@\M''M=N* MAL*=?K0>WJY*O^67 "/,U'>HG,K#M4"C.%UL5+G[*%MV4RU*PW^U!^\ M[=@(T1.C3BX4Y4#VX3V$"N!5DLUH;6\'S'>7O$ALGV.I58G_"=.CW>Y*(#E( M4RMV'8/ND8:@55PJW6\\<-1M%7L?AT4,3I+1FY&5,RS?;-A(K??Y&0(2.\"A M]C2 _-MXB38-[I&FR_>]FJRT./43]_.>?&ZKT[HJWK]P5G;5'GNC5OUAG<#8?WC#\#_X!-3QWPD/ADCRU1&- M#N]MX:I8Z3AZERS9X6 NW_B!S27^^<(#1T'KQK M!]'&5V,5."T\N%.T\:;J]#;R\6^UDQJH?]9S4U\"W[#@QT,Q7&$D)4#E>X> M[+#0V&Y]E _3=B],\+"B2_!G;E* W+,G"6$Q(+S';8)""H94X%V*H,9G[K?' MZUK(&^8\.(1%EH%;#I4O165EO)6H>LQA!W$'J.7[:9*=K;6^[6Y65DG#$SJ3I-=@;)MRI $B4)S9\N!<'9=.VU= MK8?E;DGOOT9=(O^FEX]);3W(OGJ2$'#\J$DO30IT+W95+J?UV#R)Q.]F*?') M521S@]U .S(L@#>&:R,)MW1%M#]QL03T,77N&'2CT2*]^X&38XQE/^ $-@Y@ MB8O9_E&='8^L2-Q4S+ S6!QH!_0V]]QI1H%L@SC?++[P9F/9G7P1M51ND(73 MXL!D"B8MUF=*3>_-U"J8@6@_)=QI3]7D(;Z4\EFZG+1Y(ZMQ,&5 ;4*CA>OH MO08[G\N<.*ZL.Y-3(S7K7(V*T@?FQSIUP0K2DZO#@@/6H+VM,"0_D1(_H:.2 M'4(T="KMXCXZ:C*J6![=G59@B#Y[>?V+>G%+V< Q*.:@-E3-HN1<(_[V G7G M?%B0"9["6-=?8LB/9,0A79@5'1VA/?T%.W5_T(#8_EOJ;B M/_O)=99)?#35M(RKE 4QYCVCM/QUGP]M\^L^W]E_B2'^[;E*!H0\2(QX^:@$ MH8Z5X2;J@QF)\D7V[C!Q&Z##_/!V=RSLM,NSZ>I.2H=6AV56.;OG,I3%GX@6 MBS"& 3RLYXE]&3B2Z+.@KFP:>2BAG8']RN,A WME(@]OWBZ7:[OXEE[TD#0:) [@.$_N$- M@/!93='S)-O%/?VA+'4WQR88?FC7P2(ZQ,S0,>C.5F2:]7.>VD[>+68B M=!RC.KS6PY,[=^7,)NNH1[A%*?N;+I"SWJ$C\=+00F+;,8@2(55(O-4T,K$^ MZ!I$,1(\O([?-S>HX)P3.0:Y&@1>_K5_CI983)I=!'-9$MEPG:OQ!5E>=@QU$/6BV M"MI&AD$J)CJ@3RU85P7X<.N/@(B%U 8\9[&P_:J?9-".^M<\E'K[LY:Q-8ZO M"!T@$P,-R^*NQW/%^:S),+G@ M[B#/88D![2;&0ZN5PTFL;C4D M[O)?^SB=-M^.09HXO\A1PX +PI%I?%>XO$5>Y6_?BFAZYM5V-"FXP.QEWXBS(3S!&;7:26/G MVP_<,W7WFOKT;$=%E552<\5NBW9U(/KU/_?0T5XB;SX7+.&*]LA/O MSN.O. M\.)%T[WS'B6Y+#VL9,%%N2"0"IFYR__F.B1-%#U/*%SL98_R,"E=$S5(=!;9 M<"G4Z+!3L&$\"R?U_DI]FN%P<79SRHY[WW5U"AZVP(>V4"HYKJGVE/7 ME^-L6T"Q7=8N$]6)#)9'B0:H& ^-HXT-ST77?)///AP)&\/,:]XTXLI\!%D@ MY5"5=U4\$5?[NS4 (*A.H@ M+(JLX5H#6&TX4H_'!,&2WXQFIQ\5JZ2;M<(GC) = MQL UPKT74$S)J.\CVBINQ5ESAC-CM6*3)@2S: ?U15NY_$N3A0FRF@+Q__Z: MN85\H:T[+3866C$Y^97R P:Q-I$HT2)]\^P#@=?>>^^/054(CV.0%BGD&!0Z M=0SZR1BL4B3Q@C2$KSVB/Z F,3F?I&4JD+^(_E-$^('8^>K.8Q"=SQJ4O@V3 MP70&OKD#OH_+CO#Q+RV+@O0('@I:WJYW/:,K'S=(/20_P/]!1F%8Y);NNRR] M.T4Y/B)93UL>XB$;,5GG)Z2;I'"0#C:B%5Z2X9NMF]*P/X_ Z[G*N:3J*-)2 M0'2W'(/7B0&0::]T"2O0/T^2XD;8%[D("H'N4! DK1S&(MBOB'_FVAN%BR: MG09NQM%,YFM>1+9LJ8ES)HT4<2/_K8$U,]749+ M9, M97,T&='[6ZB\9O57X4P_F?O ">'#I$TQ[D^*/?.D?M09#56W>X>+]]_E MV<,=DT0@3$35DAE+U\66Z7KSV;QZX9&'MKO8EC!<:60) -:J'D*H+V33N:0; M%JU'?.DP3^7.%?A2HQFD_H/B* MK!I?/>6+VIZ*).ZFB1Q8#*>.#TY-]U VZ9]B>7\U1I'N?6XPB(_,=H*0&(_Z M 1V$X (@QR"AB5BB^5&%1Q#'6A+PP)4'%J?F(3O-%$:\4#3PWNTF$AWOH=2I MNJQK?YYB11P_'WL,JO;K.)GKAN=/^#>()"%\? ]G"SMNB>KP=F8CTP6-A?U' M;YO2K' %&\J'6C10ZX81#0:XN-HFNDQ M9>V&8,*#04_>CCG:$W]SUJMAW[(%S]>]O+0GI?ZU)GQF_V>&0+ QM=A1Z.&5 MH"&D4NU[F5:C4X;'H(M]9Z\VXCF^.E>E<6]O5$#JZ!G#)HJ)_$<9&@((NAAG M7&D(NW5)O^%L*7_(-!H3JG-4U*( /W*$TI#Z5)9D4Z+VF#C66%8N.AR2 M;,MI+0,H!X:#-4I^W5*L"EG.NAK!SINESRW^?D]DM^RY3QD5:=)>]95.3SQ) M@*@Q8HO P=WF HH_0AKNUX>/@@DO@IZ^;SND[RCM3X.R(*M(DK.%3(F<\$V" M@1.,X(&I3+@(F1(\\E^TQU;"[H:S^;U;CS/)H&;UOJ3O:9YE MH>N398)XL:AJ<,)T6CNR@C^UT$.&OH1H4E$YC+'=1596Z*LF$"D5=ZE#6@0@ M';Q"KAAP1!8UKJ_EXNWK*/? ^2WV &Y/,5DS6^QB?-J!B(>#QE/ HQNBS1[==R MYAC4ID"D7RRYOMC9HA3;I+=65VZ.MY9"V]R4\JN MP/*CW$78 =@;7X0_-E1C.?C*@I-8 \? M>XVV\V$O5JBU&.601W%:T\B<@6#KKX:16RE:)'E&)"(SOF MI=_A(.TM$CU6:I<7A=RS']8:)X[&$ ;^ "VYO\_9"9QC2H@>;[RPV5.-6+M8 MIJ;'W.M[X>"XV^1(,CVB&A,FZ-4Q2%@WHJ8.GLM_7RF/][8_BS.;B UE\,.@0O9R9I%5L!L_#[;*%9<%A([B M-/C@V5[- "UN3F[6NIU@(/^SX_YSLMTQCFUJXD69\"H20A6344:M?']00\0- MYW% %1Y,I*0@: %)[^)^0+F#A%R_:JS[9:E[:(D>@X('\F6/03WO*=8.));( M<#*$TI&;LQ*+1TE1CQ,MATMD($J<7K5KYE((\*&;:V+(XE:X2CMC(O+=;&?? M'LOY+E @3 ?1]P#RP-V)' ;Q\8%. MKJ$3'0ELTP1?-_4VXJ^ZK^]X+?<4>7\K64K(Y_VR#!NLV(81;1L 6? _PN(? MQT#P:T_*3D+"=AT\LEL6#EO\'EFUQ6##S>,AT5Z3AGPPXN-+L9_<>YE^^3.W MFJ:IQ\"KG;+Q)PRV>D@,CM#VLE7(21^OX!%B)W%763DG52S]%>.NB@(N8G0PLX M"&T="E;%EG4$7C *X&>TBCH&H:(-(100M\.=6I.CG ?$W#&%YG/]HZ33#S)1 MUJ"#@YB?U*0S,MB:]_*E1%?\MT4_._GN4,/;QZ"@JJ^DJR9,D\JZHZ@EY_)Q MQ /51&;$C;%\ACU:\OO!&JGXR$ZC4X#Y,+S)#.M!H5?SV/&58BP@J&MR49N6 MFYQFE0%!N0B-GV> W >SS:QE5PYT\7-95C6^[GM//%8Q<: ;FW%:G![!,(65#N>,4?M+;*$U;[@:G4N3(H<&U"@8'- M&O>N=FK7B *NK5?;K5;,8+@ _2RIF*C@RFV;WYY/FSI$U M]'.(YMOSM ,HU/']7?F$!Q'C05BH+ M$]H_\F+@EKV/QR(4;4-P'\I$V&$"H ESW*%1U5"&&>Z]1LNVQ0WFE\'UK:3S M*5YM4N/!*MJ''+; _'>@'!_9@V0Q-]H[,.7JT!E^=X!&4T* GV4W<'[K;;C$ M5AYYUR=,'<"-@:7>J,H=[0RR?ZU'HOG$0;JQ9# M%(3XY?N2E6E:NFT??ILZ]6FN()$:YSD/F^0FB=@O'X,(D9J"H"Q M99,P3/Q$K*+AO0F,\E.?'SY*^O9HHF)(==(MXY_WSV=>OVCFT6@:,?=H&M>, M;(=.03 3'3;N*U@<5[@'K*R [:6'PE*RA X=Q[WX);NO5+32FI)?;[+?U?/W M+H6W]'%L*D 9->/6>*JR!%]=\;U3E*L4J"](-O-,'/I;'!;SI7W:,.1.54W, M.,<*WWD6O85+Q1Q?CD&_03_X;V3@-^/ H#B0;@S""Z]%F]R+X!)7Z[K-NXCZ M"K7)R'K/5$,)$MV3B:P59!6R!QI?D]R%ZUC8%>"N>(:5X8(3MFT"SMUXB+?V MU_<[X' MZ'* M]D%C6>+ A+=2TJ$:;.5GO/;!CH*@ MCE>.]LF L2#<&BN 7BP-N._IB/GXM]HAR7G2RY45YV^[BW*P?C)AQ5V?O#F9 MC]41Z(D. ;Z:FO!37AV,M7)OSW/3Y5C= :G2@;:S(Z'EA!0'; "2EV@\(=TB M1=2*78XTF1"^Y5 @T/A@O6<3 PJ):'L0M\1SP%D/_9_[HZ*W?U'\@>+W@\@G MH \6W7,>?^=N;?9#]*>O/LA['D(3?9M+Y:1'20S'\84CS3#G<72_T M6LKUQ.OEB0;/+@9PU%ZA('\T=G$Q:C+'&8S; BJ80.';;YW++1Y""8/+.8LV5[ M# I!.=D9=<^)5.+G>TKLF?CA^9QLKB2^D&N#C[4GM2F0I<_\4F]D7VE5(#O) M+>CIL;4;;MU,D;=FB>* C0S3HIW)-$]-(1CYT:;V($\X;]B[7_-3F2L@>Z@! MB"TH)2D6A%=5U-8Z?T6-PQR5>2+>B)GL],_+)_OW7)FDVW4R+@*!R%HIJJ7^ MW[(5 T BEBF\">S%SK,?_3B0U=_BL=>J,MZF,M&8/^3L6_SWSC(ZA/00V */ MC-H=8%@I/ ;)J&0.:^4=2&.5P7>3W9>AM*0Q*%V0$-%U3/%YLG]5ZK!#UE [A]I MB7]>0SHSTH3ZN;(\4X-M)BTH[I16'D))P\<@'D7W>'J,*"H=2.4<0,=J;>[M45G" ;>CPK0KK6? MCT&)QM2=K$%C02I'A?1;&LJUN-R:$0PTC$=D9^YZ >"YYS]^:5&@Y>85_C5T M$!O<';L?LNNO4!9V$NZ$!K%:]BMKE"T:(C?2TNSV^U.+ABOW.WI_6J#=WK"+ M!Q=1@2A )H/47W_5#SP&\34]TH8O$D*;ADI$P,W#+> ?SUS;(#.-:7UI^-9B M:R,BVS%H8=6^ZST\X_I8D+ ;_G6\=C>ZJS__^VH""4JZ#-6[IDH" ME75 B)0WP&UL=L\6IWO6::#>&Z,XC!#CL17=#^F;N;NG_Q96F<9V-"4U%(:Y M(JA6L_&Z]-0<*S!R: "\Y3VT 8<'T=?5#<..4.XP8BZA+3Q&,]D-1:O&ZW;D6%$SJJCZ\ABTA8FF!5^/1SE"SP 3$%S%240$YH,G MDS]Z? QBD!3@K_*:Y?=H\X/>^_4D2E$'Y&_1CIIRQNBUN88/A*DQO'-M2#7@ M-W'IZ]MA&\V(-M ?N+UC4?0?U.OY>]_O#6S+'']WD[\[O^+2VW]3JOW?EOH/ MGL;\M[)S?^>TUB(>X7540%3%^1(F.FI\_8+D@>A"Z<<#U"X.?GTO6%V[2T-BJ(DEQWXMG53@GKO">>N5IPS,B46'-2&O'-MR)P5K MT8E"'^A5 /:>)%[BA4O8&55#?&NNKTIYQ8@=&CQW:">U2PGX*/0.>B8#"9Y4])&2= W(78"'F-TBW7>9XD8!!DU$CQ"N5>;#S MVE;5"\755 C.Z!@4T0");#WQQ5NL\ '=FD1$NF_Y!^3]'ZGKEV7X,\M2V W6 M'UU0@*&5";; &;@".&(\7:.L3)]SD3S>3^O/*$@W&A-(3\7!( M0V-2VPL[P ]/;,]BJ'2_Z^[DOI#(= QZ8"?/R2MU>C_T@>@ L[5,:_IEP\6SZYF61[>[K3:\N"[.3[81G1T*< M @Q-.DR!>.P *WS+.'G*.I 7.EK0TA P_L"?>#[7YJM0D4(+"% ME2Y_X!%TBDB!VV^#,'U]PQ2MYN[$G_DUYI+HX\.[RYP]@E\6!/96431-0AHI M^(QN'@"P\\)(J#]A;T@Q&[6XH:S[XZZ].F&"]=.GWHB?4: R?O=9%XKE3 G" MV6&$V?NV#\3[^(A:?)IE=%BT:W%=]5#.0[BL*YZ%>_=G[_?F0):W/]+](G9[ M Y7U/YX(M>8SQ?#NN<1I69FW;X-!!/*R_]RUC'_H]]]3>,K.[M^P\G\QK#:M MSG0VPFV^\"MV3%MU?-K=I'KT M0>WN&P#9P;GS(1W9\6GO:LW@!O?K'L+*['/[FXR7!E+I,G,BS@8K;I%4@4-" M)JINL(6BXRAD ?AVT0W,7IUAJ,O#:/RI1TLE=KPV$$9XTES_5@^4 M3>,RT7U(\3PB(X,I/(LIPVBH]GOPB&W4W;NKAG4',7LG@ .N\"W$%.;5XM+6 M0S%V HN?Z6%8: Q).M&"U8])]#FM3"II:*/G?0[CR(G"/'V7*&!OZWH2$Y-. MPP>P\:.L_H_L U^5E# +<-YX^V5:_QB4]13RON@D!"1L [MTJT_FPS6H7/H1 M]5*[VY7V:A[$ZY^<[[0^,6 9>/=DKZ =AD9V'MB]MB[HEJ$BRG-.)AZJMF:Q M<'VL<@@^E5;A=.D'!X@#1N)VT,,SC([ M[#974Q12A,&L25BIGBUU(8'!2U2 M&^:"N4?/O#3!E]Q.T!OR5(!V7' 6P5E2D$K[K+4("]Z7JIHA!["%'2YWN^M4)WB7P_EB PBT1ECROMST\H**8 MBR!^T F$60+?\(<])F_A\@NL .QF?:)/2S6>NI,9S9UXI%A>R_I5XQ7UBJ%1 M**K*+_$J*[QG,>C%0K$OI7158F26@*U*UHH_?."LGC#&)\,CL:5E#PZQHVK^I;9N-W(/6VXYA965)S0OMK>WN.II',/2]T?/_&V938VI8U8% MU/#=(8N[P V2;$/+J**4>3L]C&O P:5V?'QD3C %[?1 M.H:YOKA&7=#J!"$0AQGY;E56G5'B9C.IR(*5B,6BX_R8A1*H]&6K3FGU5GIV M,YW;\Q8)+[4ATN.J-+C3.A+2X_LCO1P"G?P<-'+E1>?1RSNE8FG+O3>'87>E MM65>'EZC"E;+^O7R_=*@AJ!,NS,^?HSTIM#-G,4&WA+ J]-279LU<*OA%:(Z MRJ8J]%#:3%?VSK\*,*Y! Z\TQ5N$R;#9U-G,6NB-E56YEJ4J)F[ M9[P>0A].YK>%9K]#YWZH 3QZ6?))7F/#%75._LD*PTE2R2'&\M%,Y?\ M[@5:+E*0!PN-^C2Z0]C0_M&/?=']!;U5J3?]NH[&+@OL;@$WJP9^+A:=9(19 M.R>)@-G4[[5/+_].\JOQT_BK8Y":#Y3(-H?$%_UPR6$,(+&5R)/@JRA K.D8 MM&B*;/?)1P[P6QR#3NUG$]T:>,Y3G,Q=V-J-$W13*2/1;D& ,3 NTS5[I\?L M1/_4OY\D[Z41)]8*(:0!9=B?&F?A#AU9E/C22@QUP]!6J48/52A+FDG3SH9@ MC>9^ZD"%@C*32#Q/.4W<-3X6?$$\TFT>K;'?]0RA#+ABC?C@'>:HRHS'Z(%P M*87/AADJ(!2Z*)'0:<1.WRD MHZ%IT%7.Y1AT=UA-_,!?5C6:=B>+X-N_JQWQB>R:7>/+9TP#OYQ#9<&&$56H MFLK-XK=$'M+D/<7>'P]@6VI7WLL*5NU :<2>??)ZK>?%ZIC,H:\X[CJ/NPX[ M#61#&\0A&903R/:'XUTWP 9*B'0,[V#0 MOS+D_!=#?S'T%T-_,?070_^\##%;V>N]M^[Q8DYR>.9(^]8E V\.2NRT2 KZ MKW>>_N?J,_&/^?X)MDW_?_C]]^S(6#3Y8P\AD7,T>*8819!A1&S!C)LRV4W: M!&ZT+L4\G0N%;PQN@XF0U##1I)X_:P7X&8XJ>CB8VH&O?QPFZL$"V&O):3W/ ML1GQO(C\$G/F3 0W#G3J&9.9,QYE MMJ.VD/^0MY@WDETDS'KEB)1:!';82 MRN(0W/!>OOJE0/"B.)PJ6%T@!J\/<0G4&C"#T<_#E0Q@4:RSZ&EK%X-"7=S- M-.:9&\D9S^K,+- MZQJ\ ?)^K>_J>AZ%B%1G=,H7/D='1S/P[Q!%W3^ 8^M6UE"&L'R=X_V(SZS^ M%E?3H/,JXU#I6LD&S,/20+J5Y)BTRDILEZ_\'/(0<]/O]H)]M1\NTAHGNEE8 M4 2/8+#?,AG-B>[M>#]GI]C.;?Q:0?:5HZWL:2V]$2G[*1T0XM 'I]W#4Q:7 M"R3Z^V, HK^SGR,A'<%P>21KCMY]VC=!__K/D-=N%I+<0I/F0I%DL4_\VF7( M;8GJ.)>1LLTWS6/295L^-BLE@Q]T XI?2?,;LV5&.4WF;6N1/]0O'8X!+?O( M,*SXD<2JE3DYM].J,R=Z)6^!!AKO]<:/R.5DO MLKT$ASRBYS$BD14 )]-+5]MV EN2KA" *AMC9\C^%\5?%']1_$7Q%\5?%/^' M*&R,1DH>9YPOD2S!5E5'W;MTU_A];BF(7^(SY/^*'E)_-6;_Y__^NQJSRZG= MPO8)MZ7?=K,>V_7E?'HUW*KM?K+>G4*>LT_[USO%WS[]>@W$=LN5= E'*L3( M ->E?(K/J%T2#$@=.[U:L\+J_-7YD:9QAJ72NH?XE3:J.F1"C5_J?C8CT9 S M.Z!HI84;#R:DOG,ML%$?:ZL-H.^]=5:;6^9"@L'+O/,Q?6&B5P3I=JR(8EA^ M!P(Y;S5R( 8N4O71\IG_F*GU]9Y3I12>Q M7-SWZ,GS=1OA$O*SCY+\CT%7&K<. M]ZE_]?9DN"XAD MH[9_Z0=J$O,YY6I#JK+N^%;-1W&D'[71X9[9+HJ^+\\U-97S8!:HK0X7C)/3 MO#EFG"OV99>=K%GGQ.C^\ _2IZ9C4,[L_M%AZ*].P53O.-+^*$/NO^=?D^>Y M.?3?RY#X[_D'N=VR0OY!!L@?V2/[XCF'^N4NWHP2^@Q*:"EUH*LO0"Y M#UF.-U#V959=U"N9I\%JQCX/?DT6<@R2+(+^D%N./X5HRR MK0C%,O_XXZ%_M);_8\?W89B(+)41VEXZ ML:I-+MWE Z$_J=C]1\]?KDG4=7+G[7G7&U@M:,^%2O9EX]W3RRG M6;,0]7^AP':[J._UU MX,.DF_G()\5+Y=NM?:?+*SJ-I'.("Y1BKG(2C].YKV>N:>'ZOF&VF=]^G)$K:,*CVJ,13HL* MXQ:6&3=B22S-VIH0)TIGW?I4]!4Y#;@$X9%L@A\C/. MBW7']/JZ^O#S6E9FN51S<6^/:[.7I_#LG;_)O7B9SYQ_JQ7,XJ:2\,9#NC:W M S/KN3I\##*OKBE/F MV5H"PK""1$L%>H&396R^TE:PWZTKM0S"88P>+*3/ \YXW6-0%[J[, <>JUW[ M*TH$!)N2OXS<.D1(G6I]?E* M9H4>YNTBI@.[J+1O?LEGD3+P8%RY]1@40H^KM!C?RP@;OC>J>/Y.->>!8E.2 M]NE;Y!J["5^[H@?4?G7&"58/^KMA_31VHO,H #-S>W8EBRW1:KCJD&NT6DIK M_S:GK Y=RDN,AFG6@\E381[!2PCB1-Y$/,(=N+5H%$4Z/UBJT S3AC*XYO:G M:(ZO%Z33%^=,Z3MMOTN$WV!X/V6[?>52*Z6',B$EQ6S\0T%H^]8QB,:C/R]= MF= QA]V0X9$[-"Q+2Y1D-D5EO%ZDN=)G.H9RS;S=SN6MC2VCT$B84/+P?V?3 M45C2];6CW]),VF'[N4VJ/QNE]:VX[6M=-^;)U:[YE.3:#D<$H[>((@,T%2D; M5+CB^X)S]^?% CC[E:.3Z[&*F5D\7"SR[I%]-3*[C;][5N8/ZT+%HN<[SC6VA+;3%P+N!C4Q6[?' M/'V$7+2:PM4:+;]ZBKV\PQHW]/T)Y?W[K3TGNNC2&*_7Z?L*EU>,4=DXF(WO'(QM[3PJ[+PMF#1Z1Q 1UKV@S#=F8Q0B(/9QK.0J#RGY<::$ M[2C"*%]B\HOSH<^P+1E?SU?T7=V&E\0<>890<=-4T. @2=T-MXK.RL .4-C] M0,>WI'!6>SB\G:DI\Q:1NSXD8M*=)!3CL1:'&-K3N,_RA7 ,HB4&H=A;^ !D M5VQ!;UYIB4N:UA=7BB;5"-]*1EJ!L2X$'6"Q*!-ID5XR$+,73]&I?/"&#>JN ME"K?A?2_M'"&_YL/2Q&QF$>\Z#0ER,NNH!U*H8^;P'2'8*(]QTF&Z&_, M.<\2,/J7B#\H2O_NX8HXD()/M '\BPU4@4LS@%8_MGM\WRKC%O/-[=D;28)5 MM=N31M5YB;XKPI=%!!]=##1O@G;/TS7Y86%QY@+G#;T[:K-XA\/T# ;WW.FC M*5]/GG5_4^%D\3I"/&%USOJHE?[R'9I=)%IE[=;H0BJ4YB9"M1CIVH,Y[.4= M\O(O-'!:YHHOB3D?]>7C%_P]O9DBY9^.&P66B(?XN(/4,LQG$G\[PL.5,=N/ M,].A-/#MYSN-_DD"R]_75P?9E;;3R"]VCW>T-D&%UO>" M\2Z: >XTA\5+^BF[B[=[HOPCK['ZWZ8-/6?Z[:*VHVLV68OXCV,00W4BDQ5\ MHF/<>KG,AZ$[%^L>0%^.#'IBJU"1\?3+9E%2L5[EEYO"M-5*P4^.0>V)4?%X MB8XTOY&5WG?023=E:[.-*@NP:[BGU)+LYV^&U8C.3YB8PM4S9B$4E:5Z&(MP MF2:FA7B(5DODU9I#&MDKU)$;CC75"4+[FOK\TWXF^I[Z [83=G^_,*'1(BQ> M!16"N%I@C$M,6< 4HE<8/O2]7V](]9_B$*"'GH\68C@;X2U>RQ3FD7M9A7J# MJW"U[7YV&Q?YO.EPJ6(BHV@X4%\W)AC]G!+^U44H6YRS@+B2..M\JTRAF M"- NQI_M'Y:0X5Q1J@3\M.N'U&0?-WA7MBVSLPP\I,=D71H\-\9]S\!K7Y,J M#\)/-.WI?'*CA7KD=I]RC""FR"[JKN7W^*;,,?+H+),T!-_E['T5/D.Z-12L(08B9,4?@S2 MT#A_HF$&9L>@)3G5JR@ZT*ED.#O99V3[_"#J>T\7&-!W0Q'C]8A21_0D!.*$Z;#4XF/0 MI['72%>9L!A:"'L35\_1#M3.Q*SB)^G-'F *U",+ ?T)U%;")1I!I*TLW]6Z8]H_$CF-IH M'X- ^6M .,;.PJ3>X]G4E+OYB*'$$W&)Y)Y).CPO&#UM85!76IJ/<_KVH44B MK4.[(]4ZI;2.W^'XXVPU'&+ M2%8 UL%S\QV&9L]J=VRD;\709/F2M#W:_;EOYX7(!%W+EYFK.3^C;.B'B5KX MS>8" *6%@X55'4ID,Z_6U*J$VKM5R*&MK#6'1)+E"@8DTK(X3$U0\.16:1K* M+<#F@(L( +DG8"UULBQ)[X]!X:@WR('$& @N>0SYD^?CR*(DB;D\8J"G06U< MX%RRU3@OF$E;^KV,!Y;.>ELA^G125Z3QU3?74;VI7^0K#@D9 -+)VQU,>+'7 MUT0P?Y("1:]8F*!MT+/R'UC[Y+I-1._%:3RB6T@&G0H^"=W_=/CRQRBT46MZ MZ<<'K >D,<1AKQFJ97C38WTI?02)%C:(%F:I%(S1Q40)\9Y:P-0<@ZK*0O*' MOS<'9)J,GIUN4JI541^U4(Y^B!%TAUNK;T<^8O4G^];1<& M!A//>)6=9',E&\L["N/E\TJ9#VMNVUY]]RY"]6F634.X)X6 Z?M>\O,4VG^K M7;_I7]$\H\9EN!&VY,OT#_E5@0>I^H6:#0FOO)P(&1:"M&]WDOSRKYU*>,4? M)1IT#F$,C529#Q.LBY O6-WW.\DT-+#C^"Y7R6_/&0OV+7O>Y-"#<;6[,C_Q M>#T2J_4)A\(G,M,CM8Y!V6!V)$:TZ!BTK>A]X+RANL!O<:UQU.30Y"F-8&W] MU8:A36SJZH7^20$:],4=:D^J5GV1)W'[&DSXK,S%>&F#C6,M\=_^@HXY]2F!EX)/:=G)XO]VD-_YL' 5B3[M(1)7R$/^]>M#$+^^XG)# MVH84+K^]?]44>+&P\CU"^:ZGVA67,Y,4VT?;CZ[U7 >-_ZXAB;_K4'%D'? - M>T3?SF,42]3!R)S^06)OMG&]WRP@\2*O)L(C3U5B\BWB382WH,#>Q"1I$$GO MH_K)0Y(D"M?:7'5FZ3K%LU?<%/>$\M8Y?8VGP9(G:_0GX/.M]]!T (:5B>$1 M)43ROYB/>/?:9:0IKZOH@^S5[42"G=K0B\VFA(@:12A:VDZ^A\0ZE/""/5W] MJ*1XC>?9\\3UGYL?I1RZ+VK7K"?KD@]2>_\G)N[E"6A7V3Y]4SAR_4J3UWB^D_OA+?!ZI _5<_2Z\>@Q9^UP%@^ M_":#R@6BHDJ/AW?)SS!NV'TM IZRF^9AGG.Y\'AE:9 9A7JB'YD'J_XY%E40W?'^NP/T\)L[ M'>F()ZG%V,\>V.&2K7<7K[XU95J^_N6#UMO7S\C$P.W)NF72^&K<5;2\ M:M@SO['Z6H*H*\:RMYUY3YJZQK7O\"I<@^#^4J&XMUFSB^H8M$&CT%OXP,&; M)8E5?UBNZ/KVE= M1IT:XAKT8"=85\M'EJQK!.+9S::#+W=@J2,]? ZJ/_/+76 *(H/[;X(3^F.7;1"2.3#_=IA/%![*]'/R49R M%U>-9=4_\3[4%R'[7(R>V-#'3*O&R[P;7=1)[EKIW M:H4]GCTA6&/VYV)69(&B^V)BMWMBA$I!Z .'4:+B&^W2YB^]1?"W"QWN3"]X M/AK[E7V=+O^\H,2>V%<)\> ML8X:+->A7E8KRE+FBVF N,'H:F.Z8GK@:#:7CVOTI?3Z1-3J;MTHXK#.,6MHJZHXXUIILM*T4/2W>#/" M:V?J.G5&%PJ]/S>:+_Z+U1'Z^4GW(A2EMU4IS7Z5@LXA;_IYDM%NA0TU2B", M<;1N\8 M2I/NDFJXQ62JY]3B.]37"D9^U0X(1U?O: MG0"[V,?_E%?T?Y!=;4JP[NG<.'L,TD[H/NRXMVK':?'\I8]+#O9*5M&/R9F6 MN()FF#NJ2K)!N3/QM MDZI9!KOT5CZ.2PI]Y@1'8;Y;3/7%W0C]^A^P,0ZQ! M&W\>:.Y(>1-B)B1)$FXGL![9P5DQ!=5Q98K("HK^5;JG#\-XV]W(MF[LX]!=,L>2C2;ZTU617I.R];:&@E6L^+Q:^^?O)= MF'X@)^,\LTY1$C[@R&G06'D0@'$"95B^V>2^AUS2X1DVV.VXE MWJM-?WG?)4KDC:[(T["G5ZB:+!9.H#;):W'6H=W8?E6 "L6SE4EHEM$:>[4G MQ>(0O20W>]6/C'N2)?I"A,_:),4LZD_7_#N8D L$4D7[%\]"5\W-.?%7'B7Z MY,YV3SPTE.OX'\U]9U"34==M$!2DB$@'Z2!*[UV"(-V @H+TW@U%6J@1D"9- M4(I(E2H= J$%0B]"1#J$'A2D!Y00)<#'^_/ZSGPP<^?.W!_Y<QU]EYK M[6>2D]OPGW8+$A_8C+^3)'S1(HIZH7ZLA1=Q\YM!=TY,[6\#:Z&U[O^YDW@R MUL'C-U0T=/1VE"4N*(!KJ> 2@WVX6FZ[<*V^,>P2>DMG2I M]*A$=I9]$ WPM&LY^J(OA [F VS,2();7\U+?O8_?HHGGS,&B\A,5U?'IWL] M8$N*KJZZ.HYN'RJ*3.'F%1I87T'O")9[OQR%G07VS:^ M6+0("W'P(K')>_;'6BCBJQT/$ZX88WX5D$($^$U]<94C$Z$L=_ .RTC*+3_] M8I?1+=,&>,YT*)\3O!&6^/P[5.*Q3BJ/-1.O[UKS"''HA(QQHR5?M$7;J'0< ME?AV/FQ:B5FH)1)>Y.6U1N3$(E K>^_'KKU&,&_,\%/W#M*"BUWC$#7:J=L; M#^O^"VHH+N#+*7(J6["P'+)3TM0+8HAU?..<>?_+;#(LR\YUU3^CN 18#XP^ M9%.=UJL-:I,U")ICRAFW'/,0^IY"49QJDR+MW*DX+ '0 ]Q5 TL1C5[8:*G+ M2%9\.<:C4Y\, GL0H5DS==BF//TXC>JA#FZT(IG4P>*U.&=R>) CXA,U6K\/ M;D6NS 89L4KO5+C:F% -Y@Q?P[E@&L8+TOHV-^)W=_.R.EE$R)B]M^\2SUW, M<)UX^OW +4S>OI+A&<#.]>;/QD&7&VTKK3#OXDVN?.WKL0,K;YLU'W\E%EW\ MJK+NPX$>Z?:"F"Z> 7I&+4U=7XJ4^.$"-3YZA_PP,5D< O-U!VC-/5,5%+\_ M1RQ_Y=5]XHNU2;,/6 ^/*'3+U$C.K_B+6EAL+7&&S1>E=M9%5CUR-]PA4D)* MJ7$/-OI[4O/3Y^76][_Z'O[WNZ6KZA?TU]4GB=@-1DO03D.KP#SHQ:DE__.A M*\&('WH_YI'2 (\+D2]?'N%PMKI9Z;%+N!_<4I20/31M/A65:Q>FB^0QLW4+Z*X/ :U5N++5L^5I+[XG3*G6XIH MY.(J0^&C<:5XXX*9ZC]@ 9 KL)N7W-EFX2 M>TYJ)EC,+@[3;[*_%"XU-##JJ"VL9.CF#1:XI<&@]B-[4U/@J>>7!^Z>1-,7 MIIF H3YW$P<0UEYT_VLEPY4EALU AB3?LI,(T*1-,Z\ZLPU"HZ$"S>S$0=3J57;8PW2VSX/S;1?CD 1%36,K,6:'*+;:FP35_( M9[+=2VB)];[HOB*$TO>-J;I-- E#"D.Z28VV8Y@%$=/\F%F*>'(=YDJ *T9J M#XWLD052!QMCG!D[VWDLS@5LZYHP]5,/69T64%-M>^/;V @VU'''Y^%'S'2I M Z1-%Z:-VH#2!ANO0&,4K"(103:?^AE@;MY>Q9M_>0_^.&K1*;W5I2M/O2/Q MM>IVQ(\:+CW)+W@@KI(ENGN/#9)K]2TAPME3I+9X9DZW^9#MSK)\319#WW1& M+R,IDU=_:7E*]M?/!4*^0?<&^4&8WK30J"IWQ0[)U2G^=:2H_ MYN<^@)!4KZ0]%H#5A7R*D$>Z@=R/0-CWO<'\*]>F?+0.G^\2S *$&W+R%16K M9RJ+.]235:_TSB2OW>'Q:JHN)ECC^TL)TGCQ8GR?FX6HVH1(E51K4$;#T*1, MH%=+4]0]2EB?:EWO6JU(B;^)T''( @[RN=06_KCW-", M>XF%D@$#O:6LA\G?O MF.K)H.,#Y]L;1Q=P&U3XI M1E"7N_$\,I[:WC7Z[0*3R<];G-/T\/G"+F>?HA5>WE*72O*K69,D[/'"Z<0B M8)PS)T1CW7B<2]>W-7:O7G$@=))8)_DZ%Q6#O<6!AASSGXE5$A; QB5J+YCF M6-4E].Y^VN>5X_* ;5'U;3^T[SOTH\:4_#"^@#LQ53^?R5K#7A5P.O$2,_9Q M<$#. )TYPMC*Z.AE[/Q?/V1HRPO0Y\K^;,I(MB%X=WB3N;4W"N +O=BF0Y)B M@:[9;MW*7/LYZ2&5!,5Q#X(T[^,$_J<3]O#6B:R.%-D4609F1X$FC?N"LPU) M;P0+(;)=@2>_B=5.9]-0#K )N^2B5\-T&3'J@A19S<>76G10=[&(.W755$R0_HHA0#LY6#7>B MH>5NN&DX2V5M/?)-5U^G5%Q!Z?R C423S*+E?L/36KD^>13 _]^J?NH=[(*= MK$YSM]V_FN6^Q92YUZWP7OR:75CSXKQ _!$O^?!'7!(>>F5C#>2H#M:@$8[7 M^.+%-RKQYX[R5__N3L__+ M;Q3'[EL1WD.)HD*J:F]KQ-X&5DL?L-3/CL(=-3;WR*[3V5] MCG]JS1D@/[?/"F]@<0;8]R'*@-HOA9/0G$\*WAT\\Q#; 1K\GV$,K1T;7*8#&\9B%!>FP]7&['8V]MXI!-O8'6.1EUFNHOW?GH0&])T=%[P'S9 MZ0KRXIBW=Y =([G#A:)"LE M<9T!GMH3#9@P4B3F8AB[0S1[0KE&@_57*@.!-R EVF^"GE=5523L5.!@=!*= M4E>TANXY?_)\-AJA@5BN$8?^"^=_;1 -#V+Y>V]N&H5RP_&QO*<2S_>$=ZL; M+"1W9$0]7EJ+4LJ42S#14]7S =XO1XNN,=JZSH4.,;! 7R- >:9NXT7M#2LG M0%5)D#N[%@IFWJKGV2&I-?U(YU6>7>(-4IOS4S/J/HV",D-7M/W/ +VC_VY\ M(Q4N.QWZ:Q6CQ%^ ]W\Z:=\Z_N(09/G7E3_/7KQ%* MWNQL)XFA2 M3\W22V3?BQ_">4T'^]-5E^-WW#VJ?>[KJB$S-IC4V.:Z-L'?'BGELZID&$DP M7*V;58R, 3H>%R'"^SSHA4YIZB9V&^*$18^EA(?]#3\PQ8HHS2OI\E9M?I)^ ML <_R6Q ^=IZR+/!5)^F?]2DQJ*3P3&;Z#$/=:0?DQ3DIQ4*FM ME&;N#@=X<[UC]6T*7[XLSY(^S?GR,.7>!]F$+Z;B&0=R_&M[Y\"\5I+&5++8IYOMVYMN MZ8P->=\.=&Y,\@:3U5"+QWN5&A[ M+1M_7WHTR]QOGD@2G\:)8-/@[2?C369 MC4C#R78%OXB> >RKP]/ATV1(,L)UDK$"(L\,U%TB^;U/*5T(O DS\^ M [Q"Y\8$LQ;C@3W*=^JF"/=LL$2MF9?,S]7?:I:67X2>LL))FM0(.T2W M%ZW^M>%^T2ZL2KG5Z?-L&W%QAG&*V9!5_SF<=?;(M!?:F MEE_J%9#3F2OSISY51CS.T^C1-76Q"EZUE/4WY.%JM:5 MXVJV/B7J"E?]4O,-OQ;9=,C*F[3(JDQ_5NT'*=Q4\0>"\',:$CSO3C5@/!); MV'H&P/S\[QWBU\B31(+@YXW -E2W2K!'4"F;GBB]<(;)CB,EI:7IWLJ39T^I M%MLD'^T;;R^M4E0*&HX&W]M7/*6!WMCTOV6Q,,-&X\X1'$&K3A?E<)TB*Z6( MK6^UH==_Z7]'6K872!8=$TR_DBTR8L#"4+O2!__X: )<29A93J,C)TJ828L/ M"R\*X\'#4-[G%7:%8%BES]Y<'JQR[!2WX_&IK2;GOOBX-NR@TTKX!:B35XX_ M*& NBM4_O M$EVWZQ=RH^A'PI9B*MT1HD$K(%-Y:58S% MCYAK*4M"Y\F:YWN!:OF?@>R/2 MG.O5.I?".:;Q)-,W@7USRW@4X9[6SC>9WQ)AVM8R1C)UI.NY,M]-]H%2J)"J ML#4L*4/:4?>8W:RXL63>!!\U-8;^LF"MF_';/NF9#XT$DSTB\>&M#ET&\4%6 M]LZ.2P;_ZIL[>T/8#M1:D]XCDR[SDDK$>>>0BMG=]AB4(N4\EO_^.I>O78OH M^W42;70K,!H(JXXDT(.+]4,*?QK_72IQ+NDI>V> N()_-_+(6?H[XD!^2YC;C J(#8ZXHL:,#-O' M4Q[D55W7>8'#90'$XXO-0WNSX^;3TG*$!^60L:GUWMI-&5FOI;F??8+V;V;$ M:,B4O_5[>]A:#1_/<*G\<:N[5,K]I-M*_!,KR-9]<&%Z-25^3>.^VW\5[@#'5C!!]L^9L'6=!'Z1]"A'W?,!HV>T4 M2-^26M:4Q\5*S^Z+ &WF6.$4!MNT*4=2=M!_/T* AL^LG<4PB3NB8I MP*BB84@9*:$Y+-![M%VRYI*&8U#F:1BOG%9-TDSE'.6.I>CUQ946)W(7R)[J*47_]LN_;?"H2"ZN)")^MR8P54+[][D+068>=MP[9P+U.%U6F,B M6VFQL4">9G)*?]:MP*G<\':2_N59 BGWEO!Y;Y%5%AV61;R@W0$Z"^AR9.S, M-9;(C[B.70KC]F9XU,&B65!,"H1/[7:R5G[J1#P])_;!;5M$U2^<'E[8B_+4 MJHLC>G]> 3Z;VS4EVI"DP3.TGN.5XV9V<>E0WXO R=)")+O:*2=%$#2?(9K= M1YA3MOL$!NWW/QK+21&0=NM^8$N?BMRR<;%++HRT$\7X&(X)::)O8T8H"[\A)F82#XP4GJ;V2,)=6^1IQWI;Y#4-GFN"LN ML+(> "H9Y*Q9Y$?3X-M[0<@SQ0 0^ZAHJ/%%$:P9)KO0; ML1Z-9&@WW5-2KQ4?D=O)W .NZ,Q OXVLBA+NB9P!\"W_K@&K!-"Q,B2WU^^( M1:9@_]I]S:[&]">6YK.;"F+-;6_4?5_"&X65.56'WE*^I",E[XXW:CC)/#P< M.[2B-,?C[F#O%)2A/H\4F_Y(H* M%9F0$K;K;F?$?SPOH.DHZ8 J$?=MWE&C-8/QJ%\8;<3W60I8K6!]RSH%]W[B M&>#BL[Z&1ZXH+?)A_:.DCMF,A(G-L0L]C&CP25O)1Q+#?MK>J,@,QH0438/6 MSG6N,.:JE^/+^K'Y%E9F'C$2#U91.J<4&])N5+*#-7-TRCIFTA\^Q'4V\I;K M/&\'@IJ$Q+]R+%DAJ M;,URZ[6T9B6_F$8"HH]^@57_\"O ML (WR4U&F?*U#T(,/3;A-20#+UYJ$7MD0!0#D,LC83008,]?F9J6(0LVZ8:U MFQ^M-9:@6H$BXJ876"[(2>.VYOGZ3A2,W 'R2 QY)!PN:@QO?&+J;I!IZNA0J#O"YE4V>V\H$TIYV1JQC1,6F M?H#;2C[D&XJM*=%#P>O _.%<4JH0*%J3F>N5DFWKA7: %6,5R6@I@3T*V_9M M\[%6P=OC3+IW(>N)JNPBRB%C@H*UTO.78)O.F=,O!RX* M[EF9^K%""/E237 %VGP>'Z2:I!\ODE<;CAND>]7-*TQRE=:UN*V:B$<5X M0>>C\<;+#G@[[%S7*8UN=VE5='%G21P\:4B2K. ZTEUO?E5N\.\TQZ?@*XUC M2K38].X4UR6WN Y9L7FA:E?QD!\SYJ;65:LPH//29/N:XG>W2Z3LMK+>38)W MJ\!_/!9];+/29KKMRH!FCKM>8BYW3C<'5OXT S/OALBOM&H]Z+:!@"EP-M$/ MQ_=V-&-R/!I^!K;'(68CT:)[O,T2(:=^ 1_]S@ ,DLEC+>?)7&2TRX&S!4_& MW"NV?^\Q%2$C5Z>%E-2]BMO?LP>X[_1PI3K]>J5E+Q8M6%/STO,X5*<'Z[3M MQ=$]4Q+=G8E+RL^0.DZ0?30II"3LGEE!,SST@;]5Y-%8H4TJLQ%7V@+W4+SQ M9291N^6CKG)HA#)+;C<+B-#(SAS^HW!,R,E@S.6;&.74J8NM_0.NY/=ORQ-08JT#V_S5Z5WX(%V5AMX-N2J[B\GU MAK?%2:(RN1L#^R,@.8&VV%RP(GD>#7'LD:B1_\ZD4Y<3^?SF@VW/ARRBVVY8 MOR\'F[\>XVV601IKRP)D[[K2Q,U4RW-XDH;D^'G3'&TAWP& S0O+*M_[6(J@ M.$X0Q&0+=EE28J?#17U/[JQJ?33\]ELWR.6A0;[!]83'+1%1:+WK3\S[SS7" M 8+07J7BZ55@?.,>+%PUZ_QKPQ!UM29-L<1-&YS7;"\"2*.1BM334P/+$WG- M70+KOOYC+HAB=WH@7W]8?/N5S"']IC&1*A^+T?F%V2&B)*=,)CJ?9)L/]NM4 MC'H@1T@USGSZE&?.-0%S!F";V53(RJ1:B[ IW5AD,Y-_(G*%-&WK: <7Q4H7 MJ487,#B;713"> G@)7N!L,:84^Y^?R_,'D?1;IG/4+9 EP6_YC%56[R_HA'& M(7Z$IWZ')6-R.$-E6#4K$V2&4\"R;DHHASE01TH-[;!LJ4Z^D&KU##]8M(B2 M8 6VIO GF+"2AJ]RR&BZ7&(PY[/!JO6G0V\%2V*LZ(.UZO MB*S*%B?\A^OS.>\V9%GE.\-?G$I;PJ2@ETS,7! MOKBTM2BT?R.]"E]G%G=]Y\>[[F67)Q162MR#]N.U[Q46'E4\RJ_1&'M-; 'L M'IF%CW2P9,/SKQZ^-J02-:C)H>)7C]:'^[=FHM6X-9G_J J7<5):S'!\^"I8 M>*F'B,=J;B]4$)1&*WVH*/K!+BL;W+4*[SEF;:K<2^ -43/UWLQ>= ;]'CTJL!07Y=&IQ00CN^]$I2)B7#R"LF=5I$?@@+KJ M,H%'^H_E9I\33">4>5Q::L<)H*!2=:5&&G3$VFR%JKS0CS]A/M:RQ'W3Y#.* M 3M*OMC#8' %7N.D.B$?>UHLS<44!\UY^.+C]8&Y(UA.H$\%\B*FE_#5GYW3 MG'[77UZZ@*C&Q,WL89JB:&[_?3':$\O:>T=[L2(LPBO"-$<,;QBP6GT-[Z$U MB5!QG) J+S=K/N2%4>":N3IY^Y'7F^*S:..Q]RYXE^'UMWJ[V:W<.>=V#?0F MBJZ%/>(D">S-5CJ2R1?U?%?,C$-055GMK?=4#4+SF,<",F*0;KG/$?,;%-13 M?.)A)WO*3.OR1BGJ=1^891E&5=G$(>OI_E*3?@/YOT?U[,<949!&*27192M# M*4JR/R7(ZD1]1:/W"T6%4"3J3R;?9Q#:Q8KJAOM]_9&LQ-31Z:PQPNN=*=>( ME&UQI6> ?PC;'GGEMUEQC*5;Z+T)KD3U].VCS).)6GG#Y&;=Y?C$J%?W62YQ M@P3UR CY&6#@/W],.9T%_ NHU/G_X.:+_Q>?IJ4XJP.^>>CT\_.\!>[F49_- M_@]02P,$% @ \8%G6,#&0$_6 P (A4 !@ !C;GAN+3(P,C,Q,C,Q M>&5X,C%D,2YH=&WM6'MOXD80_RI;G]JT4M8VCUPXFR EADN00D#$J(__UMX! MKV[Q6NL-#OWT7;_"X[AKU=!33@7)8,_LO.?G$=/] >-!')$X!(KN_-$]HB)\ M6D*L4"B!*$W-F(J0+Y*$Q&@$4C+.T8UD= $(-6SSPFPTFZ:-<:^K=7F5D(@= MU++>6TV[V4;VI7-QZ33::#)"/\]\[Y?B<'_L^;]/!J75R>SF?N@A UO6KRW/ MLOI^OV2T3;N!?$GBE"DF8L(M:_!@("-2*G$L*\LR,VN90BXL?VI%:LG;%AAUK?JW/!L(NNYU*5NA M5*TY7!E+(A._.,,T95Y#1L^T($YS)6FF*V+ M#4VR1;0ABC(X1P(GBJT@U[ZE-^1 I!,(%;G[)@Y))K7<7,0*S\F2\;5SYA'. M LG.SL_N@*] L9#H^U0G%J<@V?S,+8ZG[$_0NG6$G,6 (R@=-1L?7 7/"FLM M"VTNI[IE3IPJ'<%!LSY;0HH>($-3L22Q-EE0TX2$]7,53BF!0YUZDJ3@U#?N$>-\26X=I[V),Y^K^6/A/^9D+9Z4,V?/ M0-VM<5=Z6<-727W1.H+J6-74EJ+;S%=%L0*9]Q&OID0Q,+2_;A8Q!3A/)CBQ MR"1)W"TGJJ17SC;,?9=V^4>>,X4B[91<$KXS>2K2'G+1(^':B+>-UL,H-C<8 MS,.Q\AI81=&^A,@C]2,"%\T8/C82$/I,:71MH?>1",DIVD'4"U@E8;P-8[>\#6+=8YDTFI//.+C[NUD9KEU'U37.OC^P= M:%1KLXJTLTK;7],E9 $XD$ ^83)7NHW(2K"ZO2X_F*VZOZJMFEWT4;G]*]:) MO;\ 4$L#!!0 ( /&!9UCD*]NGQP, '@+ 8 8VYX;BTR,#(S,3(S M,7AE>#(S9#$N:'1M[19K;^)&\*],B2YI)?PV!FP.Z0+DBAH((HY._;BVUWAU M]JZU7B#TUW?\H GI2=55UY-:%21[=MX/S^Q,?M"T!<\(CVD"/X>K>TA$O"\H M5Q!+2A1BCTQE$(JR)!Q65$J6YW K6;*C ):I#W3+MG53TZ83U#7KA 3WP3$\ MPS9M%\RA/QCZE@N;%?SX%,Y^:ICG#[/PU\VBM;IYNKU?SJ"G&<8G9V88\W#> M$ES=M""4A%=,,<%);AB+=0]ZF5*E;QC'XU$_.KJ0.R/<&IDJ,:TJ4OF.6*D!) \EO>)ZU(TM4YENF^2XH29(POM-RFBK$Z,[@!2?9 M+GM!BC8X7]*<*':@M?97>N.<$NE'0F7!6Q-?DBS/,'41:^/!U9A&#E3)S]C24(Y*KR^&MFF$TR,6MFW"NRO\A]C?U+Y%068 M/:P?%^L0'NY@N9XO-@M\X'&[^+A\#!?;Q?S<@!]FLX>G=;A6X-^ UMCUQV,.G@T-#VK@X=C_'>PYWGNF=]U3>\, M>Y8UM#O8,9W1^)6LU^]LV9[;\=BVXXTZ6[9CC6SW#(_=8:?3]KR!@W8)3]KS MT/$&%MX(<"=D 8_:"$0*8B\Q9$R JB!IKHP5D7$&*%C?&7UH)QK?G1.6,HZW M%",YEJO+1U4KVLQ@)CBG<9VK/BQYK+>V:R&:IC7A0#FM_LS=,-=?A#4,*DP[ M?GYXP=254E+D( Y4OC+;>EM[1,H2!W(-8:E4QBKXP/D>6;8-RQ^A6J;V"Z1" M-JZ<4 0H3S#2.8UI$:%RQVJB=73X)WOL/]E11F5@'G/!E*+75Y9G!M>D* -< M5/8Q9OO^?O-_3K\VI[>B4G4/K4A5D3C;XYZ$/?;=S%\,@,9JNV&USTR>78A( M_'DGQ9XG6BQR(?TKL_D%K_:D2T)G\FTES7,M7F]H'>IB07N[_)5D1[4(5]W/ M&DEQ:OCD(%@2M(O9<*P[[X)(R(3*;E&XM,C R,S$R,S%X97@S,60Q+FAT;>U; M:W/;MA+]*[C*M+%G)%(/*W8HQS..[#2^MTX\KC*=?H1(4,08(E@ E*S^^KL+ MD!+UB".[>J]WVFHW&V2GTU2\:R30@'?^5 MWVZVCTCS..@>!ZTC;3VU^O^J36\/W?.WW? MOQAG8V8H"1.J-#-O:I\&[QHG(&&X$>SLU"\_G>Q01K.S MTXA/B#8SP=[4QE2->-HP,@LZSCAJ" MQ09*O$YW4:;X*%D42C>Y0#%!#9\P[+W2;R@85<%0FJ2W.L2FEEG9+I:I:<1T MS,4L>#G@8Z;)!S8EMW),TY=U5P*?FBD>O^Q9:H:#J6(H/+R/N%#;D@'.CKUAV"Z[&NHV7Z" MFMA\:>#%C(LE!CL;.0ZZBQ)<='R<< W3$-S,@H1'$4NAPY]?G+2;G=ZICYU] MK8E]R?XAQ"=3CUB _N7MX.K=5?]\#PC)J$F(-_2SM_=JH8.!2-#J2*FWM2:-9BK$ 6DS9]U M1L/RN5#'M6B$4@B::1:4__2^A3W*:3:7IXF/5O^&H#.9FR#F]RSJ5<#4:5F: MTRCXC:LJ+=>ON\=3M76/V!$HI<94]*J 4Q1!=)"$3AA1;,+9%!B! M2;@FYVF:4T%N62:5 9) WH$XL(C&_XB,R4V?]&6:LA"_TNKD*@V]'IG['\[. MQU7Q[3)^AZ@BY>_1R7S=GQ)EE@ T]U'WSXNZ]JY%W5NJ+?LFXQFY ^T% YY> M=\&G7-1%$@9.)1!\Z(#RE-!T1O+4J)R!IL#>+?N'<*1D#$^*0\#&-(0B1>08 M6)R13FY- "*7:4W5#$7&]([!N)4^-91%H P,*5!K' ,%0JX@Y0 Q2$(T: +N M0& 1PH3H'/\LVD^98D4G.($QU\",T=PN25%,9P >.#KVFX%J,H)IPDJ#48:S MJAD>#RQ]\).AXK!"[YF8,/0=7"W(3!KK2];:$EDZK[ZRGRP/VCY9"<^3#:BT MAZ'G#D.=9P-#C,0\A4!'S%@$=ATP",2A6E7J>1IC?T@&X/]0Y!'T">!1B>(Z M ]78D8RB'V$+80S(1:X5$""7AD:H"_BCF6 1"Y ,!( F+8X0J%0JH3$@LY MU254*3;BVB@*(U$L='*@9KV".+K49DW='\!FEC8AP(71@ZV/<<#9U 2-HFP# M-E46(..8PZ,-VBM"%;/X /'. MT=<@C G3N&Y<)RB.8F-@2,B2\#GB.A12Y] .N9.20EN93,F015"LR0' 0L0 M:%SL7]Z'"4U'C)P#+;G-!4BT.K31ZAZP0]NTU8W*%X:*(:!<)ZK8 82F*X%^W3K7P\\W:[7W W@\8Z[:]A##W<,>RZ8 MAOE %-IDYC.12))DKZ H!_HU,AF08JGM![<> M%QRHRJ/<.0'@1Y$C+3"@7G LK.3 AT 7+06/['&.SH>:1YPJCA/@+I.SS"[% MGG*-V96%6VU3,4M[I&:@D &>A8TRBNN?"XIT#:9EE5AD:=#"Y7S55!7^&S(4 M!$(%[<&3=P*?CE][)WMXVL/3!G@:[C8\;V:R-5@!P$UXA!A$M4RM M6U,-^(7[0 A,5$4E2 !L<>J" U.Q3<,B9%H\L5#AT&Y)M+*/9)G>?3&A+%<9 M0)6VN6,8@@-:!>R.THBED!(*0"RH81E"(8KDJ7&H!)#),R!;>US:X]).XU*X M:[AT.:$BM]P"@Y;%,9[Z3"#<](;-EGE&MP57>N9#,O=,8NLS%D"].G9SI_3%E'%Z?>0LX><)4B)=@UR M+EPTKZ,"'H 5VR>V9B/T/(( 8?8EPS!7&/N55&=#KV.I#93C:S+0EP:KDS]S MR)2@ZX//-(D!Q(":K$@7BH< +?;L#H_U[%F[T^O0:950/<\+D=18T&.197O6 M'@43FQ'![Y@H#O)6Y.M_VT0_".B>.V5Z>*-X);I68N\I0;VAUV^Z,@] Y<,+ M5#OK>E7#/HP[NSJ'I^UBV[=LHA+:Z@MR@5RG"B\+GH$ \8A,<&VK:*X:S2-N MI-+SY,L60)?C,3>&L0>8W%!">H?U$0?];"<' $) G#02,_C$3:L2.=F?.0?U M+4KFJ7T_2!]6-JNSYT&7]B=J>[KT;#:VSX4@N(?# 6WPC A/FT+. !Z*+&N^ MP3QE] [3)K>'8A,GN_MCWQ@JS]0?!3K%7K [H=O 26@$#36;4Y+/ E2Q9P1- M &7 0^HN=].0N.E\# X&5G&'^ 47W/CZP9ZO[ %DYP%DY[:>SR&MBA50@CJ$ M,[,L!@#!OKA7($?=924\G4@Q89B:I'14O'^H"N+#QIF0,P:UTT0ZMD.7< EP MY*OD;=[W#_ =N"AA[S"YP-XJ6IT&^-9B,1&\D82F!?V78(;F1I8%[K:3+5EB M3\V%$Q]=4P;?A<9W@=;H'$IW/FN/HM=<^+B&N=)I6=D_L M$2]YT;0_/\!)J?(11]7R<[?HJ/#;3RGH4Y'EB1C\5^T,&-.X\&4K-6>;C!!TMRX^XQ M?Q-/FM\_F"'=2,D\C9"U2!644%.Y.+U<42BX M2LJ:2PRFN)V]Q&&6R^:WP3.@K8TAI*IW#1J#.P1T(GF974#.UIECHBMJVAS" M73*WM];/_@]02P,$% @ \8%G6#$C^<:="0 SC\ !@ !C;GAN+3(P M,C,Q,C,Q>&5X,S%D,BYH=&WM6VUOVS@2_BL\%[MM $M^BYM43@.D3HH&NVV# MU-W#?:0ERB)"BUJ2LN/[]3=#2K;\TL3))JU[=8#$$3DDA^3,XV>&XLF_/.\B M36@:LHA\&'S\DT0RS,-]K-]B%I'@7=HZ!U2*X^DE=?!_T#*WS^N3_X MS]6%&_7JZ[L_+_NDYC4:_^[T&XWSP;FK./2;+3)0--7<<)E2T6A1'Q"M)D)]K8VIFK$4\_(+.@T,].#E@VH M7I&Y]:8\,DG0:C9_ZV4TBG@Z\@2+#93XG>ZB3/%1LBB4;G*!8H(:/F'8>Z7? M4#"J@J$T26]UB$TML[)=+%/CQ73,Q2QX.>!CILDG-B77#%C(LMAG4V7[R_[9X/+S MIR_?<0LV:OKS[L'2/"[K9)! /YKT??*.WC!5)R%3AL*(6@F69!^4_O.=:CG&9S>9KX M:/7W!)W)W 0QOV51KX*D3LMR.8V"WZB<@1-K'_J'W0+Y352M_T7Z=?-XK+;N$3L"I=28 MBEX5;8HB< V2T DCBDTXFP(=, G7Y"Q-]]-[ MG=]=\[OVKOG=.ZHM^2;C&;D!_04#FEYW[J>'I&0,3XJ#R\8TA")%Y!A(G)%.;DT ?)=I3=4,1<;P?0CC5OK4 M4!:!,C"D0*UQ#!0(N8*( \0@!M&@"1@$@6T($Z)S_+-H/V6*%9W@!,9< S'& MY78QBF(Z _C T;'?#%23$4P3]AH693BK+L/#H:4/EC)4'';H Q,3AM:#NP6! MB;>^9:TML:7S^HGM9'G0]O&*@QYOP*4]$/W\0-3Y:8"(D9BGX.J(&@O7K@,* M@3A4JTH]3V/L#PD!_!^*/((^ 3XJ?EP'Z.%*S$@&WH_ A8 FQ *9"E#0*T,# M^$7<,0V0R 4( !Q)P P[7*%02'5"8B&GN@0KQ49<&T5A)(J%3@[4K%*R>^9SR\,.&MP<[AK<#-8 4L3DR!-D''-XM$Y[2:AB%A_ WSG:&K@Q81KWC>L$Q5%L#!P)>1(^1UR' M0NH[@#MO_/8ZTZ$'.P8]YTS#?, );;1R/T+4,9 *::ZW;X(1S9"! MMQF&P-5@!P$QXA!E$M4VO55 -^82((@8FJJ 0)@"U.G6]@)+9I M6(1,BR<6*AS:+8E6$DF6Z-T6$\IRE0%4:1LZAB'8GU7 II1&+(6(4 !B00W+ M$ I1)$^-0R6 3)X!U]KCTAZ7=AJ7PEW#I8L)%;GE%NBT+([QX&<"[J8WY%KF M =T67,D];DZ_6!B"AL!S$(5 > B;_6T-MF%S="[-,(45WY][)L,R.6:1E;F5 M 'UZMO,?G"%ZX[?64T1%X0;,65C]'G+VD%.%E&C7(.?<>?,Z*N )6)$]L34; MH>HA\$=#\]9;H[4;SB7BO.]S0'3<^[-7= Y=T;5#OM^M6%O1MX=G4.C\MB MVS=MHA+;Z@MV@62GBB\+HH$(\8!0<"U7-%>-YA$W4NEY]&4+H,OQF!O#V!U4 M;B@AOL/ZB(-^MI-7@$+ G#0R,_C$K%4)G>SOG(/Z%B;SU+XCI \JR>KLA_&E M_8G:GB[]7R:VSX0@F,/A #9X1(2'32%G@ Y%E#5/,$\9O<&PR>50;.!DLS_V ME:'R2/U!F%/D@MT!W09.0B-HJ-FL MBCO#+[C@QK \;9T+.&-1.$^G(#EW")<"1)XG;_._OX#MP4<+>87)^ MO96S.@WPM<5B(G@C"9<6]%]"&9H;61:XVTZV9(D\-1=&7,A@2<4E:\2NSMN: M6YXUMUQU'5FZ2!<:5]9RJP#@06]XKK]L>?^=C*WMIG9Z#AX2_/ZB];K9^T@5 M?!4>U0G>I;LCR+ES+8I-+[A+7C3MSP]8JP?;_@-6K_&E008?/G\\ M^V*OYIS]<7&].5+8%6NZYWWAIT+O(_\!R/ (\T+L^;ZV=?08TQH^S3I6O_2* M>W8K]\'F%^U^<8M;6ZEG,,%?R,J^L)0#/_J+A\Q]15PIB+_SLLD8NVAE@6)4K3#-?N5-LH$+S!E;D;''0730]V&#/)4-REZ&?Q3#G MMQCFD="Q^UPUTFVMRJKJ_B9J3GMH>#-2,.,(J8]400E?E=O7RQ6%@JO,KKE$ M@XHKWDM$:+EL?J4\ ^[K#6%C;CP:@ST%=")Y&:% X->9XZPK:MI Q-U4MU?? M3_\'4$L#!!0 ( /&!9UCT#$^Q8P4 $L9 8 8VYX;BTR,#(S,3(S M,7AE>#,R9#$N:'1M[5G[<^(V$/Y7MF1ZE\S@)Y"'X9CA#+G07D(&G&GO1V$+ MK#ECN;((H7]]5S+FE4POESFN[369 ,E*VM?W:;4RK9\,HY?&) UI!%?!]4>( M>#B?T51"*"B1*%TP&4/ LXRD<$V%8$D"[P6+IA3 L4NN#3.<89D,J'MEE5^%G/'/%JV M6Q&[AUPN$_JN,B-BRE)#\LRKV9ELXDH+A_?F/!@+%LG8A+S"&!,M^S**(I*GQS=.[:M6;+4LJ^ M56!? B#$#4K%;F1^;QCT+_M^)^@/;G!##4=WG9L @@$XYW!GCDS?A%'/UZ-. MK6%7X3NA\)2S/RX,G1%TNH/;H-?=P> UUP?(=4GG"_L4!I<07/5@U!F^[]ST M1L;@]X^]3]#Q S7BVK;["L'+(6 IFI6>6SD;TUPJW3'+X7/* M%YB0*?4.OP/^AB<_\!8X=DX*(%3J"[+ 9)XDB"/BFBCFK=DHZ!]S)JCJL'.% MT!Z0Q^0$D.M.XS@Z* U>3NAQM>YJ-6;FF"'A'83+)2ONJO3\$)8=4=L M_^=@=K=@9BG6I!G110_KGR2H+4(I;'. ,($DR+ 2*+BK:IC@[0F7H4>Z.N89 MXI\7)67"4KR'*3DJC'1?KZ'%6?.D8 O/J- V\[W*8;X2X,<+4]\O)1DGM#0\ MY@*/'2/D24*RG'KE']NAG:*!553JMJC(B>S;<8G,)2\%Q4U42W8NK,KMW=NJ MDFS=/2N@^QV\GNJ&1UVE!;ZBTM=[=8:%)%FU11C[:G4#%V]MK)61\IAX&EL? ME8P%0RRO:')/E6*%*TESXYF[^PN'T;-)5&EW/ MZUCQZ?O+,:O$"RJEZ]'WY=O82NHT/E-A*^W'COGXZ M]#)$\RT='-0/HD^",7<\_VVZ+SXW*?; M<_FA72W>8['N:TCX>2HX7JI5;\.%5]:BK4??NP,K!_?[.'NGSUD]7]_I='9E MZ^?Y&9E28RPH^6R0"3+#(_><12NRGEV8M771+$2V_@:@^)I ?^_0_@M02P,$ M% @ \8%G6'/32S>)!0 ?QD !@ !C;GAN+3(P,C,Q,C,Q>&5X,S)D M,BYH=&WM6?MOVS80_E=N+M8F@/6TG8?L&7!D!PW:Q(:M;.N/M$1;1&11H^@X MWE^_(R7YU6!-@Z;;N@1^Q$?R>(^/I^^DSD^&,4ACDH8T@O?!]4>(>+AZ]1KM&!T#4>W@7^L)_>'?O!I-"AV'=U>?+SRH698UF\-W[+Z0;\8 M:)JV X$@:Q>P M!Y:C'PF3:R]F44135/CVS9EK-]H=2RG[5HY]*0$A M'E J]CWS!^/@ZO+*[P57PQL\4./);>\F@& (SAG\? M!Y^@YP=JQ+5M]S4%ST\!2W%;Z;E-)7$,) T M@L$#4H 4R0ONL6!YKJS&EYH9(76!F J*%NY:,]9.5,;4]=PE&B%RS#>-ZA#$ M&-LD#LJZKAGRM#D7UE(821HSE3X]/9^S.@,+EF*E(MA@(:S&4X2*BA* M;>EX79LQ70,.239#V^N0+46^)*A&\MV*7L2PB$)1UF5,]"2E;TISJ73'+(>[ ME*\P,G/JO?Q1^!O _,!GX<@Y+A*A0E^@!F;+),$\8EX3!<$-+ 7]8\D$550[ M5QDZ2.01.09$D-,ZBHXK<.P@>8/B7JCSZYPWFFT-L)=,[=99J-Y-5X?AF6G5 MU-C^SZ79W4DS2[$X+8BN?E@()4%M$4IA%P.$"01!AI5 I;NNA@FV4;@,+=)E M,L\P_WE16V:;ZH *(TWP=6IQUC(IT,(S*O2>^4'E,%\!\..YJ1M-2:8)K3:> M &I5>J;53@1/3MF426DE>"HB75DKW.59F]W[8J MR4X36@--?+!/U/Q]>#:R+"&$XU_VCN9LV2T9/# M4.:S1(Z3/4#.$Q;!&UO__0-A^FI&^Q6!LR86DO7A-?9*BC/U/@S&GP7.TB#Z MEP#)>4D@;?,/?-O:E7"+XX M!/]'*-MI!POBN.D)ZT5#6$@W76'QLVP-ZYK[!8*2?"FP4SP:"8:S,J2'VS92 M3>F%(5^F$@-9=97'C^#9TCRBNGO](L!TSPX9U%GQ?0C2IZ)*FUI\QF)#@4AX M-Q?H<:1H$!=>5;YV;I?O#Y0&'E(^>X\2E??D]TC1OFSS#" C#DW9#$N:'1M[5Q[;QLW$O\J MO!2]VH">MA.WDB] 8CNX'!+'2!P4]R>U2TEL=I=;DBM9_?0W,R3W)5F6XZ0Q M#@J0Q-:2PR$Y\YOGZNP?W>YE-N=9)&+V[YOW[UBLHB(5F661%MS"ITMIY^Q& MY3G/V'NAM4P2]EK+>"88&PYZSWO#HZ/>H-M]>0:TSOTDE8W8H,AN]$\,])*E?&DW[^\>L:>S:W-1_W^.79ZFPG$5SKHVP_WKV^>9-]U<88:5-Q,NS?OC?C9VH M>/7R+)8+9NPJ$?]ZEG(]DUG7JGQT/,CM&&;VX7%KS&UW*6,['PT'@Y_'.8]C MF![$(: M.9&)M*O17,:QR&# /W_Z]6AP/#[KXT XB7S#:42)X'HT478^;A_,IOT^?AO( MNQ6WMLL3.0/B>,2M?4T:BRP%W<)$)3$\O+R=PSXM.^M/V@,77$N>V9%)>9)T M(YZ;\08"OYWVAC09C^.;;R<"G12ZMA^&?_'NV,;-[<;S]3D[_W!U=7E^\_;# M%7M[==[[D3LHPI(T*Q:1TAP%I1NI1.G13P/Z,VX_360F1D46"XT_K3TFFB.C M$HD[OE!QW'T#@/*%G:LT%YFA4>PC3%@(O6+7,#!:G?6+[W0,?Q3&RNG*?22! M:[BDXQ<-%6P?S,UYM%/9PMPF1UV1GC$9QEC#;"&8,K;F+^)WLG82/9C'TL$L&>OQC\ MR@X\C?*30*7#EG,9S9E,\T2@=3%NUG!PT1TRNCJ&/'P24:$!&^!L+V\!JC,P M,J\BR]24#7\[/NDP#GN!^3'LI\'T-$&OHK^VT^\)*6(J,[)HQJ%GVQ1^ \O\F"NB M$_Z>=]26AXUW=L /'WQISM, [7@%$%1D#FZ$L: AB")>2^C0ZYMKD7WVDJ4" M/$C&F19_%E+39%!Z;DGS/>0!6(B<:U!6!WE^/5VMQ^)"('K@I!0^ PN;,#B! M" @DD@#2@TD@27B)/X"$P',<#XLH[2E7S%08^+GWJ<>F GZ%P:8"Q(0O30?@ M.$H*="&)JJ<0W\4O\ K7I0%8<%/@O"N-@ X;74A5F 11RA0POV*OG&S< 0&, ME5OU6]]M>H16+(G%<44")3<2G=VCLVE@)OPS,,*, V?P6EH M')K#=!7C"J@$<'KWC.RQ<71*5G M*#0XAJ,]V"2HM7L;L8-7AT#-:F7R8!UR$)_(6780((I2T)K)AB#F&HA(,*!C M=O"Z30*OQ.!\V)^3,#X! VO$S!UMAE;,K>"%N+X*GHBQNHALH=LR7!Z11/<- M(C X]1G/Y%]$#7@Y7^!J$1.S4!?4WB K&B5C,FX'US>>:1P=' Z ) , M,%.B9,,C 6%DZU/W&^"^!"2,#4HG1#^XGI<]8!X<<6E)ROQIEY9L;S4V6HW) M(ZP&2' JK17!G6+W6XI@*%+^AP+@705E0#YS0 QR"-,1@"% +T7W- MC8@;D=Y>/+:+1_P(\;@$0YX)Y\B\6H).ML[^H0)#UYJBN4;=WW:KWB\":8) M7DB4+/I$W$9"Q ^G1&9F*<$B.5]KSD$V)T)D%?TYCQ]"EB;' BP^7!AF#FB( M9==5$4UD^<)ZS M7VI=A0EA)V+.DVF/O8&)V_<1^';&&7PH=-)!!159X3FX;G,0"E!A,/Z%SC!3 M@9YG\ZCNDQ3TDM$!-,7D#W2V8=O@;,T%>EP1^?SP;U0DWATBJP"DR%]QUJ5R MS]#IN]N/?"!?2\S63T1U#.@=<3A) AX@+-$5KYV]LY?!L+D$1OAM,T_AIG8\ M8%;D!*F8#L)I6V^OKB&87:D'5K"QE(-/"G_+HD7I\"'E(+VU#[G=N'WT_W*M MT&]SOF23'MRF2WGMP7@[&(O'@'';IGX-^K8=,0S9T!D'Q?'1$\AD%>HIMU+] M82W>\D_9 0;-)%* "Z3H/N!8&^K4TX<5B="''4*_!:I$R4H[18!! 6C)3+@X MIV)E4A@X?X-!BX0-8%QA*&<+_$PAXB79/ BQC^&) "#F,=RIA.B"VW(L[5=X M9EQ$$O:&KHUW4M#A,2!@%+9AX$QIS&[*O^ .PX)$L:+C/:2#6EK"U%T;$6Z5 M?&6:M]EEQL0+AMP8:A43."G)-01LATT.C00-X_H.WDSI7'GJF#W=*^P6A9T^ M0F'?E&KTL0S(WP.X0DQK'J:[E!%)_52'TIA1J7D?#J I_>(R/.V2!)G%#:D2 M4![C9KCD7G#,=TG_=&A9E-E-O&GRJD Z$["]/JW&M74VG92RG'4 +H73.NV] MA/I3)%?M#7UH**=8*Z[@QLJ:"5E]@] "$(&9 MI;HEI]3(^>&=YKP'0>WPQ6#<5+1MQ> @YI2@:JG2<9#QN9,X$O)FN;M&M$&I M&XDD&8.S2!Z75SU']F\NF&_48\?"T?'0]P[0:0V_487QFQ3PGP@;=0%R_\YU M(#'AT9>9!B6/6^6;FG@U'W@Y0L[H,OSO@XUR5X-PWYGA/VIT:[2[,7(^@TL& MM_)+ET\!L48\6?*5\3=^^J)W )H);2'[L%:?\>^;^2K^T;V-KUETV>/ ML.G;@K$'I\_ <$9KF0KPGV>:HZGK,+CG#/\'&P8.HBVS#.M&E6)&LO$6X[W4 MN]&<;7%"]L':=CF9EW*R]3*WQN=PF[$ 3X02/1/!OE[R0I2_NY3=Z249S+CX M;*O/Q5;IABT"P[#R ]%/54/<,4?+.*9>J,^&Q)-D>R&R4-#,^@RC1!N]#%>&'G2@/KI/B6?Q$A M)>)@8>I+8.%WXTOHKEL!T\4N9G%- F5*;@4!1I6_#H/BSGJK!E L>Q^ @UKG MQN8DY1C7P=BF/!$\AD);K.7.,#&K=*VT? ]T MO53.3B.;U"[#WX%G>/,( 2[%U)(PEPWEB5$A&'19][)M.@"&;WX #4 \*D]P MLJJ:^+X3,/R_=)X=/:G.LU(.=J@%U%K3GD)/ZZ?*:A'@"-5/^^\W27SM/BCJO\GABMDGI+G?.\Z/6"K3RW42?B2'M*:56=!:W7OKI1%JC^* M>!;B\@9;/?8*Z,#Q4/7*Y9YE0YK-VIPJT7XW_^%(,"V>$-4)" ) Y;[JLW-+ MW0]0AX9=NH*HX--&F_10!8F5<$$&"O)J-X/8M+[XGH<+E)JO8O38[RAX6E!C M:.AH:=M\^TUYV>P)>!8G F0N0Y\ F]*H2+.Y*VT?X^_:6O@#]."BW9WRGH)_ M]&Z]E[>+"K2\Z+77&W3P&"?"E00W>+*=%O82L);%UY (TRK7F'/P20K@,] . M+W>E?,46G-:R2VP?:XHOU2H;;62P]UJ[^8[)-E>5K5:4V4(E"]$I.\\2"?OP M0]'1GR32S*DS 38U%1HYPK# Y>1 YJC[S @;.CD8GW&9&5N^0D#]%L1J(Y]= MF48@1GR7[Q;4]]UC#XG22K-6%G";W7027S81WZNACII1RK<#G<4E)+J/[;W- MW;E/]8=CS0T"0RF38+;>IKG&3!TIWVZ&MQ%QUW-[M;!YAZ[)*2EEG3EZW2C> MT)'H^F,E.:N8VJP2XX&3.?=S$2!"!Q\VC]1[_M:C^]T$W(&DR_\Q<8N?"Z=_ M]&(+F'_03ZQ5D;W'MU\,O>LDL+,S<@%\S9VG+*?K]JVW=+HJBF=,Q"%IJ6L MLA.W?H%$?L$<<<0+0SF0"K$ /[I_%J U5.X 1SQ8#<3#CG]-QH'L1&1B*JUK M5)EHQ6-,C"ZX3 +FP8$F:B5$Z<<#7%%<2OD5Q:8PEEIB\7W:3?F<\#;NR6 ( ML=K!\/@0=WXRQ-^J8HE_^^@CEE8*O'9_U3Z!2X$$I56)^[WSLVNOY@\ I"MT MB6.19M4[8G#A7I&[UZA6;S-3:&SP>B@@D0%%2))^A=4&A[VT\2A:B3)F)]M< M1L5('HR^*U[(=%)H(S:M$OH1\T)' $^^Q9/ HNO 0H9M^IY&TI<"V]T4!KWN MA=&@_>#*S)R@]_;]5E_1;W7TE!J=G@@;^WZK?;_5OM_JF_10_P!#2EX1KT5K M'\A!/D_X$I47OZG$O35@OLJ,3D2MOX>*\I5O>K]WOZE-N_*!F[7H1G=!9 LJ MOVN7$#.^N<"];-:H>E4)[/)+'(@ZOM*A9IJG]+K"3 M?[=OT'3#'@_([8#YQ M/>&9,-T/MXE8N2]WT97;O/WD,N/>3CI^2:/A$V_EX/^?'N\$(! M'M[C#??=%US2-V:^_!]02P$"% ,4 " #Q@6=8,?S]) $5 !(TP $0 M @ $ 8VYX;BTR,#(S,3(S,2YX&UL4$L! A0#% @ \8%G6!]6#K+$.0 EIT# !4 M ( !'2P &-N>&XM,C R,S$R,S%?9&5F+GAM;%!+ 0(4 Q0 ( /&! M9U@#E/ML]G\ "!.!P 5 " 11F !C;GAN+3(P,C,Q,C,Q M7VQA8BYX;6Q02P$"% ,4 " #Q@6=8HST.G017 #8) 8 %0 M @ $]Y@ 8VYX;BTR,#(S,3(S,5]P&UL4$L! A0#% @ \8%G M6,*&7/+6D , QV4K !4 ( !=#T! &-N>&XM,C R,S$R,S%X M,3!K+FAT;5!+ 0(4 Q0 ( /&!9UC)E9_,KYX #_M 8 M " 7W.! !C;GAN+3(P,C,Q,C,Q>#$P:S P,BYJ<&=02P$"% ,4 " #Q M@6=8P,9 3]8# B%0 & @ %B;04 8VYX;BTR,#(S,3(S M,7AE>#(Q9#$N:'1M4$L! A0#% @ \8%G6.0KVZ?' P > L !@ M ( !;G$% &-N>&XM,C R,S$R,S%X97@R,V0Q+FAT;5!+ 0(4 Q0 M ( /&!9U@/ADWFB D (D_ 8 " 6MU!0!C;GAN+3(P M,C,Q,C,Q>&5X,S%D,2YH=&U02P$"% ,4 " #Q@6=8,2/YQIT) #./P M& @ $I?P4 8VYX;BTR,#(S,3(S,7AE>#,Q9#(N:'1M4$L! M A0#% @ \8%G6/0,3[%C!0 2QD !@ ( !_(@% &-N M>&XM,C R,S$R,S%X97@S,F0Q+FAT;5!+ 0(4 Q0 ( /&!9UASTTLWB04 M '\9 8 " 96.!0!C;GAN+3(P,C,Q,C,Q>&5X,S)D,BYH M=&U02P$"% ,4 " #Q@6=83IE\/!80 %5 & @ %4 ME 4 8VYX;BTR,#(S,3(S,7AE>#DW9#$N:'1M4$L%!@ . X O@, *"D $!0 $! end XML 92 cnxn-20231231x10k_htm.xml IDEA: XBRL DOCUMENT 0001050377 us-gaap:AllowanceForCreditLossMember 2023-01-01 2023-12-31 0001050377 cnxn:ContractWithCustomerRefundLiabilityMember 2023-01-01 2023-12-31 0001050377 us-gaap:AllowanceForCreditLossMember 2022-01-01 2022-12-31 0001050377 cnxn:ContractWithCustomerRefundLiabilityMember 2022-01-01 2022-12-31 0001050377 us-gaap:AllowanceForCreditLossMember 2021-01-01 2021-12-31 0001050377 cnxn:ContractWithCustomerRefundLiabilityMember 2021-01-01 2021-12-31 0001050377 us-gaap:AllowanceForCreditLossMember 2023-12-31 0001050377 cnxn:ContractWithCustomerRefundLiabilityMember 2023-12-31 0001050377 us-gaap:AllowanceForCreditLossMember 2022-12-31 0001050377 cnxn:ContractWithCustomerRefundLiabilityMember 2022-12-31 0001050377 us-gaap:AllowanceForCreditLossMember 2021-12-31 0001050377 cnxn:ContractWithCustomerRefundLiabilityMember 2021-12-31 0001050377 us-gaap:AllowanceForCreditLossMember 2020-12-31 0001050377 cnxn:ContractWithCustomerRefundLiabilityMember 2020-12-31 0001050377 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-12-31 0001050377 cnxn:ShareRepurchaseProgramsAggregateMember 2022-01-01 2022-12-31 0001050377 cnxn:ShareRepurchaseProgramsAggregateMember 2021-01-01 2021-12-31 0001050377 srt:MaximumMember cnxn:ShareRepurchaseProgramsAggregateMember 2023-12-31 0001050377 cnxn:ShareRepurchaseProgramsAggregateMember 2023-12-31 0001050377 2022-11-30 0001050377 2018-12-31 0001050377 2017-12-31 0001050377 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001050377 us-gaap:CommonStockMember 2021-01-01 2021-12-31 0001050377 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001050377 us-gaap:TreasuryStockCommonMember 2023-12-31 0001050377 us-gaap:RetainedEarningsMember 2023-12-31 0001050377 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001050377 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001050377 us-gaap:TreasuryStockCommonMember 2022-12-31 0001050377 us-gaap:RetainedEarningsMember 2022-12-31 0001050377 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001050377 us-gaap:TreasuryStockCommonMember 2021-12-31 0001050377 us-gaap:RetainedEarningsMember 2021-12-31 0001050377 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001050377 us-gaap:TreasuryStockCommonMember 2020-12-31 0001050377 us-gaap:RetainedEarningsMember 2020-12-31 0001050377 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001050377 cnxn:EmployeeStockPurchasePlanMember 2023-01-01 2023-12-31 0001050377 cnxn:StockIncentivePlan2020Member 2023-12-31 0001050377 cnxn:StockIncentivePlan2020Member 2023-05-31 0001050377 srt:MaximumMember cnxn:StockIncentivePlanTwentyZeroSevenMember 2019-05-31 0001050377 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0001050377 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-12-31 0001050377 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-12-31 0001050377 srt:MaximumMember us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-12-31 0001050377 srt:MaximumMember us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-12-31 0001050377 srt:MaximumMember us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-12-31 0001050377 us-gaap:PhantomShareUnitsPSUsMember 2023-01-01 2023-12-31 0001050377 cnxn:SoftwareMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:SoftwareMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:SoftwareMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:NetAndComMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:NetAndComMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:NetAndComMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:DesktopsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:DesktopsMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:DesktopsMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:AccessoriesMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:AccessoriesMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:AccessoriesMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:SoftwareMember 2023-01-01 2023-12-31 0001050377 cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:ServersAndStorageMember 2023-01-01 2023-12-31 0001050377 cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 cnxn:OtherHardwareAndServicesMember 2023-01-01 2023-12-31 0001050377 cnxn:NotebooksAndMobilityMember 2023-01-01 2023-12-31 0001050377 cnxn:NetAndComMember 2023-01-01 2023-12-31 0001050377 cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 cnxn:DisplaysAndSoundsMember 2023-01-01 2023-12-31 0001050377 cnxn:DesktopsMember 2023-01-01 2023-12-31 0001050377 cnxn:AccessoriesMember 2023-01-01 2023-12-31 0001050377 cnxn:SoftwareMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:SoftwareMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:SoftwareMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:NetAndComMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:NetAndComMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:NetAndComMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:DesktopsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:DesktopsMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:DesktopsMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:AccessoriesMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:AccessoriesMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:AccessoriesMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:SoftwareMember 2022-01-01 2022-12-31 0001050377 cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:ServersAndStorageMember 2022-01-01 2022-12-31 0001050377 cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 cnxn:OtherHardwareAndServicesMember 2022-01-01 2022-12-31 0001050377 cnxn:NotebooksAndMobilityMember 2022-01-01 2022-12-31 0001050377 cnxn:NetAndComMember 2022-01-01 2022-12-31 0001050377 cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 cnxn:DisplaysAndSoundsMember 2022-01-01 2022-12-31 0001050377 cnxn:DesktopsMember 2022-01-01 2022-12-31 0001050377 cnxn:AccessoriesMember 2022-01-01 2022-12-31 0001050377 cnxn:SoftwareMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:SoftwareMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:SoftwareMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:ServersAndStorageMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:OtherHardwareAndServicesMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:NotebooksAndMobilityMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:NetAndComMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:NetAndComMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:NetAndComMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:DisplaysAndSoundsMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:DesktopsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:DesktopsMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:DesktopsMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:AccessoriesMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:AccessoriesMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:AccessoriesMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:SoftwareMember 2021-01-01 2021-12-31 0001050377 cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:ServersAndStorageMember 2021-01-01 2021-12-31 0001050377 cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 cnxn:OtherHardwareAndServicesMember 2021-01-01 2021-12-31 0001050377 cnxn:NotebooksAndMobilityMember 2021-01-01 2021-12-31 0001050377 cnxn:NetAndComMember 2021-01-01 2021-12-31 0001050377 cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:DisplaysAndSoundsMember 2021-01-01 2021-12-31 0001050377 cnxn:DesktopsMember 2021-01-01 2021-12-31 0001050377 cnxn:AccessoriesMember 2021-01-01 2021-12-31 0001050377 srt:MinimumMember 2023-12-31 0001050377 srt:MaximumMember 2023-12-31 0001050377 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0001050377 cnxn:RelatedPartiesMember 2022-12-31 0001050377 cnxn:OthersMember 2022-12-31 0001050377 us-gaap:InternalRevenueServiceIRSMember 2023-01-01 2023-12-31 0001050377 cnxn:StateJurisdictionMember 2023-01-01 2023-12-31 0001050377 cnxn:RelatedPartiesMember 2023-12-31 0001050377 cnxn:OthersMember 2023-12-31 0001050377 cnxn:RelatedPartiesMember 2023-01-01 2023-12-31 0001050377 cnxn:OthersMember 2023-01-01 2023-12-31 0001050377 cnxn:RelatedPartiesMember 2022-01-01 2022-12-31 0001050377 cnxn:OthersMember 2022-01-01 2022-12-31 0001050377 us-gaap:OtherIncomeMember 2023-01-01 2023-12-31 0001050377 us-gaap:OtherIncomeMember 2022-01-01 2022-12-31 0001050377 srt:MaximumMember us-gaap:OtherIncomeMember 2021-01-01 2021-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:PublicSectorSegmentMember 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:PublicSectorSegmentMember 2022-12-31 0001050377 srt:MinimumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2023-12-31 0001050377 srt:MaximumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2023-12-31 0001050377 us-gaap:TradeNamesMember 2023-12-31 0001050377 us-gaap:CustomerRelationshipsMember 2023-12-31 0001050377 us-gaap:CustomerListsMember 2023-12-31 0001050377 us-gaap:TradeNamesMember 2022-12-31 0001050377 us-gaap:CustomerRelationshipsMember 2022-12-31 0001050377 us-gaap:CustomerListsMember 2022-12-31 0001050377 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001050377 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-12-31 0001050377 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001050377 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001050377 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-01-01 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:PublicSectorMember 2023-01-01 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:LargeAccountSegmentMember 2023-01-01 2023-12-31 0001050377 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-01-01 2022-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:PublicSectorMember 2022-01-01 2022-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:LargeAccountSegmentMember 2022-01-01 2022-12-31 0001050377 us-gaap:CorporateNonSegmentMember 2022-01-01 2022-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2021-01-01 2021-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:PublicSectorMember 2021-01-01 2021-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:LargeAccountSegmentMember 2021-01-01 2021-12-31 0001050377 us-gaap:CorporateNonSegmentMember 2021-01-01 2021-12-31 0001050377 cnxn:NoExpirationMember 2023-12-31 0001050377 cnxn:ExpireBeyondYearFiveMember 2023-12-31 0001050377 cnxn:ExpireAfterTwoYearsMember 2023-12-31 0001050377 cnxn:ExpireAfterThreeYearsMember 2023-12-31 0001050377 cnxn:ExpireAfterNextTwelveMonthsMember 2023-12-31 0001050377 cnxn:ExpireAfterFourYearsMember 2023-12-31 0001050377 cnxn:ExpireAfterFiveYearsMember 2023-12-31 0001050377 us-gaap:PrimeRateMember 2023-12-31 0001050377 cnxn:AccruedExpensesAndOtherLiabilitiesMember 2023-12-31 0001050377 cnxn:AccruedExpensesAndOtherLiabilitiesMember 2022-12-31 0001050377 srt:MaximumMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember us-gaap:GeographicDistributionForeignMember 2023-01-01 2023-12-31 0001050377 srt:MaximumMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember us-gaap:GeographicDistributionForeignMember 2022-01-01 2022-12-31 0001050377 srt:MaximumMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:GeographicConcentrationRiskMember us-gaap:GeographicDistributionForeignMember 2021-01-01 2021-12-31 0001050377 us-gaap:CommonStockMember 2023-12-31 0001050377 us-gaap:CommonStockMember 2022-12-31 0001050377 us-gaap:CommonStockMember 2021-12-31 0001050377 us-gaap:CommonStockMember 2020-12-31 0001050377 cnxn:DividendTwoMember 2023-01-01 2023-12-31 0001050377 cnxn:DividendThreeMember 2023-01-01 2023-12-31 0001050377 cnxn:DividendOneMember 2023-01-01 2023-12-31 0001050377 cnxn:DividendFourMember 2023-01-01 2023-12-31 0001050377 cnxn:EmployeeStockPurchasePlanMember 2022-05-31 0001050377 2021-12-31 0001050377 2020-12-31 0001050377 us-gaap:CashAndCashEquivalentsMember us-gaap:MoneyMarketFundsMember 2023-12-31 0001050377 us-gaap:CashAndCashEquivalentsMember us-gaap:MoneyMarketFundsMember 2022-12-31 0001050377 us-gaap:ShortTermInvestmentsMember us-gaap:USTreasurySecuritiesMember 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:PublicSectorMember 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:LargeAccountSegmentMember 2023-12-31 0001050377 us-gaap:IntersegmentEliminationMember 2023-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:SmallAndMediumSizedBusinessesSegmentMember 2022-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:PublicSectorMember 2022-12-31 0001050377 us-gaap:OperatingSegmentsMember cnxn:LargeAccountSegmentMember 2022-12-31 0001050377 us-gaap:IntersegmentEliminationMember 2022-12-31 0001050377 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-12-31 0001050377 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2022-01-01 2022-12-31 0001050377 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-12-31 0001050377 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-12-31 0001050377 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0001050377 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0001050377 us-gaap:CustomerRelationshipsMember 2016-01-01 2016-12-31 0001050377 2023-10-01 2023-12-31 0001050377 2023-06-30 0001050377 2024-02-15 0001050377 cnxn:StockIncentivePlanTwentyZeroSevenMember 2023-01-01 2023-12-31 0001050377 us-gaap:OtherRestructuringMember 2023-01-01 2023-12-31 0001050377 us-gaap:EmployeeSeveranceMember 2023-01-01 2023-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:SynnexCorporationMember 2023-01-01 2023-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:IngramMicroIncClassMember 2023-01-01 2023-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:SynnexCorporationMember 2022-01-01 2022-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:IngramMicroIncClassMember 2022-01-01 2022-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:SynnexCorporationMember 2021-01-01 2021-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:IngramMicroIncClassMember 2021-01-01 2021-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:MicrosoftCorporationMember 2023-01-01 2023-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:HpIncMember 2023-01-01 2023-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:DellInc.Member 2023-01-01 2023-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:MicrosoftCorporationMember 2022-01-01 2022-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:LenovoMember 2022-01-01 2022-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:HpIncMember 2022-01-01 2022-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:DellInc.Member 2022-01-01 2022-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:MicrosoftCorporationMember 2021-01-01 2021-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:LenovoMember 2021-01-01 2021-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:HpIncMember 2021-01-01 2021-12-31 0001050377 us-gaap:RevenueFromContractWithCustomerMember us-gaap:SupplierConcentrationRiskMember cnxn:DellInc.Member 2021-01-01 2021-12-31 0001050377 cnxn:PeriodTwoMember 2023-01-01 2023-12-31 0001050377 cnxn:PeriodThreeMember 2023-01-01 2023-12-31 0001050377 cnxn:PeriodOneMember 2023-01-01 2023-12-31 0001050377 cnxn:PeriodFourMember 2023-01-01 2023-12-31 0001050377 cnxn:SingleCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001050377 cnxn:SingleCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001050377 cnxn:SingleCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001050377 cnxn:ShareRepurchaseProgramsAggregateMember 2023-01-01 2023-12-31 0001050377 us-gaap:PhantomShareUnitsPSUsMember 2021-12-31 0001050377 us-gaap:CorporateNonSegmentMember 2023-12-31 0001050377 us-gaap:CorporateNonSegmentMember 2022-12-31 0001050377 2022-01-01 2022-12-31 0001050377 2021-01-01 2021-12-31 0001050377 2023-12-31 0001050377 2022-12-31 0001050377 2023-01-01 2023-12-31 0001050377 cnxn:AccruedExpensesAndOtherLiabilitiesMember us-gaap:EmployeeSeveranceMember 2023-12-31 iso4217:USD pure cnxn:lease cnxn:customer shares iso4217:USD shares cnxn:segment P3Y P3Y http://fasb.org/us-gaap/2023#AccruedLiabilitiesAndOtherLiabilities http://fasb.org/us-gaap/2023#AccruedLiabilitiesAndOtherLiabilities 0001050377 --12-31 2023 FY false P3Y P15Y 2019 2020 2021 2022 2020 2021 2022 http://fasb.org/us-gaap/2023#RelatedPartyMember http://fasb.org/us-gaap/2023#RelatedPartyMember http://www.pcconnection.com/20231231#EmployeeMember http://www.pcconnection.com/20231231#EmployeeMember P5Y http://fasb.org/us-gaap/2023#FairValueInputsLevel1Member http://fasb.org/us-gaap/2023#FairValueInputsLevel1Member 10-K true 2023-12-31 false 000-23827 PC CONNECTION, INC. DE 02-0513618 730 Milford Road Merrimack NH 03054 603 683-2000 Common Stock, $0.01 par value CNXN NASDAQ No No Yes Yes Accelerated Filer false false true false false 510000000 26361133 false false false false 34 Deloitte & Touche LLP Boston, Massachusetts 144954000 122930000 152232000 606834000 610280000 124179000 208682000 4348000 16092000 11900000 1048639000 953792000 56658000 59171000 4340000 7558000 73602000 73602000 3428000 4648000 1714000 1055000 1188381000 1099826000 263682000 232638000 20440000 24071000 43843000 53808000 327965000 310517000 15844000 17970000 3181000 4994000 624000 170000 347614000 333651000 0.01 0.01 100000000 100000000 29262000 29123000 26360000 26350000 293000 291000 130878000 125784000 760898000 686037000 81000 2902000 2773000 51383000 45937000 840767000 766175000 1188381000 1099826000 2850644000 3124996000 2892595000 2338908000 2598819000 2428016000 511736000 526177000 464579000 405896000 405625000 368062000 2687000 103153000 120552000 96517000 9961000 1083000 5000 113114000 121635000 96522000 29843000 32416000 26616000 83271000 89219000 69906000 3.17 3.40 2.67 3.15 3.37 2.65 26287000 26279000 26196000 26429000 26443000 26364000 83271000 89219000 69906000 22000 81000 83352000 89219000 69906000 28943000 289000 119891000 562084000 2773000 -45937000 636327000 4231000 4231000 82000 1000 -1000 1767000 1767000 26224000 26224000 69906000 69906000 29025000 290000 122354000 605766000 2773000 -45937000 682473000 5675000 5675000 98000 1000 -1000 2244000 2244000 8948000 8948000 89219000 89219000 29123000 291000 125784000 686037000 2773000 -45937000 766175000 7022000 7022000 118000 2000 -2000 3015000 3015000 129000 5446000 5446000 21000 1089000 1089000 8410000 8410000 83271000 83271000 81000 81000 29262000 293000 130878000 760898000 81000 2902000 -51383000 840767000 83271000 89219000 69906000 12654000 11978000 12202000 1847000 3252000 3307000 7022000 5675000 4231000 -2148000 -1308000 753000 1522000 -572000 -17000 36000 -1599000 6000000 1318000 -84503000 2127000 65688000 8540000 1884000 -1421000 659000 145000 -435000 31146000 -49056000 14814000 -11791000 -14732000 17727000 197954000 34889000 57754000 150607000 9595000 9077000 10302000 69000 1500000 -160202000 -9077000 -8733000 88198000 36463000 88198000 36463000 5392000 8410000 8948000 34599000 1089000 3015000 2244000 1767000 -15728000 -11192000 -36366000 22024000 14620000 12655000 122930000 108310000 95655000 144954000 122930000 108310000 90000 192000 334000 54000 41668000 33687000 21465000 24000 4000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">1.   SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">PC Connection, Inc. is a Fortune 1000 Global Solutions Provider that simplifies the information technology, or IT, customer experience, guiding the connection between people and technology. The Company’s dedicated account managers partner with customers to design, deploy, and support cutting-edge IT environments using the latest hardware, software, and services. The Company provides a wide range of IT solutions, from the desktop to the cloud—including computer systems, data center solutions, software and peripheral equipment, networking communications, and other products and accessories that the Company purchases from manufacturers, distributors, and other suppliers. In 2023, the Company restructured and combined its Technology Solutions Group and Technical Sales Organization into one organization to be referred to as the Technology Solutions Organization, or TSO. The Company’s TSO and state-of-the-art Technology Integration and Distribution Center with ISO 9001:2015 certified technical configuration lab offer end-to-end services related to the design, configuration, and implementation of IT solutions. The Company also provides a comprehensive portfolio of managed services and professional services. These services are performed by the Company’s personnel and by third-party providers. The Company’s GlobalServe offering ensures worldwide coverage for the Company’s multinational customers, delivering global procurement solutions through the Company’s network of in-country suppliers in over 150 countries. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company operates through three operating segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Connection Enterprise Solutions – serving large enterprise customers</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Connection Business Solutions – serving small to medium-sized businesses, or SMBs</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Connection Public Sector Solutions – serving federal, state, and local government and educational institutions</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following is a summary of the Company’s significant accounting policies:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Principles of Consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The consolidated financial statements include the accounts of PC Connection, Inc. and its subsidiaries, all of which are wholly-owned. Intercompany transactions and balances are eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates in the Preparation of Financial Statements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts and disclosures of assets and liabilities and the reported amounts and disclosures of revenue and expenses during the period. Management bases its estimates and judgments on the information available at the time and various other assumptions believed to be reasonable under the circumstances. By nature, estimates are subject to an inherent degree of uncertainty. Actual results could differ from those estimates and assumptions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The Company enters into contracts that can include various combinations of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In most instances, when several performance obligations are aggregated into one single transaction, these performance obligations are fulfilled at the same point in time. The Company accounts for an arrangement when it has approval and commitment from both parties, the rights are </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">identified, the contract has commercial substance, and collectability of consideration is probable. The Company generally obtains oral or written purchase authorizations from its customers for a specified amount of product at a specified price, which constitutes an arrangement. Revenue is recognized at the amount expected to be collected, net of any taxes collected from customers, which are subsequently remitted to governmental authorities. The Company generally invoices for its products at the time of shipping, and accordingly there is not a significant financing component included in its arrangements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cost of Sales and Certain Other Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Cost of sales includes the invoice cost of the product, direct employee and third-party cost of services, direct costs of packaging, inbound and outbound freight, and provisions for inventory obsolescence, adjusted for discounts, rebates, and other vendor allowances. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cash and Cash Equivalents and Investments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company considers all highly liquid short-term investments with original maturities of 90 days or less to be cash equivalents. The carrying value of the Company’s cash equivalents approximates fair value. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The majority of payments due from credit card processors and banks for third-party credit card and debit card transactions process within one to five business days. All credit card and debit card transactions that process in less than seven days are classified as cash and cash equivalents. Amounts due from banks for credit card transactions classified as cash equivalents totaled $3,839 and $6,862 at December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">At the time of purchase, the Company determines the appropriate classification of investments based upon its intent with regard to such investments. All of the Company’s investments are classified as available-for-sale. The Company classifies investments as short-term when their remaining contractual maturities are one year or less from the balance sheet date, and as long-term when the investment has a remaining contractual maturity of more than one year from the balance sheet date. The Company records investments at fair value with unrealized gains and losses recorded as a component of accumulated other comprehensive income on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Included in other income, net on the consolidated statements of income is interest income on cash equivalents and short-term investments of $9,983 and $1,056 for the years ended December 31, 2023 and 2022, respectively. Interest income on cash equivalents and short-term investments was less than $1 for the year ended December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Accounts receivable are recorded at the invoice amount, net of allowances. Customers are evaluated for their credit worthiness at the time of contract inception and the Company performs ongoing credit evaluations of its customers and adjusts credit limits based on payment history and customer creditworthiness. Based on the results of the credit assessments, the Company will extend credit under its standard payment terms or may request alternative early payment actions. The Company determines the required allowance for expected credit losses using information such as its customer credit history and financial condition, industry and market segment information, credit reports, and economic trends and conditions. Allowances can be affected by changes in the industry, customer credit issues or customer bankruptcies or expectations of any such events in a future period when reasonable and supportable. Historical information is utilized beyond reasonable and supportable forecast periods. Amounts are charged against the allowance when it is determined that expected credit losses may occur. The Company assesses collectability by reviewing account receivable on an aggregated basis where similar characteristics exist and on an individual basis when the Company identifies specific customers with collectability issues, and if necessary, records a reserve against those receivables it determines may not be collectable. Trade receivables are written off in the period in which they are deemed uncollectible. Recoveries of trade receivables previously charged are recorded when received. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories (all finished goods) are stated at cost (which approximates the first-in, first-out method) or net realizable value, whichever is lower. Inventory quantities on hand are reviewed regularly, and allowances are maintained for obsolete, slow moving, and nonsalable inventory.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Advertising Costs and Vendor Consideration</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Vendors have the ability to fund advertising activities for which the Company receives advertising consideration. This vendor consideration, to the extent that it represents specific reimbursements of incremental and identifiable costs, is offset against selling, general and administrative, or SG&amp;A, expenses. Advertising consideration that cannot be associated with a specific program or that exceeds the fair value of advertising expense associated with that program is classified as an offset to cost of sales. The Company’s vendor partners generally consolidate their funding of advertising and other marketing programs, and accordingly, the Company classifies substantially all vendor consideration as a reduction of cost of sales rather than a reduction of advertising expense. Other advertising costs are expensed as incurred. Advertising expense, which is classified as a component of SG&amp;A expenses on the consolidated statements of income, totaled $22,400, $20,155, and $15,827 for the years ended December 31, 2023, 2022, and 2021, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"> <span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Property and Equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property and equipment are stated at cost, net of accumulated depreciation and amortization. The estimated useful lives of the assets range from <span style="-sec-ix-hidden:Hidden__j6ePWY0KEidt35jlnoCtg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to seven years. Computer software, including licenses and internally developed software, is capitalized and amortized over lives generally ranging from <span style="-sec-ix-hidden:Hidden_pdyU3vReAEyavkGvBhWYsA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. Depreciation is recorded using the straight-line method. Leasehold improvements and facilities under capital leases are amortized over the terms of the related leases or their useful lives, whichever is shorter, whereas for income tax reporting purposes, they are amortized over the applicable tax lives. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Costs incurred to develop internal-use software during the application development stage are recorded in property and equipment at cost. External direct costs of materials and services consumed in developing or obtaining internal-use computer software and payroll-related costs for employees developing internal-use computer software projects, to the extent of their time spent directly on the project and specific to application development, are capitalized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">When events or circumstances indicate a potential impairment, the Company evaluates the carrying value of property and equipment based upon current and anticipated undiscounted cash flows. The Company recognizes impairment when it is probable that such estimated future cash flows will be less than the asset carrying value. No property and equipment impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">The Company enters into operating lease contracts, as assessed at contract inception, primarily for real estate and equipment. On the lease commencement date, the Company records operating lease liabilities based on the present value of the future lease payments. In determining the present value of future lease payments, the Company utilized estimated rates that it would have incurred to borrow, over a similar term, the funds necessary to purchase the respective leased asset with cash.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;"><span style="white-space:pre-wrap;"> The Company elects to apply the short-team lease exception to any leases with contractual obligations of one year or less. These leases will not have right-of-use, or ROU, assets and associated lease liabilities on the balance sheet. Instead, rent will be recognized on a straight-line basis.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;"><span style="font-style:italic;font-weight:bold;">Goodwill and Other Intangible Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company’s intangible assets consist of (1) goodwill, which is not subject to amortization; (2) an internet domain name, which is an indefinite-lived intangible asset not subject to amortization; and (3) amortizing intangibles, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">which consist of customer lists, trade names, and customer relationships, which are being amortized over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Note 4 describes the annual impairment methodology that the Company uses each year in calculating the recoverability of goodwill and non-amortizing intangibles. This same impairment test is performed at other times during the course of a year should an event occur or circumstance change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Recoverability of amortizing intangible assets is assessed only when events have occurred that may give rise to impairment. When a potential impairment has been identified, forecasted undiscounted net cash flows of the operations to which the asset relates are compared to the current carrying value of the long-lived assets present in that operation. If such cash flows are less than such carrying amounts, long-lived assets including such intangibles, are written down to their respective fair values. No intangible assets impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Concentrations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Concentrations of credit risk with respect to trade account receivables are limited due to the large number of customers comprising the Company’s customer base. No single customer accounted for 10% or more of total net sales in 2023, 2022, and 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Microsoft Corporation accounted for approximately 21%, 19%, and 11%, respectively, of the Company’s total product purchases in 2023. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 22%, and 15%, respectively, of the Company’s total product purchases in 2022. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 23%, and 12%, respectively, of the Company’s total product purchases in 2021. No other singular vendor supplied more than 10% of the Company’s total product purchases in 2023, 2022, and 2021. The Company believes that, while it may experience some short-term disruption if products from Ingram Micro, Inc., TD Synnex Corporation, Microsoft Corporation, Dell Inc., or any of these vendors become unavailable to it, alternative sources are available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:14.4pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Products manufactured by Microsoft Corporation, HP Inc., and Dell Inc. represented approximately 15%, 13%, and 11%, respectively, of our total product purchases in 2023. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 14%, 13%, 12%, and 11% of our total product purchases in 2022. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 15%, 14%, 11%, and 10% of our total product purchases in 2021. No other singular product manufacturer produced more than 10% of our total product purchases in 2023, 2022, and 2021. In the event the Company experiences either a short-term or permanent disruption of supply of Microsoft Corporation, HP Inc., or Dell Inc. products, such disruption would likely have a material adverse effect on the Company’s results of operations and cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Restructuring and Other charges</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The restructuring and other charges recorded for the year ended December 31, 2023 were primarily related to an involuntary reduction in our headquarter workforce and included cash severance and other related termination benefits. These costs will be paid within a year of termination and any unpaid balances are included in accrued expenses and other liabilities in the consolidated balance sheets as of December 31, 2023. The Company is currently evaluating additional restructuring activities for 2024 and beyond.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Costs incurred for restructuring and other chargers were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0.05pt 0pt 0.05pt 0pt;">Employee separations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0.05pt 0pt 0.05pt 0pt;">Other charges</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 6pt;">Total restructuring and other charges</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Included in accrued expenses and other liabilities on the consolidated balance sheets as of December 31, 2023 was $324 related to unpaid employee separation benefits.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Earnings Per Share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Basic earnings per common share is computed using the weighted average number of shares outstanding. Diluted earnings per share is computed using the weighted average number of shares outstanding adjusted for the incremental shares attributable to nonvested stock units and stock options outstanding, if dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share (in thousands, except per share data):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,271</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,219</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,906</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr style="height:7.75pt;"><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Denominator for basic earnings per share</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,287</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,279</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,196</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dilutive effect of employee stock awards </p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 164</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Denominator for diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,429</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,443</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,364</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.17</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.40</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.67</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.15</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.37</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.65</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">For the years ended December 31, 2023, 2022, and 2021, the Company did not exclude any outstanding nonvested stock units or stock options from the computation of diluted earnings per share because including them would have had an anti-dilutive effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Financial Accounting Standards</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In March 2020, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2020-04, <i style="font-style:italic;">Reference Rate Reform (Topic 848)</i>: <i style="font-style:italic;">Facilitation of the Effects of Reference Rate Reform on Financial Reporting.</i> This guidance provides temporary optional expedients and exceptions to the U.S. GAAP guidance on contract modifications and hedge accounting to ease the financial reporting burdens of the expected market transition from the London Interbank Offered Rate, or LIBOR, and other interbank offered rates to alternative reference rates, such as the Secured Overnight Financing Rate. This ASU is applied prospectively and becomes effective immediately upon the transition from LIBOR. The Company’s secured credit facility agreement references LIBOR, which is expected to be discontinued as a result of reference rate reform. The amendments are effective as of March 12, 2020 through December </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">31, 2022; however, ASU 2022-06, <i style="font-style:italic;">Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848</i> has extended the effective date through December 31, 2024. The Company adopted this standard for the fiscal year ended December 31, 2023. The adoption of this ASU along with the related expedients did not have an impact to the Company’s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In November 2023, the FASB issued ASU 2023-07, <i style="font-style:italic;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.</i> This guidance is intended to improve segment reporting disclosures on both an interim and annual basis, primarily through enhanced disclosures about significant segment expenses. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2024, and for interim reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2023, the FASB issued ASU 2023-09, <i style="font-style:italic;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures.</i> This guidance is intended to improve the transparency of income tax disclosures through, among other things, enhancement of the disclosure requirements within the rate reconciliation, as well as increased income tax disaggregation disclosures. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures. </p> 3 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Principles of Consolidation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The consolidated financial statements include the accounts of PC Connection, Inc. and its subsidiaries, all of which are wholly-owned. Intercompany transactions and balances are eliminated in consolidation.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Use of Estimates in the Preparation of Financial Statements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts and disclosures of assets and liabilities and the reported amounts and disclosures of revenue and expenses during the period. Management bases its estimates and judgments on the information available at the time and various other assumptions believed to be reasonable under the circumstances. By nature, estimates are subject to an inherent degree of uncertainty. Actual results could differ from those estimates and assumptions.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Revenue Recognition</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration the Company expects to receive in exchange for those products or services. The Company enters into contracts that can include various combinations of products and services, which are generally capable of being distinct and accounted for as separate performance obligations. In most instances, when several performance obligations are aggregated into one single transaction, these performance obligations are fulfilled at the same point in time. The Company accounts for an arrangement when it has approval and commitment from both parties, the rights are </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">identified, the contract has commercial substance, and collectability of consideration is probable. The Company generally obtains oral or written purchase authorizations from its customers for a specified amount of product at a specified price, which constitutes an arrangement. Revenue is recognized at the amount expected to be collected, net of any taxes collected from customers, which are subsequently remitted to governmental authorities. The Company generally invoices for its products at the time of shipping, and accordingly there is not a significant financing component included in its arrangements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cost of Sales and Certain Other Costs</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Cost of sales includes the invoice cost of the product, direct employee and third-party cost of services, direct costs of packaging, inbound and outbound freight, and provisions for inventory obsolescence, adjusted for discounts, rebates, and other vendor allowances. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Cash and Cash Equivalents and Investments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company considers all highly liquid short-term investments with original maturities of 90 days or less to be cash equivalents. The carrying value of the Company’s cash equivalents approximates fair value. Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The majority of payments due from credit card processors and banks for third-party credit card and debit card transactions process within one to five business days. All credit card and debit card transactions that process in less than seven days are classified as cash and cash equivalents. Amounts due from banks for credit card transactions classified as cash equivalents totaled $3,839 and $6,862 at December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">At the time of purchase, the Company determines the appropriate classification of investments based upon its intent with regard to such investments. All of the Company’s investments are classified as available-for-sale. The Company classifies investments as short-term when their remaining contractual maturities are one year or less from the balance sheet date, and as long-term when the investment has a remaining contractual maturity of more than one year from the balance sheet date. The Company records investments at fair value with unrealized gains and losses recorded as a component of accumulated other comprehensive income on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Included in other income, net on the consolidated statements of income is interest income on cash equivalents and short-term investments of $9,983 and $1,056 for the years ended December 31, 2023 and 2022, respectively. Interest income on cash equivalents and short-term investments was less than $1 for the year ended December 31, 2021.</p> 3839000 6862000 9983000 1056000 1000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Accounts receivable are recorded at the invoice amount, net of allowances. Customers are evaluated for their credit worthiness at the time of contract inception and the Company performs ongoing credit evaluations of its customers and adjusts credit limits based on payment history and customer creditworthiness. Based on the results of the credit assessments, the Company will extend credit under its standard payment terms or may request alternative early payment actions. The Company determines the required allowance for expected credit losses using information such as its customer credit history and financial condition, industry and market segment information, credit reports, and economic trends and conditions. Allowances can be affected by changes in the industry, customer credit issues or customer bankruptcies or expectations of any such events in a future period when reasonable and supportable. Historical information is utilized beyond reasonable and supportable forecast periods. Amounts are charged against the allowance when it is determined that expected credit losses may occur. The Company assesses collectability by reviewing account receivable on an aggregated basis where similar characteristics exist and on an individual basis when the Company identifies specific customers with collectability issues, and if necessary, records a reserve against those receivables it determines may not be collectable. Trade receivables are written off in the period in which they are deemed uncollectible. Recoveries of trade receivables previously charged are recorded when received. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Inventories</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Inventories (all finished goods) are stated at cost (which approximates the first-in, first-out method) or net realizable value, whichever is lower. Inventory quantities on hand are reviewed regularly, and allowances are maintained for obsolete, slow moving, and nonsalable inventory.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Advertising Costs and Vendor Consideration</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Vendors have the ability to fund advertising activities for which the Company receives advertising consideration. This vendor consideration, to the extent that it represents specific reimbursements of incremental and identifiable costs, is offset against selling, general and administrative, or SG&amp;A, expenses. Advertising consideration that cannot be associated with a specific program or that exceeds the fair value of advertising expense associated with that program is classified as an offset to cost of sales. The Company’s vendor partners generally consolidate their funding of advertising and other marketing programs, and accordingly, the Company classifies substantially all vendor consideration as a reduction of cost of sales rather than a reduction of advertising expense. Other advertising costs are expensed as incurred. Advertising expense, which is classified as a component of SG&amp;A expenses on the consolidated statements of income, totaled $22,400, $20,155, and $15,827 for the years ended December 31, 2023, 2022, and 2021, respectively.</p> 22400000 20155000 15827000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Property and Equipment</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property and equipment are stated at cost, net of accumulated depreciation and amortization. The estimated useful lives of the assets range from <span style="-sec-ix-hidden:Hidden__j6ePWY0KEidt35jlnoCtg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to seven years. Computer software, including licenses and internally developed software, is capitalized and amortized over lives generally ranging from <span style="-sec-ix-hidden:Hidden_pdyU3vReAEyavkGvBhWYsA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. Depreciation is recorded using the straight-line method. Leasehold improvements and facilities under capital leases are amortized over the terms of the related leases or their useful lives, whichever is shorter, whereas for income tax reporting purposes, they are amortized over the applicable tax lives. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Costs incurred to develop internal-use software during the application development stage are recorded in property and equipment at cost. External direct costs of materials and services consumed in developing or obtaining internal-use computer software and payroll-related costs for employees developing internal-use computer software projects, to the extent of their time spent directly on the project and specific to application development, are capitalized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">When events or circumstances indicate a potential impairment, the Company evaluates the carrying value of property and equipment based upon current and anticipated undiscounted cash flows. The Company recognizes impairment when it is probable that such estimated future cash flows will be less than the asset carrying value. No property and equipment impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.</p> P7Y P10Y 0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">The Company enters into operating lease contracts, as assessed at contract inception, primarily for real estate and equipment. On the lease commencement date, the Company records operating lease liabilities based on the present value of the future lease payments. In determining the present value of future lease payments, the Company utilized estimated rates that it would have incurred to borrow, over a similar term, the funds necessary to purchase the respective leased asset with cash.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;"><span style="white-space:pre-wrap;"> The Company elects to apply the short-team lease exception to any leases with contractual obligations of one year or less. These leases will not have right-of-use, or ROU, assets and associated lease liabilities on the balance sheet. Instead, rent will be recognized on a straight-line basis.</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;"><span style="font-style:italic;font-weight:bold;">Goodwill and Other Intangible Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company’s intangible assets consist of (1) goodwill, which is not subject to amortization; (2) an internet domain name, which is an indefinite-lived intangible asset not subject to amortization; and (3) amortizing intangibles, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">which consist of customer lists, trade names, and customer relationships, which are being amortized over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Note 4 describes the annual impairment methodology that the Company uses each year in calculating the recoverability of goodwill and non-amortizing intangibles. This same impairment test is performed at other times during the course of a year should an event occur or circumstance change that would more likely than not reduce the fair value of a reporting unit below its carrying amount.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Recoverability of amortizing intangible assets is assessed only when events have occurred that may give rise to impairment. When a potential impairment has been identified, forecasted undiscounted net cash flows of the operations to which the asset relates are compared to the current carrying value of the long-lived assets present in that operation. If such cash flows are less than such carrying amounts, long-lived assets including such intangibles, are written down to their respective fair values. No intangible assets impairment was recognized for each of the years ended December 31, 2023, 2022 and 2021.</p> 0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Concentrations</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Concentrations of credit risk with respect to trade account receivables are limited due to the large number of customers comprising the Company’s customer base. No single customer accounted for 10% or more of total net sales in 2023, 2022, and 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Microsoft Corporation accounted for approximately 21%, 19%, and 11%, respectively, of the Company’s total product purchases in 2023. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 22%, and 15%, respectively, of the Company’s total product purchases in 2022. Product purchases from Ingram Micro, Inc., TD Synnex Corporation, and Dell Inc. accounted for approximately 23%, 23%, and 12%, respectively, of the Company’s total product purchases in 2021. No other singular vendor supplied more than 10% of the Company’s total product purchases in 2023, 2022, and 2021. The Company believes that, while it may experience some short-term disruption if products from Ingram Micro, Inc., TD Synnex Corporation, Microsoft Corporation, Dell Inc., or any of these vendors become unavailable to it, alternative sources are available.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:14.4pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Products manufactured by Microsoft Corporation, HP Inc., and Dell Inc. represented approximately 15%, 13%, and 11%, respectively, of our total product purchases in 2023. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 14%, 13%, 12%, and 11% of our total product purchases in 2022. Products manufactured by HP Inc., Dell Inc., Microsoft Corporation, and Lenovo represented approximately 15%, 14%, 11%, and 10% of our total product purchases in 2021. No other singular product manufacturer produced more than 10% of our total product purchases in 2023, 2022, and 2021. In the event the Company experiences either a short-term or permanent disruption of supply of Microsoft Corporation, HP Inc., or Dell Inc. products, such disruption would likely have a material adverse effect on the Company’s results of operations and cash flows.</p> 0 0 0 0.21 0.19 0.11 0.23 0.22 0.15 0.23 0.23 0.12 0.15 0.13 0.11 0.14 0.13 0.12 0.11 0.15 0.14 0.11 0.10 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Restructuring and Other charges</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The restructuring and other charges recorded for the year ended December 31, 2023 were primarily related to an involuntary reduction in our headquarter workforce and included cash severance and other related termination benefits. These costs will be paid within a year of termination and any unpaid balances are included in accrued expenses and other liabilities in the consolidated balance sheets as of December 31, 2023. The Company is currently evaluating additional restructuring activities for 2024 and beyond.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Costs incurred for restructuring and other chargers were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0.05pt 0pt 0.05pt 0pt;">Employee separations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0.05pt 0pt 0.05pt 0pt;">Other charges</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 6pt;">Total restructuring and other charges</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Included in accrued expenses and other liabilities on the consolidated balance sheets as of December 31, 2023 was $324 related to unpaid employee separation benefits.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Costs incurred for restructuring and other chargers were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:29.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0.05pt 0pt 0.05pt 0pt;">Employee separations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0.05pt 0pt 0.05pt 0pt;">Other charges</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 271</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:69.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 6pt;">Total restructuring and other charges</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,687</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td></tr></table> 2416000 271000 2687000 324000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Earnings Per Share</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Basic earnings per common share is computed using the weighted average number of shares outstanding. Diluted earnings per share is computed using the weighted average number of shares outstanding adjusted for the incremental shares attributable to nonvested stock units and stock options outstanding, if dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share (in thousands, except per share data):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,271</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,219</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,906</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr style="height:7.75pt;"><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Denominator for basic earnings per share</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,287</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,279</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,196</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dilutive effect of employee stock awards </p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 164</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Denominator for diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,429</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,443</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,364</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.17</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.40</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.67</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.15</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.37</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.65</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">For the years ended December 31, 2023, 2022, and 2021, the Company did not exclude any outstanding nonvested stock units or stock options from the computation of diluted earnings per share because including them would have had an anti-dilutive effect.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table sets forth the computation of basic and diluted earnings per share (in thousands, except per share data):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 83,271</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 89,219</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,906</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr style="height:7.75pt;"><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Denominator for basic earnings per share</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,287</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,279</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,196</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Dilutive effect of employee stock awards </p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 142</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 164</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 168</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Denominator for diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,429</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,443</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,364</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.17</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.40</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.67</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:normal;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.97%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.15</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.37</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.94%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.65</p></td><td style="vertical-align:bottom;white-space:normal;width:1.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 83271000 89219000 69906000 26287000 26279000 26196000 142000 164000 168000 26429000 26443000 26364000 3.17 3.40 2.67 3.15 3.37 2.65 0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Financial Accounting Standards</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In March 2020, the Financial Accounting Standards Board (FASB) issued Accounting Standards Update (ASU) 2020-04, <i style="font-style:italic;">Reference Rate Reform (Topic 848)</i>: <i style="font-style:italic;">Facilitation of the Effects of Reference Rate Reform on Financial Reporting.</i> This guidance provides temporary optional expedients and exceptions to the U.S. GAAP guidance on contract modifications and hedge accounting to ease the financial reporting burdens of the expected market transition from the London Interbank Offered Rate, or LIBOR, and other interbank offered rates to alternative reference rates, such as the Secured Overnight Financing Rate. This ASU is applied prospectively and becomes effective immediately upon the transition from LIBOR. The Company’s secured credit facility agreement references LIBOR, which is expected to be discontinued as a result of reference rate reform. The amendments are effective as of March 12, 2020 through December </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">31, 2022; however, ASU 2022-06, <i style="font-style:italic;">Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848</i> has extended the effective date through December 31, 2024. The Company adopted this standard for the fiscal year ended December 31, 2023. The adoption of this ASU along with the related expedients did not have an impact to the Company’s consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In November 2023, the FASB issued ASU 2023-07, <i style="font-style:italic;">Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.</i> This guidance is intended to improve segment reporting disclosures on both an interim and annual basis, primarily through enhanced disclosures about significant segment expenses. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2024, and for interim reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2023, the FASB issued ASU 2023-09, <i style="font-style:italic;">Income Taxes (Topic 740): Improvements to Income Tax Disclosures.</i> This guidance is intended to improve the transparency of income tax disclosures through, among other things, enhancement of the disclosure requirements within the rate reconciliation, as well as increased income tax disaggregation disclosures. This ASU is effective for the Company’s annual reporting periods beginning January 1, 2025, with early adoption permitted. The Company is currently evaluating the impact of the adoption of this standard on its consolidated financial statement disclosures. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">2. REVENUE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Nature of Products and Services</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">IT products typically represent a distinct performance obligation, and revenue is recognized at the point in time when control is transferred to the customer which is generally upon delivery to the customer. The Company recognizes revenue as the principal in the transaction with the customer (i.e., on a gross basis), as it controls the product prior to delivery to the customer and derives the economic benefits from the sales transaction given the Company’s control over customer pricing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company does not recognize revenue for goods that remain in its physical possession before the customer has the ability to direct the use of, and obtain substantially all of the remaining benefits from the products, the goods are ready for physical transfer to and identified as belonging to the customer, and when the Company has no ability to use the product or to direct it to another customer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Licenses for on-premise software provide the customer with a right to take possession of the software. Customers may purchase perpetual licenses or enter into subscriptions to the licensed software. The Company is the principal in these transactions and recognizes revenue for the on-premise license at the point in time when the software is made available to the customer and the commencement of the term of the software license or when the renewal term begins, as applicable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">For certain on-premise licenses for security software, the customer derives substantially all of the benefit from these arrangements through the third-party delivered software maintenance, which provides software updates and other support services. The Company does not have control over the delivery of these performance obligations, and accordingly the Company is the agent in these transactions. The Company recognizes revenue for security software net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangement. Cloud products allow customers to use hosted software over the contractual period without taking possession of the software and are provided on a subscription basis. The Company does not exercise control over these products or services and therefore is an agent in these transactions. The Company recognizes revenue for cloud products net of the related costs of sales at the point in time when its vendor and customer accept the terms and conditions in the sales arrangements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Certain software sales include on-premise licenses that are combined with software maintenance. Software maintenance conveys rights to updates, bug fixes and help desk support, and other support services transferred over the underlying contract period. On-premise licenses are considered distinct performance obligations when sold with the </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">software maintenance, as the Company sells these items separately. The Company recognizes revenue related to the software maintenance as the agent in these transactions because it does not have control over the on-going software maintenance service. Revenue allocated to software maintenance is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Certain of the Company’s larger customers are offered the opportunity by vendors to purchase software licenses and maintenance under enterprise agreements, or EAs. Under EAs, customers are considered to be compliant with applicable license requirements for the ensuing year, regardless of changes to their employee base. Customers are charged an annual true-up fee for changes in the number of users over the year. With most EAs, the Company’s vendors will transfer the license and bill the customer directly, paying resellers, such as the Company, an agency fee or commission on these sales. The Company records these agency fees as a component of net sales as earned and there is no corresponding cost of sales amount. In certain instances, the Company invoices the customer directly under an EA and accounts for the individual items sold based on the nature of each item. The Company’s vendors typically dictate how the EA will be sold to the customer. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company also offers extended service plans, or ESPs, on IT products, both as part of the initial arrangement and separately from the IT products. The Company recognizes revenue related to ESPs as the agent in the transaction because it does not have control over the on-going ESPs service and does not provide any service after the sale. Revenue allocated to ESPs is recognized at the point in time when the Company’s vendor and customer accept the terms and conditions in the sales arrangement. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company uses its own engineering personnel to assist in projects involving the design and installation of systems and networks, and also engages third-party service providers to perform warranty maintenance, implementations, asset disposal, and other services. Service revenue is recognized in general over time as the Company performs the underlying services and satisfies its performance obligations. The Company evaluates such engagements to determine whether it is the principal or the agent in each transaction. For those transactions in which the Company does not control the service, the Company acts as an agent and recognizes the transaction revenue on a net basis at a point in time when the vendor and customer accept the terms and conditions in the sales arrangement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">All amounts billed to a customer in a sales transaction related to shipping and handling, if any, represent revenues earned for the goods provided, and these amounts have been included in net sales. Costs related to shipping and handling billing are classified as cost of sales. Sales are reported net of sales, use, or other transaction taxes that are collected from customers and remitted to taxing authorities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Significant Judgments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company’s contracts with customers often include promises to transfer multiple products or services to a customer. Determining whether the Company is the agent or the principal and whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company estimates the standalone selling price, or SSP, for each distinct performance obligation when a single arrangement contains multiple performance obligations and the fulfillment occurs at different points in time. The Company maximizes the use of observable inputs in the determination of the estimate for SSP for the items that it does not sell separately, including on-premise licenses sold with software maintenance, and IT products sold with ESPs. In instances where SSP is not directly observable, such as when the Company does not sell the product or service separately, the Company determines the SSP using information that may include market conditions and other observable inputs. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company provides its customers with a limited thirty-day right of return, which is generally limited to defective merchandise, and gives rise to variable consideration. Revenue is recognized based on the most likely amount to which it is expected to be entitled. The estimated variable consideration is included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur once the uncertainty is resolved. The Company makes estimates of product returns based on significant historical experience. The Company records its sales </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">return reserve as a reduction of revenues and either as reduction of accounts receivable or, for customers who have already paid, as accrued expenses and as a reduction of cost of sales and an associated right of return asset.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Description of Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company disaggregates revenue from its arrangements with customers by type of products and services, as it believes this method best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following tables represent a disaggregation of revenue from arrangements with customers for the years ended December 31, 2023, 2022 and 2021, along with the segment for each category (in thousands).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notebooks/Mobility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 391,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,116</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 207,887</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 951,670</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktops</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,679</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 266,927</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 124,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,321</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 329,514</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Servers/Storage</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 201,295</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net/Com Products</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,488</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 296,274</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Displays and Sound</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 258,882</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accessories</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 111,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317,032</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other Hardware/Services</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229,050</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net sales</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,201,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,075,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 573,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850,644</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notebooks/Mobility</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 462,152</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,156,890</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktops</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 165,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310,440</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,071</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,106</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Servers/Storage</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,711</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 212,921</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net/Com Products</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,672</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 216,831</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Displays and Sound</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,860</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 318,882</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accessories</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 133,017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393,882</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other Hardware/Services</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,504</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,044</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net sales</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,324,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,245,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 555,324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,124,996</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notebooks/Mobility</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 428,868</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 426,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 241,146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,096,036</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktops</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 140,468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,822</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 274,279</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 279,138</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Servers/Storage</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,081</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,030</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net/Com Products</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,336</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,471</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Displays and Sound</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,237</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accessories</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115,048</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 338,401</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other Hardware/Services</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,003</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net sales</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,249,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,098,496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 544,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,892,595</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Contract Balances </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table provides information about contract liabilities from arrangements with customers as of December 31, 2023 and December 31, 2022 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities, which are included in "Accrued expenses and other liabilities"</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,266</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Changes in the contract liability balances during the years ended December 31, 2023 and 2022 are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,266</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash received in advance and not recognized as revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,173</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amounts recognized as revenue as performance obligations satisfied</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,233)</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,206</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,628</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash received in advance and not recognized as revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,626</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amounts recognized as revenue as performance obligations satisfied</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,988)</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,266</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following tables represent a disaggregation of revenue from arrangements with customers for the years ended December 31, 2023, 2022 and 2021, along with the segment for each category (in thousands).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notebooks/Mobility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 391,667</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 352,116</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 207,887</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 951,670</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktops</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 137,679</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,302</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,946</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 266,927</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 124,478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 157,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,321</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 329,514</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Servers/Storage</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 90,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 201,295</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net/Com Products</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 112,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62,488</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 296,274</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Displays and Sound</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 106,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 258,882</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accessories</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 155,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 111,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 317,032</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other Hardware/Services</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,472</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 229,050</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net sales</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,201,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,075,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 573,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850,644</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notebooks/Mobility</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 462,152</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 473,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 221,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,156,890</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktops</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 165,509</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,804</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310,440</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108,243</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 147,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,071</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 292,106</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Servers/Storage</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,622</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,711</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,588</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 212,921</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net/Com Products</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 85,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98,672</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,548</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 216,831</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Displays and Sound</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,269</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 118,753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 67,860</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 318,882</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accessories</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 133,017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 58,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 393,882</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other Hardware/Services</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,504</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,044</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net sales</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,324,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,245,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 555,324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,124,996</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Notebooks/Mobility</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 428,868</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 426,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 241,146</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,096,036</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Desktops</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 140,468</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,822</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,989</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 274,279</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 119,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 279,138</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Servers/Storage</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 92,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,081</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 196,030</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net/Com Products</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,681</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,336</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 202,471</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Displays and Sound</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,153</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 284,237</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accessories</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 179,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 115,048</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44,104</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 338,401</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other Hardware/Services</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,360</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 222,003</p></td></tr><tr><td style="vertical-align:bottom;width:52.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total net sales</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,249,459</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,098,496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.21%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 544,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,892,595</p></td></tr></table> 391667000 352116000 207887000 951670000 137679000 73302000 55946000 266927000 124478000 157715000 47321000 329514000 65034000 90697000 45564000 201295000 112069000 121717000 62488000 296274000 106419000 92219000 60244000 258882000 155498000 111542000 49992000 317032000 108287000 76291000 44472000 229050000 1201131000 1075599000 573914000 2850644000 462152000 473375000 221363000 1156890000 165509000 88127000 56804000 310440000 108243000 147792000 36071000 292106000 64622000 103711000 44588000 212921000 85611000 98672000 32548000 216831000 132269000 118753000 67860000 318882000 202452000 133017000 58413000 393882000 103504000 81863000 37677000 223044000 1324362000 1245310000 555324000 3124996000 428868000 426022000 241146000 1096036000 140468000 87822000 45989000 274279000 119423000 120104000 39611000 279138000 66027000 92922000 37081000 196030000 86454000 81681000 34336000 202471000 125610000 99474000 59153000 284237000 179249000 115048000 44104000 338401000 103360000 75423000 43220000 222003000 1249459000 1098496000 544640000 2892595000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table provides information about contract liabilities from arrangements with customers as of December 31, 2023 and December 31, 2022 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities, which are included in "Accrued expenses and other liabilities"</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,266</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Changes in the contract liability balances during the years ended December 31, 2023 and 2022 are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,266</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash received in advance and not recognized as revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 21,173</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amounts recognized as revenue as performance obligations satisfied</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (21,233)</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,206</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,628</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash received in advance and not recognized as revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,626</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Amounts recognized as revenue as performance obligations satisfied</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24,988)</p></td></tr><tr><td style="vertical-align:bottom;width:82.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,266</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;font-weight:bold;visibility:hidden;">​</span></p> 4206000 4266000 4266000 21173000 21233000 4206000 8628000 20626000 24988000 4266000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">3.   FAIR VALUE MEASUREMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Cash equivalents and short-term investments consist of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:42.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized Cost</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Gains</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Losses</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,123</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments:</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">U.S. Government treasury securities</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,232</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 281,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 281,355</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:42.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized Cost</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Gains</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Losses</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Investments with maturities of 90 days or less from the date of purchase are classified as cash equivalents; investments with maturities of greater than 90 days from the date of purchase but less than one year are generally classified as short-term investments; and investments with maturities of one year or greater from the date of purchase are generally classified as long-term investments. All short-term investments had stated maturity dates of less than one year. The Company has recorded the securities at fair value in its consolidated balance sheets and unrealized gains and losses are reported as a component of accumulated other comprehensive income. The amount of realized gains and losses reclassified into earnings and the related adjustments to deferred taxes are based on the specific identification of the securities sold or securities that reached maturity date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Fair Value</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company measures certain financial assets at fair value. Fair value is determined based upon the exit price that would be received to sell an asset in an orderly transaction between market participants, as determined by either the principal market or<span style="font-size:12pt;"> </span>the most advantageous market. Inputs used in the valuation techniques are classified based on a three-level hierarchy, as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 1 inputs: Quoted prices for identical assets or liabilities in active markets;</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 2 inputs: Observable inputs other than those described as Level 1; and</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Level 3 inputs: Unobservable inputs that are supportable by little or no market activities and are based on significant assumptions and estimates.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2023 and 2022, the fair value of the Company’s cash equivalents and short-term investments were all measured using level 1 inputs.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Cash equivalents and short-term investments consist of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:42.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized Cost</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Gains</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Losses</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,123</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 129,123</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments:</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">U.S. Government treasury securities</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,129</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,232</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 281,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 281,355</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:42.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortized Cost</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Gains</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrealized Losses</b></p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents:</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market funds</p></td><td style="vertical-align:bottom;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td></tr><tr><td style="vertical-align:bottom;width:56.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,386</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 129123000 129123000 152129000 103000 152232000 281252000 103000 281355000 96386000 96386000 96386000 96386000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">4.   GOODWILL AND OTHER INTANGIBLE ASSETS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Goodwill</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Goodwill is held by the Company’s Enterprise Solutions and Business Solutions segments. Goodwill and intangible assets with indefinite lives are subject to an annual impairment test as of November 30 and tested more frequently if events or circumstances occur that would indicate a potential decline in fair value. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">In 2023 and 2022, the Company performed a qualitative “step 0” analysis. Accounting Standards Codification 350—<i style="font-style:italic;">Intangible</i> – <i style="font-style:italic;">Goodwill and Other</i> states that an entity may assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount, including goodwill. This analysis allows the Company to consider qualitative factors that might impact the carrying amount of its goodwill to determine whether a more detailed quantitative analysis would be necessary. Factors considered when performing the impairment assessment included the Company’s performance relative to historical and projected future operating results, macroeconomic conditions, industry and market trends, cost factors that may have a negative impact on earnings and cash flows, changes in the Company’s stock price and market capitalization, and other relevant entity-specific events. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">Based on the above qualitative analysis, the Company determined goodwill was not impaired as of December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">The carrying amount of goodwill for the periods presented is detailed below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Balance at December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated impairment losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">─</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,173)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,634)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,807)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Balance at December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:top;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:top;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:top;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated impairment losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">─</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,173)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,634)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,807)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Intangible Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">At December 31, 2023, the Company’s intangible assets included a domain name for $450, which has an indefinite life and is not subject to amortization. In addition, in 2016 the Company acquired customer relationships from its Softmart and GlobalServe acquisitions, which are amortized on a straight-line basis over their estimated useful lives of 10 years. The Company’s remaining intangible assets are amortized in proportion to the estimates of the future cash flows underlying the valuation of the assets. Intangible assets and related accumulated amortization are detailed below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer list</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradename</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2023, 2022, and 2021, the Company recorded amortization expense of $1,220, $1,220, and $1,220, respectively. The estimated amortization expense relating to intangible assets in each of the five succeeding years and thereafter is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;margin:0pt;">.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">The carrying amount of goodwill for the periods presented is detailed below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Balance at December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated impairment losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">─</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,173)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,634)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,807)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Balance at December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:top;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Enterprise</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:top;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Business</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:top;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Public Sector</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Solutions</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill, gross</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,539</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,634</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 82,409</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated impairment losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">─</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,173)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,634)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,807)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 66,236</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 66236000 8539000 7634000 82409000 1173000 7634000 8807000 66236000 7366000 73602000 66236000 8539000 7634000 82409000 1173000 7634000 8807000 66236000 7366000 73602000 450000 P10Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Useful Lives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer list</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,400</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradename</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships</p></td><td style="vertical-align:bottom;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,222</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,002</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:31.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total intangible assets</p></td><td style="vertical-align:bottom;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,790</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,198</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> P8Y 3400000 3400000 3400000 3400000 P5Y 1190000 1190000 1190000 1190000 P10Y 12200000 9222000 2978000 12200000 8002000 4198000 16790000 13812000 2978000 16790000 12592000 4198000 1220000 1220000 1220000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 538</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,978</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 1220000 1220000 538000 2978000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">5.   ACCOUNTS RECEIVABLE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Accounts receivable consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:79.7%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:normal;width:25.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 556,542</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 561,857</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vendor consideration, returns and other</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,110</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,388</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Due from employees</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total gross accounts receivable</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 613,743</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,353</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowances for:</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sales returns</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,121)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,806)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Credit losses</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,788)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,267)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 606,834</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 610,280</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Accounts receivable consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:79.7%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:normal;width:25.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Trade</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 556,542</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 561,857</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vendor consideration, returns and other</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,110</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 57,388</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Due from employees</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 91</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 108</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total gross accounts receivable</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 613,743</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 619,353</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowances for:</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Sales returns</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,121)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,806)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Credit losses</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,788)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,267)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 606,834</p></td><td style="vertical-align:bottom;white-space:normal;width:2.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 610,280</p></td><td style="vertical-align:bottom;white-space:normal;width:0.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 556542000 561857000 57110000 57388000 91000 108000 613743000 619353000 3121000 3806000 3788000 5267000 606834000 610280000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">6.   PROPERTY AND EQUIPMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property and equipment consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:85.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:normal;width:23.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software, including licenses and internally-developed software</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,373</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,645</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,916</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,316</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,463</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,964</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,752</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,925</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (82,094)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (76,754)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,658</p></td><td style="vertical-align:bottom;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,171</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recorded depreciation and amortization expense for property and equipment of $11,434, $10,758, and $10,982 in 2023, 2022, and 2021, respectively.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Property and equipment consisted of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:85.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:normal;width:23.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software, including licenses and internally-developed software</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 93,373</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 87,645</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36,916</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,316</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,463</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,964</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 138,752</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,925</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (82,094)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (76,754)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:normal;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56,658</p></td><td style="vertical-align:bottom;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 59,171</p></td><td style="vertical-align:bottom;white-space:normal;width:0.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 93373000 87645000 36916000 39316000 8463000 8964000 138752000 135925000 82094000 76754000 56658000 59171000 11434000 10758000 10982000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">7. LEASES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">The Company leases certain facilities from a related party, which is affiliated with the Company through common ownership. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">As of December 31, 2023, the Company had no leases that were classified as financing leases and there were no additional operating or financing leases that have not yet commenced. Refer to the following table for quantitative information related to the Company’s leases for the year ended December 31, 2023 and 2022 (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="8" style="vertical-align:bottom;width:38.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Related Parties</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Others</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Lease Cost</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized operating lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,149</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,235</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,384</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 532</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 459</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 991</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,681</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,694</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,375</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Information</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,149</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,266</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,415</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.92</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.92</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.92%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.08%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.04%</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="8" style="vertical-align:bottom;width:38.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Related Parties</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Others</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Lease Cost</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized operating lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,253</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,821</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,074</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 428</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 121</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 549</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,681</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,942</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,623</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Information</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,253</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,846</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,099</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.92</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.03</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.60</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.92%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.05%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.03%</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">As of December 31, 2023, future lease payments over the remaining term of capitalized operating leases were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Related Parties</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Others</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,312</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 574</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,886</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 163</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,650</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,813</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 163</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 957</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,120</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 236</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 237</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 161</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 161</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,639</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,578</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,217</p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Imputed interest</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (303)</p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lease liability balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,914</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">As of December 31, 2023, the ROU asset had a balance of $4,340. The long-term lease liability was $3,181 and the short-term lease liability, which is included in accrued expenses and other liabilities in the consolidated balance sheets, was $1,733. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">As of December 31, 2022, the ROU asset had a balance of $7,558. The long-term lease liability was $4,994 and the short-term lease liability, which is included in accrued expenses and other liabilities in the consolidated balance sheets, was $3,170.</p> 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="8" style="vertical-align:bottom;width:38.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Related Parties</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Others</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Lease Cost</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized operating lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,149</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,235</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,384</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 532</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 459</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 991</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,681</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,694</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,375</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Information</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,149</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,266</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,415</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.92</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.92</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.92%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.08%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.04%</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="8" style="vertical-align:bottom;width:38.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Related Parties</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Others</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Lease Cost</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized operating lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,253</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,821</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,074</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 428</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 121</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 549</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease cost</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,681</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,942</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,623</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Other Information</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cash paid for amounts included in the measurement of lease liabilities and capitalized operating leases:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Operating cash flows</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,253</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,846</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,099</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average remaining lease term (in years):</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.92</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.03</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.60</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Capitalized operating leases</p></td><td style="vertical-align:bottom;white-space:normal;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">3.92%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.05%</p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">4.03%</p></td><td style="vertical-align:bottom;white-space:normal;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td></tr></table> 1149000 2235000 3384000 532000 459000 991000 1681000 2694000 4375000 1149000 2266000 3415000 P2Y11M1D P2Y11M1D 0.0392 0.0408 0.0404 1253000 2821000 4074000 428000 121000 549000 1681000 2942000 4623000 1253000 2846000 4099000 P0Y11M1D P4Y10D P3Y7M6D 0.0392 0.0405 0.0403 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">As of December 31, 2023, future lease payments over the remaining term of capitalized operating leases were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For the Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Related Parties</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Others</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,312</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 574</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,886</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 163</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,650</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,813</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 163</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 957</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,120</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 236</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 237</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 161</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 161</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,639</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,578</p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,217</p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:68.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Imputed interest</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (303)</p></td></tr><tr><td style="vertical-align:bottom;white-space:normal;width:68.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Lease liability balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:10.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:6.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,914</p></td></tr></table> 1312000 574000 1886000 163000 1650000 1813000 163000 957000 1120000 1000 236000 237000 161000 161000 1639000 3578000 5217000 303000 4914000 4340000 3181000 1733000 7558000 4994000 3170000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">8. ACCRUED EXPENSES AND OTHER LIABILITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">Accrued expenses and other liabilities consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer and vendor deposits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,594</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Sales tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,816</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short term lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,170</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,228</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses and other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,843</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 53,808</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-indent:18pt;margin:0pt;">Accrued expenses and other liabilities consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer and vendor deposits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,414</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 32,594</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Sales tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,816</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short term lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,170</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,228</p></td></tr><tr><td style="vertical-align:bottom;width:69.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses and other liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43,843</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 53,808</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;line-height:2.38;margin-bottom:6pt;visibility:hidden;">​</span></p> 24414000 32594000 6144000 2816000 1733000 3170000 11552000 15228000 43843000 53808000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">9.   BANK BORROWINGS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company has a $50,000 credit facility collateralized by its account receivables that expires March 31, 2025. This facility can be increased, at the Company’s option, to $80,000 for permitted acquisitions or other uses authorized by the lender on substantially the same terms. Amounts outstanding under this facility bear interest at the daily Bloomberg Short-Term Bank Yield Index, or BSBY Rate, plus a spread based on the Company’s funded debt ratio, or in the absence of BSBY Rate, the prime rate (8.50% at December 31, 2023). The credit facility includes various customary financial ratios and operating covenants, including minimum net worth and maximum funded debt ratio requirements, and default acceleration provisions. The credit facility does not include restrictions on future dividend payments. Funded debt ratio is the ratio of average outstanding advances under the credit facility to Adjusted Earnings Before Interest Expense, Taxes, Depreciation, Amortization, and Special Charges, or Adjusted EBITDA. The maximum allowable funded debt ratio under the agreement is 2.0 to 1.0. Decreases in the Company’s consolidated twelve months Adjusted EBITDA could limit its potential borrowing capacity under the credit facility. As of December 31, 2023, the Company was in compliance with the covenants of the credit facility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Cash receipts are automatically applied against any outstanding borrowings. During the years ended December 31, 2023 and 2022, the Company borrowed incremental amounts that were each repaid in full. These borrowings for the years ended December 31, 2023 and 2022 totaled $88,198 and $36,463, respectively; however, at no time were the outstanding borrowings greater than the $50,000 limit under the credit facility. The Company had no outstanding borrowings under the credit facility as of December 31, 2023 or 2022, and accordingly, the entire $50,000 credit facility was available for borrowings on such date.</p> 50000000 2025-03-31 80000000 0.0850 2.0 88198000 36463000 50000000 50000000 0 0 50000000 50000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">10.   STOCKHOLDERS’ EQUITY AND SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Preferred Stock</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company’s Amended and Restated Certificate of Incorporation (the “Restated Certificate”) authorizes the issuance of up to 10,000 shares of preferred stock, $0.01 par value per share (the “Preferred Stock”). Under the terms of the Restated Certificate, the Board is authorized, subject to any limitations prescribed by law, without stockholder approval, to issue by a unanimous vote such shares of Preferred Stock in one or more series. Each such series of Preferred Stock shall have such rights, preferences, privileges, and restrictions, including voting rights, dividend rights, redemption privileges, and liquidation preferences, as shall be determined by the Board. There were no preferred shares outstanding as of December 31, 2023 or 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Share Repurchase Authorization</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2017, there was $30,000 authorized for share repurchase. In 2018, the Company’s Board approved a share repurchase program authorizing up to $25,000 in additional share repurchases. In November 2022, the Company’s Board approved a $25,000 increase to the Company’s existing share repurchase authorization, bringing the aggregate size of the share repurchase program to $80,000 as of December 31, 2023. There is no fixed termination date for this repurchase program. Purchases may be made in open-market transactions, block transactions on or off an </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">exchange, or in privately negotiated transactions. The timing and amount of any share repurchases will be based on market conditions and other factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company repurchased 129 shares for $5,446 during the year ended December 31, 2023 under the Board-authorized repurchase program. Such cost reflects the applicable one percent excise tax imposed by the Inflation Reduction Act of 2022 on the net value of certain stock repurchases made after December 31, 2022. There were no share repurchases during the years ended December 31, 2022 and 2021. As of December 31, 2023, the Company has repurchased an aggregate of 2,728 shares for $47,700 under the Board-authorized repurchase program, and the maximum approximate dollar value of shares that may yet be purchased under the Company’s existing Board-authorized program is $32,300.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Dividend Payments</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company’s quarterly cash dividends declared during the year ended December 31, 2023 (in thousands, except per share data):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Dividend per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Declaration Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Dividend</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">February 9, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">February 21, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">March 10, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,107</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May 4, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May 16, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,099</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 15, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">September 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,101</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">October 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">November 14, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">December 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,103</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">For the year ended December 31, 2022, the Company declared a special cash dividend of $0.34 per share. The total cash payment of $8,948 was made on December 23, 2022 to stockholders of record at the close of business on December 5, 2022. For the year ended December 31, 2021, the Company declared a special cash dividend of $1.00 per share. The total cash payment of $26,224 was made on December 3, 2021 to stockholders of record at the close of business on November 18, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Declaration of any future cash dividends will depend upon the Company’s financial position, strategic plans, and general business conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Equity Compensation Plan Descriptions</span> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2007, the Board adopted and the Company’s stockholders approved the 2007 Stock Incentive Plan. In 2010, the Board adopted and the stockholders approved the Amended and Restated 2007 Stock Incentive Plan (the “2007 Plan”), which, among other things, extended the term of the 2007 Plan to 2020. In May 2019, the Company’s stockholders approved an amendment to the 2007 Plan, which authorized the issuance of up to 1,900 shares of common stock. Under the terms of the 2007 Plan, the Company is authorized, for a ten-year period, to grant options, stock appreciation rights, nonvested stock, nonvested stock units, and other stock-based awards to employees, officers, directors, and consultants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the Board adopted and the Company’s stockholders approved the 2020 Stock Incentive Plan (the “2020 Plan”), which replaces the Amended and Restated 2007 Stock Incentive Plan. In May 2023, the Company’s stockholders approved an amendment to the 2020 Plan, which authorized the issuance of 1,253 shares of common stock. As of December 31, 2023, there were 283 shares eligible for future grants under the 2020 Plan. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">1997 Employee Stock Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In November 1997, the Board adopted and the Company’s stockholders approved the 1997 Employee Stock Purchase Plan (the “Employee Stock Purchase Plan”). The Employee Stock Purchase Plan authorizes the issuance of common stock to participating employees. Under the Employee Stock Purchase Plan, as amended, employees are eligible to purchase Company stock at 95% of the purchase price as of the last business day of each six-month offering period. In May 2022, the Board adopted and the Company’s stockholders approved an amendment to the Employee Stock Purchase Plan, which reserved an aggregate of 1,303 shares of common stock for issuance under the Employee Stock Purchase Plan, of which 1,221 shares have been purchased as of December 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounting for Share-Based Compensation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="white-space:pre-wrap;"> The Company measures the grant date fair value of equity awards given to employees and recognizes that cost, adjusted for forfeitures, over the period that services are performed. The Company values grants with multiple vesting periods as a single award, estimates expected forfeitures based upon historical patterns of employee turnover, and records share-based compensation as a component of SG&amp;A expenses. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the share-based compensation expenses included in the consolidated statements of income (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:81.59%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Pre-tax expense for nonvested units</p></td><td style="vertical-align:bottom;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 7,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 4,231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Tax benefit</p></td><td style="vertical-align:bottom;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,853)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,512)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,167)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Net effect on net income</p></td><td style="vertical-align:bottom;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 4,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2023, 2022, and 2021, the Company issued nonvested stock units that settle in stock and vest over periods of up to four years. Recipients of nonvested stock units do not possess stockholder rights. The fair value of nonvested stock units is based on the end of day market value of the Company’s common stock on the grant date. The following table summarizes the Company’s nonvested stock unit activity in 2023 (shares in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:normal;width:26.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nonvested Stock Units</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Nonvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 535</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 42.44</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 107</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 62.50</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (172)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 41.93</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Canceled</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (20)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 49.36</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Nonvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 450</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 47.09</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The weighted-average grant-date fair value of nonvested stock units granted in 2023, 2022 and 2021 was $62.50, $53.50, and $46.02, respectively. The total fair value of nonvested stock units that vested in 2023, 2022, and 2021 was $9,700, $7,202, and $5,529, respectively. Unearned compensation cost related to the nonvested portion of outstanding nonvested stock units was $19,592 as of December 31, 2023, and is expected to be recognized over a weighted-average period of approximately 3.0 years. The aggregate intrinsic value of the nonvested stock units at December 31, 2023, which is calculated based on the positive difference between the fair value of the Company’s stock on December 31, 2023 and the grant price of the underlying awards, was $30,238.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Stock Equivalent Units</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company has also previously issued stock equivalent units, or SEUs, which settle in cash and vest ratably over four years, to non-executive employees. The fair value of these liability awards is based on the closing market price of the Company’s common stock and is remeasured at the end of each reporting period until the SEUs vest. The Company reports the compensation as a component of SG&amp;A expense on the consolidated statements of income and the related liability as accrued payroll on the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:80.76%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Units issued</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Compensation expense</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425</p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 10000000 10000000 0.01 0.01 0 0 30000000000 25000000000 25000000000 80000000000 129000 5446000 0.01 0 0 2728000 47700000 32300000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company’s quarterly cash dividends declared during the year ended December 31, 2023 (in thousands, except per share data):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Dividend per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Declaration Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payment Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total Dividend</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">February 9, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">February 21, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">March 10, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,107</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May 4, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">May 16, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">June 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,099</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">August 15, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">September 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,101</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.08</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">October 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">November 14, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">December 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,103</p></td></tr></table> 0.08 2023-02-09 2023-02-21 2023-03-10 2107000 0.08 2023-05-04 2023-05-16 2023-06-02 2099000 0.08 2023-08-02 2023-08-15 2023-09-01 2101000 0.08 2023-10-31 2023-11-14 2023-12-01 2103000 0.34 8948000 2022-12-23 2022-12-05 1.00 26224000 2021-12-03 2021-11-18 1900000 P10Y 1253000 283000 0.95 1303000 1221000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the share-based compensation expenses included in the consolidated statements of income (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:81.59%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:65.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Pre-tax expense for nonvested units</p></td><td style="vertical-align:bottom;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 7,022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 4,231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Tax benefit</p></td><td style="vertical-align:bottom;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,853)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,512)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,167)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:65.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Net effect on net income</p></td><td style="vertical-align:bottom;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 4,163</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,064</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 7022000 5675000 4231000 1853000 1512000 1167000 5169000 4163000 3064000 P4Y P4Y P4Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:normal;width:26.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nonvested Stock Units</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant Date</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:16.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Nonvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 535</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 42.44</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 107</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 62.50</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (172)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 41.93</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Canceled</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (20)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 49.36</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:71.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Nonvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.44%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 450</p></td><td style="vertical-align:bottom;white-space:normal;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:14.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 47.09</p></td><td style="vertical-align:bottom;white-space:normal;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 535000 42.44 107000 62.50 172000 41.93 20000 49.36 450000 47.09 62.50 53.50 46.02 9700000 7202000 5529000 19592000 P3Y 30238000 P4Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:80.76%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:8.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Units issued</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Compensation expense</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:normal;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 425</p></td><td style="vertical-align:bottom;white-space:normal;width:0.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 425000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">11.   INCOME TAXES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes consisted of the following (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.87%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Current:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 24,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 25,483</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 18,450</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 7,343</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 7,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 31,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 33,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 25,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Deferred:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,845)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (743)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (303)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (524)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (2,148)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,267)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 29,843</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 32,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 26,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:24.5pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of the deferred taxes as of December 31, 2023 and 2022 are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Deferred tax assets:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 965</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Inventory costs capitalized for tax purposes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Inventory valuation reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Sales return reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 116</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Deductible expenses, primarily employee-benefit related</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,084</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Capitalized research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State tax loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State tax credit carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 921</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Total gross deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 10,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 9,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Less: Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,789)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,064)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8,783</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Deferred tax liabilities:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Goodwill and other intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (14,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (13,990)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (8,877)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (10,572)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,106)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,930)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (261)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Total gross deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (24,463)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (26,753)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Net deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (15,844)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (17,970)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Current deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Noncurrent deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (15,844)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (17,970)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Net deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (15,844)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (17,970)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company has deferred tax assets from state net operating loss carryforwards aggregating $1,192 as of December 31, 2023 representing state tax benefits, net of federal taxes, of approximately $941. These loss carryforwards are subject to <span style="-sec-ix-hidden:Hidden_gZk4WqbQOEa5YuVEhhQ-rA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span>, <span style="-sec-ix-hidden:Hidden_NquWSjozkEmR9A0dFPqkzQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">five</span></span>, <span style="-sec-ix-hidden:Hidden_Qs851iLDbU6O0gvBs7o3og;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">fifteen</span></span>, twenty-year, or indefinite carryforward periods, with $2 expiring in 2024, $30 expiring in 2025, $63 expiring in 2026, $9 expiring in 2027, $5 expiring in 2028, $909 expiring beyond 2028, and $174 with no </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">expiration. The Company has provided valuation allowances of $868 and $1,064 as of December 31, 2023 and 2022, respectively, against the state tax loss carryforwards, representing the portion of carryforward losses that the Company believes are not likely to be realized. The Company also has New Hampshire Business Enterprise credits of $921. These credits are subject to a ten-year carryforward period, with $921 expiring beyond 2028. The Company has provided a valuation allowance of $921 as of December 31, 2023 against the New Hampshire Business Enterprise credit carryforwards. The net change in the total valuation allowance reflects a $725 increase and a $110 decrease in 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">A reconciliation of the Company’s 2023, 2022, and 2021 income tax provision to total income taxes at the statutory federal tax rate is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:81.81%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Federal income taxes, at statutory tax rate </p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 23,754</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 25,543</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 20,270</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State income taxes, net of federal benefit</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,498</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,954</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,954</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Nondeductible expenses</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 589</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 928</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 645</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Other, net</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (9)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Income tax provision</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 29,843</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 32,416</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 26,616</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company files one consolidated U.S. Federal income tax return that includes all of its subsidiaries as well as several consolidated, combined, and separate Company returns in many U.S. state tax jurisdictions. The tax years <span style="-sec-ix-hidden:Hidden_GGRVgq0vdkKGyTchI2AWCA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2019-2022</span></span> remain open to examination by the major state taxing jurisdictions in which the Company files. The tax years <span style="-sec-ix-hidden:Hidden_MvlsL_vPKUWWIzuTWoQV5A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2020-2022</span></span> remain open to examination by the Internal Revenue Service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Previously, the Company recognized interest and penalties related to unrecognized income tax benefits as a component of income tax expense, and the corresponding accrual was included as a component of the Company’s liability for unrecognized income tax benefits. The Company did not recognize any interest and penalties for the years ended December 31, 2023, 2022 or 2021.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The provision for income taxes consisted of the following (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80.87%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Current:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 24,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 25,483</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 18,450</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 7,343</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 7,413</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 31,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 33,683</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 25,863</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Deferred:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,845)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (743)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (303)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (524)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 98</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Total deferred</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (2,148)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,267)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 753</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 29,843</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 32,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 26,616</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 24648000 25483000 18450000 7343000 8200000 7413000 31991000 33683000 25863000 -1845000 -743000 655000 -303000 -524000 98000 -2148000 -1267000 753000 29843000 32416000 26616000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The components of the deferred taxes as of December 31, 2023 and 2022 are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Deferred tax assets:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Allowance for credit losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 965</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Inventory costs capitalized for tax purposes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Inventory valuation reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 57</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Sales return reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 116</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 140</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Deductible expenses, primarily employee-benefit related</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Accrued compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,249</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2,084</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Capitalized research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,937</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State tax loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 941</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 1,151</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State tax credit carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 921</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Total gross deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 10,408</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 9,847</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Less: Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,789)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,064)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Net deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 8,783</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Deferred tax liabilities:</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Goodwill and other intangibles</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (14,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (13,990)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Property and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (8,877)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (10,572)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,106)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (1,930)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Prepaid expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (261)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Total gross deferred tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (24,463)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (26,753)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 12pt;">Net deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (15,844)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (17,970)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Current deferred tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Noncurrent deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (15,844)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (17,970)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Net deferred tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (15,844)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (17,970)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 965000 1349000 127000 227000 342000 57000 116000 140000 6000 79000 1304000 2249000 1251000 2084000 956000 632000 1542000 598000 1937000 1281000 941000 1151000 921000 10408000 9847000 1789000 1064000 8619000 8783000 14227000 13990000 8877000 10572000 1106000 1930000 253000 261000 24463000 26753000 15844000 17970000 15844000 17970000 15844000 17970000 1192000 941000 P20Y 2000 30000 63000 9000 5000 909000 174000 868000 1064000 921000 P10Y 921000 921000 725000 -110000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">A reconciliation of the Company’s 2023, 2022, and 2021 income tax provision to total income taxes at the statutory federal tax rate is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:81.81%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:9.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Federal income taxes, at statutory tax rate </p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 23,754</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 25,543</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 20,270</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">State income taxes, net of federal benefit</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,498</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,954</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 5,954</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Nondeductible expenses</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 589</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 928</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 645</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Other, net</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (9)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"> (253)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">Income tax provision</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 29,843</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 32,416</p></td><td style="vertical-align:bottom;white-space:normal;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:8.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 26,616</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 23754000 25543000 20270000 5498000 5954000 5954000 589000 928000 645000 2000 -9000 -253000 29843000 32416000 26616000 0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">12.   EMPLOYEE BENEFIT PLAN</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company has a contributory profit-sharing and employee savings plan covering all qualified employees. No contributions to the profit-sharing element of the plan were made by the Company in 2023, 2022, and 2021. The Company made matching contributions to the employee savings element of such plan of $6,873, $6,517, and $5,951 in 2023, 2022, and 2021, respectively.</p> 0 0 0 6873000 6517000 5951000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">13.   COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Contingencies</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company is subject to various legal proceedings and claims, which have arisen during the ordinary course of business. In the opinion of the Company’s management, the outcome of such matters is not expected to have a material effect on the Company’s business, financial position, results of operations, or cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The Company records a liability when it believes that a loss is both probable and reasonably estimable. On a quarterly basis, the Company reviews each of these legal proceedings to determine whether it is probable, reasonably possible, or remote that a liability has been incurred and, if it is at least reasonably possible, whether a range of loss can be reasonably estimated. Significant judgment is required to determine both the likelihood of there being a loss and the estimated amount of such loss. Until the final resolution of such matters, there may be an exposure to loss in excess of the amount recorded, and such amounts could be material. The Company expenses legal fees in the period in which they are incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">The Company is subject to audits by states on sales and income taxes, employment matters, and other assessments. Additional liabilities for these and other audits could be assessed, and such outcomes could have a material negative impact on the Company’s financial position, results of operations, and cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:14pt 0pt 0pt 0pt;"><b style="font-weight:bold;">14.   SEGMENT AND RELATED DISCLOSURES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The internal reporting structure used by the Company’s chief operating decision maker, or CODM, to assess performance and allocate resources determines the basis for the Company’s operating segments. The Company’s CODM is its Chief Executive Officer, and he evaluates operations and allocates resources based on a measure of operating income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company’s operations are organized under three reporting segments—the Enterprise Solutions segment, which serves primarily medium-to-large corporations; the Business Solutions segment, which serves primarily SMBs; and the Public Sector Solutions segment, which serves primarily federal, state, and local government and educational institutions. In addition, the Headquarters/Other group provides services in areas such as finance, human resources, IT, marketing, and product management. Most of the operating costs associated with the Headquarters/Other group functions are charged to the operating segments based on their estimated usage of the underlying functions. The Company reports these charges to the operating segments as “Allocations.” Certain headquarters costs relating to executive oversight and other fiduciary functions that are not allocated to the operating segments are included under the heading of Headquarters/Other in the tables below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Net sales presented below exclude inter-segment product revenues. Segment information applicable to the Company’s operating segments for the years ended December 31, 2023, 2022, and 2021 is shown below (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:normal;width:34.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net sales:</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,201,131</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,324,361</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,249,459</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,075,599</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,245,311</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,098,496</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 573,914</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 555,324</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 544,640</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850,644</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,124,996</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,892,595</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Operating income (loss):</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,216</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,477</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,653</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,150</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,475</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,783</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,177</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,105</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,928)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Headquarters/Other</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,390)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,505)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,991)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total operating income</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,153</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,552</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,517</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,961</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,083</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Income before taxes</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,114</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,635</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,522</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selected operating expense:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Depreciation and amortization: </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,452</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,992</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,408</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 628</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 655</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Headquarters/Other</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,490</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,247</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,654</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,978</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,202</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total assets: </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 704,577</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 660,374</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502,739</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 445,698</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,384</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,939</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Headquarters/Other</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (98,319)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (91,185)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,381</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,099,826</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">The assets of the Company’s operating segments presented above consist primarily of accounts receivable, net intercompany receivable, goodwill, and other intangibles. Goodwill of $66,236 and $7,366 is held by the Enterprise Solutions and Business Solutions segments, respectively, as of December 31, 2023. Assets reported under the Headquarters/Other group are managed by corporate headquarters, including cash, inventory, property and equipment </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">and intercompany balance, net. Total assets for the Headquarters/Other group are presented net of intercompany balances eliminations of $35,522 and $43,679 for the years ended December 31, 2023 and 2022, respectively. The Company’s capital expenditures consist largely of IT hardware and software purchased to maintain or upgrade its management information systems. These systems serve all of the Company’s subsidiaries, to varying degrees, and as a result, the CODM does not evaluate capital expenditures on a segment basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:14pt 0pt 0pt 0pt;">Substantially all of the Company’s sales in 2023, 2022, and 2021 were made to customers located in the United States. Shipments to customers located in foreign countries were not more than 2% of total net sales in 2023, 2022, and 2021. All of the Company’s assets as of December 31, 2023 and 2022 were located in the United States. The Company’s primary target customers are SMBs, medium-to-large businesses, and federal, state, and local government agencies and educational institutions. </p> 3 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Net sales presented below exclude inter-segment product revenues. Segment information applicable to the Company’s operating segments for the years ended December 31, 2023, 2022, and 2021 is shown below (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:normal;width:34.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:normal;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Net sales:</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,201,131</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,324,361</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,249,459</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,075,599</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,245,311</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,098,496</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 573,914</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 555,324</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 544,640</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total net sales</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,850,644</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,124,996</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,892,595</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Operating income (loss):</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,216</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 53,477</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 74,653</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 76,150</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,475</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,783</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,177</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,105</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,928)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Headquarters/Other</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,390)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,505)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (16,991)</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total operating income</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 103,153</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 120,552</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,517</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other income, net</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,961</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,083</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Income before taxes</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 113,114</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 121,635</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 96,522</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selected operating expense:</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Depreciation and amortization: </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,452</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,992</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,408</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 628</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 661</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 655</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 78</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 62</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Headquarters/Other</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,490</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,247</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,077</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,654</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,978</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,202</p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total assets: </b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Enterprise Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 704,577</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 660,374</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Business Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502,739</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 445,698</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Public Sector Solutions</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 79,384</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 84,939</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Headquarters/Other</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (98,319)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (91,185)</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:63.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total assets</p></td><td style="vertical-align:bottom;white-space:normal;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,188,381</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,099,826</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> 1201131000 1324361000 1249459000 1075599000 1245311000 1098496000 573914000 555324000 544640000 2850644000 3124996000 2892595000 39216000 53477000 74653000 76150000 79475000 43783000 2177000 1105000 -4928000 -14390000 -13505000 -16991000 103153000 120552000 96517000 9961000 1083000 5000 113114000 121635000 96522000 1452000 1992000 2408000 628000 661000 655000 84000 78000 62000 10490000 9247000 9077000 12654000 11978000 12202000 704577000 660374000 502739000 445698000 79384000 84939000 -98319000 -91185000 1188381000 1099826000 66236000 7366000 -35522000 -43679000 0.02 0.02 0.02 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">SCHEDULE II—VALUATION AND QUALIFYING ACCOUNTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-style:italic;font-weight:bold;">(amounts in thousands)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance at</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Charged to</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance at</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Beginning</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Costs and</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Deductions/</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">End of</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of Period</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expenses</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Write-Offs</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Period</b></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Description</b></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for Sales Returns</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year Ended December 31, 2021</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,014</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 32,635</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (32,431)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,218</p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year Ended December 31, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,218</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,161</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,573)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,806</p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year Ended December 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,806</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,477</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,162)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,121</p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for Credit Losses</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year Ended December 31, 2021</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,408</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,307</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,890)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,825</p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year Ended December 31, 2022</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,825</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,252</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,810)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,267</p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:61.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Year Ended December 31, 2023</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,267</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:7.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,847</p></td><td style="vertical-align:bottom;white-space:normal;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:normal;width:8.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,326)</p></td><td style="vertical-align:bottom;white-space:normal;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:normal;width:7.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,788</p></td><td style="vertical-align:bottom;white-space:normal;width:0.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 4014000 32635000 32431000 4218000 4218000 35161000 35573000 3806000 3806000 34477000 35162000 3121000 5408000 3307000 3890000 4825000 4825000 3252000 2810000 5267000 5267000 1847000 3326000 3788000