0001767258-23-000067.txt : 20231108 0001767258-23-000067.hdr.sgml : 20231108 20231108082148 ACCESSION NUMBER: 0001767258-23-000067 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 75 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231108 DATE AS OF CHANGE: 20231108 FILER: COMPANY DATA: COMPANY CONFORMED NAME: XPEL, Inc. CENTRAL INDEX KEY: 0001767258 STANDARD INDUSTRIAL CLASSIFICATION: COATING, ENGRAVING & ALLIED SERVICES [3470] IRS NUMBER: 201117381 STATE OF INCORPORATION: NV FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38858 FILM NUMBER: 231386093 BUSINESS ADDRESS: STREET 1: 711 BROADWAY ST. STREET 2: SUITE 320 CITY: SAN ANTONIO STATE: TX ZIP: 78215 BUSINESS PHONE: 210-678-3700 MAIL ADDRESS: STREET 1: 711 BROADWAY ST. STREET 2: SUITE 320 CITY: SAN ANTONIO STATE: TX ZIP: 78215 10-Q 1 xpel-20230930.htm 10-Q xpel-20230930
false12/312023Q3000176725836600017672582023-01-012023-09-3000017672582023-11-08xbrli:shares00017672582023-09-30iso4217:USD00017672582022-12-31iso4217:USDxbrli:shares0001767258us-gaap:ProductMember2023-07-012023-09-300001767258us-gaap:ProductMember2022-07-012022-09-300001767258us-gaap:ProductMember2023-01-012023-09-300001767258us-gaap:ProductMember2022-01-012022-09-300001767258us-gaap:ServiceMember2023-07-012023-09-300001767258us-gaap:ServiceMember2022-07-012022-09-300001767258us-gaap:ServiceMember2023-01-012023-09-300001767258us-gaap:ServiceMember2022-01-012022-09-3000017672582023-07-012023-09-3000017672582022-07-012022-09-3000017672582022-01-012022-09-300001767258us-gaap:CommonStockMember2022-06-300001767258us-gaap:AdditionalPaidInCapitalMember2022-06-300001767258us-gaap:RetainedEarningsMember2022-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-3000017672582022-06-300001767258us-gaap:RetainedEarningsMember2022-07-012022-09-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-300001767258us-gaap:CommonStockMember2022-07-012022-09-300001767258us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-300001767258us-gaap:CommonStockMember2022-09-300001767258us-gaap:AdditionalPaidInCapitalMember2022-09-300001767258us-gaap:RetainedEarningsMember2022-09-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-09-3000017672582022-09-300001767258us-gaap:CommonStockMember2023-06-300001767258us-gaap:AdditionalPaidInCapitalMember2023-06-300001767258us-gaap:RetainedEarningsMember2023-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-3000017672582023-06-300001767258us-gaap:RetainedEarningsMember2023-07-012023-09-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-300001767258us-gaap:CommonStockMember2023-07-012023-09-300001767258us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001767258us-gaap:CommonStockMember2023-09-300001767258us-gaap:AdditionalPaidInCapitalMember2023-09-300001767258us-gaap:RetainedEarningsMember2023-09-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001767258us-gaap:CommonStockMember2021-12-310001767258us-gaap:AdditionalPaidInCapitalMember2021-12-310001767258us-gaap:RetainedEarningsMember2021-12-310001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-3100017672582021-12-310001767258us-gaap:RetainedEarningsMember2022-01-012022-09-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-300001767258us-gaap:CommonStockMember2022-01-012022-09-300001767258us-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-300001767258us-gaap:CommonStockMember2022-12-310001767258us-gaap:AdditionalPaidInCapitalMember2022-12-310001767258us-gaap:RetainedEarningsMember2022-12-310001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001767258us-gaap:RetainedEarningsMember2023-01-012023-09-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-300001767258us-gaap:CommonStockMember2023-01-012023-09-300001767258us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-30xpel:segment00017672582022-01-012022-12-3100017672582023-01-012023-03-3100017672582023-03-3100017672582023-04-012023-06-300001767258xpel:ProductRevenuePaintProtectionFilmMember2023-07-012023-09-300001767258xpel:ProductRevenuePaintProtectionFilmMember2022-07-012022-09-300001767258xpel:ProductRevenuePaintProtectionFilmMember2023-01-012023-09-300001767258xpel:ProductRevenuePaintProtectionFilmMember2022-01-012022-09-300001767258xpel:ProductRevenueWindowFilmMember2023-07-012023-09-300001767258xpel:ProductRevenueWindowFilmMember2022-07-012022-09-300001767258xpel:ProductRevenueWindowFilmMember2023-01-012023-09-300001767258xpel:ProductRevenueWindowFilmMember2022-01-012022-09-300001767258xpel:ProductRevenueOtherMember2023-07-012023-09-300001767258xpel:ProductRevenueOtherMember2022-07-012022-09-300001767258xpel:ProductRevenueOtherMember2023-01-012023-09-300001767258xpel:ProductRevenueOtherMember2022-01-012022-09-300001767258xpel:ServiceRevenueSoftwareMember2023-07-012023-09-300001767258xpel:ServiceRevenueSoftwareMember2022-07-012022-09-300001767258xpel:ServiceRevenueSoftwareMember2023-01-012023-09-300001767258xpel:ServiceRevenueSoftwareMember2022-01-012022-09-300001767258xpel:ServiceRevenueCutbankCreditsMember2023-07-012023-09-300001767258xpel:ServiceRevenueCutbankCreditsMember2022-07-012022-09-300001767258xpel:ServiceRevenueCutbankCreditsMember2023-01-012023-09-300001767258xpel:ServiceRevenueCutbankCreditsMember2022-01-012022-09-300001767258xpel:ServiceRevenueInstallationLaborMember2023-07-012023-09-300001767258xpel:ServiceRevenueInstallationLaborMember2022-07-012022-09-300001767258xpel:ServiceRevenueInstallationLaborMember2023-01-012023-09-300001767258xpel:ServiceRevenueInstallationLaborMember2022-01-012022-09-300001767258xpel:ServiceRevenueOtherMember2023-07-012023-09-300001767258xpel:ServiceRevenueOtherMember2022-07-012022-09-300001767258xpel:ServiceRevenueOtherMember2023-01-012023-09-300001767258xpel:ServiceRevenueOtherMember2022-01-012022-09-300001767258country:US2023-07-012023-09-300001767258country:US2022-07-012022-09-300001767258country:US2023-01-012023-09-300001767258country:US2022-01-012022-09-300001767258country:CA2023-07-012023-09-300001767258country:CA2022-07-012022-09-300001767258country:CA2023-01-012023-09-300001767258country:CA2022-01-012022-09-300001767258country:CN2023-07-012023-09-300001767258country:CN2022-07-012022-09-300001767258country:CN2023-01-012023-09-300001767258country:CN2022-01-012022-09-300001767258srt:EuropeMember2023-07-012023-09-300001767258srt:EuropeMember2022-07-012022-09-300001767258srt:EuropeMember2023-01-012023-09-300001767258srt:EuropeMember2022-01-012022-09-300001767258xpel:MiddleEastAfricaMember2023-07-012023-09-300001767258xpel:MiddleEastAfricaMember2022-07-012022-09-300001767258xpel:MiddleEastAfricaMember2023-01-012023-09-300001767258xpel:MiddleEastAfricaMember2022-01-012022-09-300001767258country:GB2023-07-012023-09-300001767258country:GB2022-07-012022-09-300001767258country:GB2023-01-012023-09-300001767258country:GB2022-01-012022-09-300001767258srt:AsiaPacificMember2023-07-012023-09-300001767258srt:AsiaPacificMember2022-07-012022-09-300001767258srt:AsiaPacificMember2023-01-012023-09-300001767258srt:AsiaPacificMember2022-01-012022-09-300001767258srt:LatinAmericaMember2023-07-012023-09-300001767258srt:LatinAmericaMember2022-07-012022-09-300001767258srt:LatinAmericaMember2023-01-012023-09-300001767258srt:LatinAmericaMember2022-01-012022-09-300001767258xpel:OtherGeographicRegionMember2023-07-012023-09-300001767258xpel:OtherGeographicRegionMember2022-07-012022-09-300001767258xpel:OtherGeographicRegionMember2023-01-012023-09-300001767258xpel:OtherGeographicRegionMember2022-01-012022-09-300001767258xpel:LargestCustomerMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:RevenueFromContractWithCustomerMember2023-07-012023-09-30xbrli:pure0001767258xpel:LargestCustomerMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:RevenueFromContractWithCustomerMember2022-07-012022-09-300001767258xpel:LargestCustomerMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:RevenueFromContractWithCustomerMember2023-01-012023-09-300001767258xpel:LargestCustomerMemberus-gaap:CustomerConcentrationRiskMemberus-gaap:RevenueFromContractWithCustomerMember2022-01-012022-09-300001767258us-gaap:FurnitureAndFixturesMember2023-09-300001767258us-gaap:FurnitureAndFixturesMember2022-12-310001767258us-gaap:ComputerEquipmentMember2023-09-300001767258us-gaap:ComputerEquipmentMember2022-12-310001767258us-gaap:VehiclesMember2023-09-300001767258us-gaap:VehiclesMember2022-12-310001767258us-gaap:EquipmentMember2023-09-300001767258us-gaap:EquipmentMember2022-12-310001767258us-gaap:LeaseholdImprovementsMember2023-09-300001767258us-gaap:LeaseholdImprovementsMember2022-12-310001767258xpel:ComputerEquipmentPlotterMember2023-09-300001767258xpel:ComputerEquipmentPlotterMember2022-12-310001767258us-gaap:ConstructionInProgressMember2023-09-300001767258us-gaap:ConstructionInProgressMember2022-12-310001767258us-gaap:TrademarksMember2023-09-300001767258us-gaap:TrademarksMember2022-12-310001767258us-gaap:SoftwareDevelopmentMember2023-09-300001767258us-gaap:SoftwareDevelopmentMember2022-12-310001767258us-gaap:TradeNamesMember2023-09-300001767258us-gaap:TradeNamesMember2022-12-310001767258us-gaap:CustomerRelationshipsMember2023-09-300001767258us-gaap:CustomerRelationshipsMember2022-12-310001767258us-gaap:NoncompeteAgreementsMember2023-09-300001767258us-gaap:NoncompeteAgreementsMember2022-12-310001767258us-gaap:OtherIntangibleAssetsMember2023-09-300001767258us-gaap:OtherIntangibleAssetsMember2022-12-31xpel:acquisition0001767258us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-09-300001767258us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2022-12-310001767258us-gaap:RevolvingCreditFacilityMembersrt:MinimumMemberus-gaap:LineOfCreditMember2023-01-012023-09-300001767258srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-01-012023-09-300001767258us-gaap:BaseRateMemberus-gaap:RevolvingCreditFacilityMembersrt:MinimumMemberus-gaap:LineOfCreditMember2023-01-012023-09-300001767258us-gaap:BaseRateMembersrt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-01-012023-09-300001767258us-gaap:RevolvingCreditFacilityMemberxpel:SecuredOvernightFinancingRateSOFRMembersrt:MinimumMemberus-gaap:LineOfCreditMember2023-01-012023-09-300001767258srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberxpel:SecuredOvernightFinancingRateSOFRMemberus-gaap:LineOfCreditMember2023-01-012023-09-300001767258us-gaap:BaseRateMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-09-300001767258us-gaap:RevolvingCreditFacilityMemberxpel:SecuredOvernightFinancingRateSOFRMemberus-gaap:LineOfCreditMember2022-12-31xpel:covenant0001767258us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-04-060001767258us-gaap:RevolvingCreditFacilityMemberxpel:HSBCBankCanadaMemberus-gaap:LineOfCreditMember2023-09-30iso4217:CAD0001767258us-gaap:RevolvingCreditFacilityMemberxpel:HSBCBankCanadaMemberus-gaap:PrimeRateMemberus-gaap:LineOfCreditMember2023-01-012023-09-300001767258us-gaap:RevolvingCreditFacilityMemberxpel:HSBCBankCanadaMemberus-gaap:LineOfCreditMember2022-12-310001767258us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2023-09-300001767258us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel3Member2022-12-310001767258xpel:ProtectiveSolutionsIncMember2023-05-012023-05-010001767258xpel:ProtectiveSolutionsIncMember2023-05-010001767258us-gaap:TradeNamesMemberxpel:ProtectiveSolutionsIncMember2023-05-010001767258us-gaap:CustomerRelationshipsMemberxpel:ProtectiveSolutionsIncMember2023-05-010001767258us-gaap:SubsequentEventMembersrt:ScenarioForecastMember2023-05-012023-11-0100017672582023-05-012023-05-010001767258us-gaap:SubsequentEventMemberxpel:AutomotiveOEMPaintProtectionFilmMember2023-10-042023-10-040001767258xpel:AutomotiveOEMPaintProtectionFilmMember2023-09-300001767258xpel:RichardCrumlyMember2023-01-012023-09-300001767258xpel:RichardCrumlyMember2023-07-012023-09-300001767258xpel:RichardCrumlyMember2023-09-30

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
    For the quarterly period ended September 30, 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 001-38858
XPEL, INC.
(Exact name of registrant as specified in its charter)
XPEL Logo.jpg
Nevada
20-1117381
(State or other jurisdiction of incorporation or organization)
(I.R.S. Employer Identification No.)
711 Broadway St., Suite 320
San Antonio
Texas
78215
(Address of Principal Executive Offices)
(Zip Code)
Registrant's telephone number, including area code: (210) 678-3700
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading SymbolName of each exchange on which registered
Common Stock, par value $0.001 per shareXPELThe Nasdaq Stock Market LLC

Indicate by check mark whether the registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports); and (2) has been subject to such filing requirements for the past 90 days. Yes  x   No  
Indicate by check mark whether the registrant has submitted electronically and posted on its corporate web site, if any, every Interactive Data File required to be submitted and posted 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 and post such files).  Yes  x  No  



Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or a smaller reporting company. See the definitions of “large accelerated filer,” “accelerated filer”, “smaller reporting company” and "emerging growth company" in Rule 12b-2 of the Exchange Act. (Check one):
Large accelerated filer
Accelerated filer
Non-accelerated filer
Smaller reporting company
Emerging growth company
        
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).     Yes  ☐    No  
The registrant had 27,628,953 shares of common stock outstanding as of November 8, 2023.




TABLE OF CONTENTS
Page




Part I. Financial Information

Item 1. Financial Statements

XPEL, INC.
Condensed Consolidated Balance Sheets
(In thousands except share and per share data)
(Unaudited)
(Audited)
September 30, 2023December 31, 2022
Assets
Current
Cash and cash equivalents$10,374 $8,056 
Accounts receivable, net24,115 14,726 
Inventories92,458 80,575 
Prepaid expenses and other current assets11,091 3,464
Total current assets138,038 106,821 
Property and equipment, net15,690 14,203 
Right-of-use lease assets14,014 15,309 
Intangible assets, net29,461 29,294 
Other non-current assets971 972 
Goodwill28,602 26,763 
Total assets$226,776 $193,362 
Liabilities
Current
Current portion of notes payable$ $77 
Current portion of lease liabilities3,6503,885
Accounts payable and accrued liabilities42,05922,970
Income tax payable836470
Total current liabilities46,54527,402
Deferred tax liability, net1,205 2,049
Other long-term liabilities950 1,070
Borrowings on line of credit 26,000
Non-current portion of lease liabilities11,523 12,119
Total liabilities60,223 68,640 
Commitments and Contingencies (Note 11)
Stockholders’ equity
Preferred stock, $0.001 par value; authorized 10,000,000; none issued and outstanding
  
Common stock, $0.001 par value; 100,000,000 shares authorized; 27,628,953 and 27,616,064 issued and outstanding, respectively
28 28 
Additional paid-in-capital12,050 11,073 
Accumulated other comprehensive loss(2,179)(2,203)
Retained earnings156,654 115,824 
Total stockholders’ equity166,553 124,722 
Total liabilities and stockholders’ equity$226,776 $193,362 
See notes to condensed consolidated financial statements.
1

XPEL, INC.
Condensed Consolidated Statements of Income (Unaudited)
(In thousands except per share data)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Revenue
Product revenue
$81,125 $72,616 $229,339 $197,753 
Service revenue21,552 17,142 61,416 47,759 
Total revenue
102,677 89,758 290,755 245,512 
Cost of Sales
Cost of product sales51,876 47,225 143,613 129,646 
Cost of service9,272 6,767 25,660 19,400 
Total cost of sales61,148 53,992 169,273 149,046 
Gross Margin41,529 35,766 121,482 96,466 
Operating Expenses
Sales and marketing7,730 6,297 22,554 18,515 
General and administrative16,170 12,162 46,180 34,859 
Total operating expenses
23,900 18,459 68,734 53,374 
Operating Income17,629 17,307 52,748 43,092 
Interest expense85 391 946 933 
Foreign currency exchange loss398 372 419 833 
Income before income taxes17,146 16,544 51,383 41,326 
Income tax expense3,490 3,226 10,553 8,302 
Net income$13,656 $13,318 $40,830 $33,024 
Earnings per share
Basic$0.49 $0.48 $1.48 $1.20 
Diluted$0.49 $0.48 $1.48 $1.20 
Weighted Average Number of Common Shares
Basic27,623 27,616 27,620 27,614 
Diluted27,644 27,620 27,634 27,615 

See notes to condensed consolidated financial statements.
2

XPEL, INC.
Condensed Consolidated Statements of Comprehensive Income (Unaudited)
(In thousands)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Other comprehensive income
Net income
$13,656 $13,318 $40,830 $33,024 
Foreign currency translation(731)(1,551)24 (2,821)
Total comprehensive income$12,926 $11,767 $40,854 $30,203 

See notes to condensed consolidated financial statements.
3

XPEL, INC.
Condensed Consolidated Statements of Changes in Stockholders’ Equity (Unaudited)
(In thousands)
Stockholders' Equity - Three Months Ended September 30
Common StockAdditional Paid-in-CapitalRetained
Earnings
Accumulated
Other
Comprehensive
Income (Loss)
Total Stockholders’ Equity
SharesAmount
Balance as of June 30, 202227,613 $28 $10,760 $94,149 $(1,860)$103,077 
Net income— — — 13,318 — 13,318 
Foreign currency translation— — — — (1,551)(1,551)
Stock-based compensation3 — 109 — — 109 
Balance as of September 30, 202227,616 28 10,869 107,467 (3,411)114,953 
Balance as of June 30, 202327,620 28 11,730 142,998 (1,448)153,308 
Net income— — — 13,656 — 13,656 
Foreign currency translation— — — — (731)(731)
Stock-based compensation9 — 320 — — 320 
Balance as of September 30, 202327,629 $28 $12,050 $156,654 $(2,179)$166,553 
Stockholders' Equity - Nine Months Ended September 30
Common StockAdditional Paid-in-CapitalRetained
Earnings
Accumulated
Other
Comprehensive
Income (Loss)
Total Stockholders’ Equity
SharesAmount
Balance as of December 31, 202127,613 $28 $10,581 $74,443 $(590)$84,462 
Net income— — — 33,024 — 33,024 
Foreign currency translation— — — — (2,821)(2,821)
Stock-based compensation3 — 288 — — 288 
Balance as of September 30, 202227,616 28 10,869 107,467 (3,411)114,953 
Balance as of December 31, 202227,616 28 11,073 115,824 (2,203)124,722 
Net income— — — 40,830 — 40,830 
Foreign currency translation— — — — 24 24 
Stock-based compensation13 — 977 — — 977 
Balance as of September 30, 202327,629 $28 $12,050 $156,654 $(2,179)$166,553 
See notes to condensed consolidated financial statements.
4

XPEL, INC.
Condensed Consolidated Statements of Cash Flows (Unaudited)
(In thousands)

Nine Months Ended September 30, 2023
20232022
Cash flows from operating activities
Net income
$40,830 $33,024 
Adjustments to reconcile net income to net cash provided by operating activities:
Depreciation of property, plant and equipment
3,229 2,486 
Amortization of intangible assets3,660 3,248 
Gain on sale of property and equipment, net(11)(10)
Stock-based compensation1,144 317 
Bad debt expense216 350 
Deferred income taxes(844)7 
Accretion on notes payable 6 
Changes in assets and liabilities:
Accounts receivable(9,483)(5,899)
Inventory, net(11,583)(18,423)
Prepaid expenses and other assets(7,288)(3,982)
Income tax receivable and payable320 1,077 
Accounts payable and accrued liabilities18,311 (2,505)
Net cash provided by operating activities38,501 9,696 
Cash flows used in investing activities
Purchase of property, plant and equipment
(4,741)(5,534)
Proceeds from sale of property and equipment20 66 
Business acquisitions, net of cash acquired(4,697)(2,993)
Development of intangible assets(798)(1,368)
Net cash used in investing activities(10,216)(9,829)
Cash flows from financing activities
Net (repayments of) borrowings on revolving credit agreement(26,000)1,000 
Restricted stock withholding taxes paid in lieu of issued shares(167)(30)
Repayments of notes payable(77)(304)
Net cash (used in) provided by financing activities(26,244)666 
Net change in cash and cash equivalents2,041 533 
Foreign exchange impact on cash and cash equivalents277 68 
Increase in cash and cash equivalents during the period2,318 601 
Cash and cash equivalents at beginning of period8,056 9,644 
Cash and cash equivalents at end of period$10,374 $10,245 
Supplemental schedule of non-cash activities
Non-cash lease financing$1,847 $5,209 
Issuance of common stock for vested restricted stock units$874 $222 
Supplemental cash flow information
Cash paid for income taxes$11,144 $7,305 
Cash paid for interest$1,000 $900 
See notes to condensed consolidated financial statements.
5

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
1.    INTERIM FINANCIAL INFORMATION
The accompanying (a) condensed consolidated balance sheet as of December 31, 2022, which has been derived from audited financial statements, and (b) unaudited interim condensed consolidated financial statements as of and for the three and nine months ended September 30, 2023 and 2022 have been prepared by XPEL, Inc. (“XPEL” or the “Company”) in accordance with accounting principles generally accepted in the United States of America for interim financial information, pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). Pursuant to these rules and regulations, certain financial information and footnote disclosures normally included in the financial statements have been condensed or omitted. However, in the opinion of management, the financial statements include all adjustments, consisting of normal recurring accruals, necessary for a fair presentation of the financial position, results of operations and cash flows of the interim periods presented. Operating results for the interim periods presented are not necessarily indicative of results to be expected for the full year or for any other interim period due to variability in customer purchasing patterns and seasonal, operating and other factors.
These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes contained in the Company’s Annual Report on Form 10-K as filed with the SEC on February 28, 2023 (the "Annual Report"). These condensed consolidated financial statements also should be read in conjunction with the Management's Discussion and Analysis of Financial Condition and Results of Operations section appearing in this report.

2.    SIGNIFICANT ACCOUNTING POLICIES
Nature of Business - The Company is based in San Antonio, Texas and sells, distributes, and installs protective films and coatings, including automotive paint protection film, surface protection film, automotive and architectural window films and ceramic coatings. The Company was incorporated in the state of Nevada, U.S.A. in October 2003.
Basis of Presentation - The condensed consolidated financial statements are prepared in conformity with United States Generally Accepted Accounting Principles ("U.S. GAAP") and include the accounts of the Company and its wholly-owned subsidiaries. Intercompany accounts and transactions have been eliminated. The functional currency for the Company is the United States ("U.S.") dollar. The assets and liabilities of each of its wholly-owned foreign subsidiaries are translated into U.S dollars using the exchange rate at the end of the balance sheet date. Revenues and expenses are translated at the average exchange rates for the period. Gains and losses from translations are recognized in foreign currency translation included in accumulated other comprehensive loss in the accompanying consolidated balance sheets.
Segment Reporting - Management has concluded that XPEL's Chief Operating Decision Maker (“CODM”) is the Company's Chief Executive Officer. The Company’s CODM reviews the entire organization’s consolidated results as a whole on a monthly basis to evaluate performance and make resource allocation decisions. Management views the Company’s operations and manages its business as one operating segment.
Use of Estimates - The preparation of these condensed consolidated financial statements in conformity with U.S. GAAP requires management to make judgments and estimates and form assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated financial statements and reported amounts of revenues and expenses during the reporting period. Estimates and underlying assumptions are reviewed on an ongoing basis. Actual outcomes may differ from these estimates under different assumptions and conditions.
6

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
Accounts Receivable - Accounts receivable are shown net of an allowance for expected credit losses and doubtful accounts of $0.2 million and $0.2 million as of September 30, 2023 and December 31, 2022, respectively. The Company evaluates the adequacy of its allowances by analyzing the aging of receivables, customer financial condition, historical collection experience, the value of any collateral and other economic and industry factors. Actual collections may differ from historical experience, and if economic, business or customer conditions deteriorate significantly, adjustments to these reserves may be required. When the Company becomes aware of factors that indicate a change in a specific customer’s ability to meet its financial obligations, the Company records a specific reserve for credit losses. The Company had no significant accounts receivable concentration as of September 30, 2023 or December 31, 2022.
Provisions and Warranties - We provide a warranty on the Company's products. Liability under the warranty policy is based on a review of historical warranty claims. Adjustments are made to the accruals based on actual claims data. The Company's liability for warranties as of September 30, 2023 and December 31, 2022 was $0.4 million and $0.2 million, respectively. The following tables present a summary of the Company's accrued warranty liabilities for the nine months ended September 30, 2023 and the twelve months ended December 31, 2022 (dollars in thousands):
2023
Warranty liability, January 1$234 
Warranties assumed in period446 
Payments(306)
Warranty liability, September 30$374 
2022
Warranty liability, January 1$75 
Warranties assumed in period624 
Payments(465)
Warranty liability, December 31$234 
Recently Adopted Accounting Pronouncements
In June 2016, the FASB issued ASU 2016-13, “Financial Instruments — Measurement of Credit Losses on Financial Instruments”, which requires measurement and recognition of expected credit losses for financial assets held. We adopted this pronouncement effective January 1, 2023 without material impact to our financial statements.

3.    REVENUE
Revenue recognition
The Company recognizes revenue when it satisfies a performance obligation by transferring control of the promised goods and services to a customer, in an amount that reflects the consideration that it expects to receive in exchange for those goods or services. This is achieved through applying the following five-step model:
Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
7

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, the Company satisfies a performance obligation
The Company generates substantially all of its revenue from contracts with customers, whether formal or implied. Sales taxes collected from customers are remitted to the appropriate taxing jurisdictions and are excluded from sales revenue as the Company considers itself a pass-through conduit for collecting and remitting sales taxes, with the exception of taxes assessed during the procurement process of select inventories. Shipping and handling costs are included in cost of sales.
Revenues from product and services sales are recognized when control of the goods and services is transferred to the customer, which occurs at a point in time, typically upon shipment to the customer or completion of the service. This standard applies to all contracts with customers, except for contracts that are within the scope of other standards, such as leases, insurance, collaboration arrangements and financial instruments.
Based upon the nature of the products the Company sells, its customers have limited rights of return, and these rights are immaterial. Discounts provided by the Company to customers at the time of sale are recognized as a reduction in sales at the time of the sale.
Warranty obligations associated with the sale of the Company's products are assurance-type warranties that are a guarantee of the product’s intended functionality and, therefore, do not represent a distinct performance obligation within the context of the contract. Warranty expense is included in cost of sales.
We apply a practical expedient to expense direct costs of obtaining a contract when incurred because the amortization period would have been one year or less.
Under its contracts with customers, the Company stands ready to deliver product upon receipt of a customer's purchase order. Accordingly, the Company has no performance obligations under its contracts until its customers submit a purchase order. The Company does not enter into commitments to provide goods or services that have terms greater than one year. In limited cases, the Company requires payment in advance of shipping product. Typically, product is shipped within a few days after prepayment is received. These prepayments are recorded as contract liabilities on the condensed consolidated balance sheet and are included in accounts payable and accrued liabilities (Note 9). As the performance obligation is part of a contract that has an original expected duration of less than one year, the Company has applied the practical expedient under ASC 606 to omit disclosures regarding remaining performance obligations.
When the Company transfers goods or provides services to a customer, payment is due, subject to normal terms, and is not conditional on anything other than the passage of time. Typical payment terms range from due upon receipt to 30 days, depending on the type of customer and relationship. At contract inception, the Company expects that the period of time between the transfer of goods to the customer and when the customer pays for those goods will be less than one year, which is consistent with the Company’s standard payment terms. Accordingly, the Company has elected the practical expedient under ASC 606 to not adjust for the effects of a significant financing component. As such, these amounts are recorded as receivables and not contract assets.
The following table summarizes transactions within contract liabilities for the three and nine months ended September 30, 2023 (dollars in thousands):
8

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
Balance, December 31, 2022$261 
Revenue recognized related to payments included in the December 31, 2022 balance(206)
Payments received for which performance obligations have not been satisfied2,791 
Effect of foreign currency translation1 
Balance, March 31, 20232,847 
Revenue recognized related to payments included in the March 31, 2023 balance(2,771)
Payments received for which performance obligations have not been satisfied3,955 
Effect of foreign currency translation(4)
Balance, June 30, 20234,027 
Revenue recognized related to payments included in the June 30, 2023 balance(3,973)
Payments received for which performance obligations have not been satisfied5,575 
Effect of foreign currency translation(4)
Balance, September 30, 2023$5,625 

The table below sets forth the disaggregation of revenue by product category for the periods indicated below (dollars in thousands):
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Product Revenue
Paint protection film$58,977 $54,230 $165,016 $146,465 
Window film18,762 15,391 54,055 42,711 
Other3,386 2,995 10,268 8,577 
Total
$81,125 $72,616 $229,339 $197,753 
Service Revenue
Software$1,652 $1,351 $4,656 $3,804 
Cutbank credits4,524 4,352 13,253 11,459 
Installation labor14,852 11,067 41,781 31,371 
Training and other524 372 1,726 1,125 
Total$21,552 $17,142 $61,416 $47,759 
Total$102,677 $89,758 $290,755 $245,512 
Because many of the Company's international customers require us to ship their orders to freight forwarders located in the United States, we cannot be certain about the ultimate destination of the product. The following table represents the Company's estimate of sales by geographic regions based on the Company's understanding of ultimate product destination based on customer interactions, customer locations and other factors (dollars in thousands):
9

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
United States$59,002 $51,522 $169,228 $142,275 
Canada11,471 11,046 31,914 29,773 
China10,242 11,009 24,992 27,772 
Continental Europe8,705 6,065 26,354 18,671 
Middle East/Africa3,909 3,322 11,514 8,025 
United Kingdom3,499 2,482 10,220 7,505 
Asia Pacific3,233 2,540 9,192 6,549 
Latin America2,325 1,468 6,617 4,033 
Other291 304 724 909 
Total$102,677 $89,758 $290,755 $245,512 
XPEL's largest customer accounted for 10.0% and 12.3% of the Company's net sales during the three months ended September 30, 2023 and 2022, respectively and 8.6% and 11.3% of the Company's net sales during the nine months ended September 30, 2023 and 2022, respectively.

4.    PROPERTY AND EQUIPMENT, NET
Property and equipment consists of the following (dollars in thousands):
September 30, 2023December 31, 2022
Furniture and fixtures
$3,189 $2,667 
Computer equipment4,392 3,455 
Vehicles903 838 
Equipment5,279 4,728 
Leasehold improvements10,276 7,081 
Plotters3,750 2,980 
Construction in Progress351 1,745 
Total property and equipment28,140 23,494 
Less: accumulated depreciation12,450 9,291 
Property and equipment, net$15,690 $14,203 
Depreciation expense for the three months ended September 30, 2023 and 2022 was $1.2 million and $0.9 million, respectively. For the nine months ended September 30, 2023 and 2022, depreciation expense was $3.2 million and $2.5 million, respectively.

10

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
5.    INTANGIBLE ASSETS, NET
Intangible assets consist of the following (dollars in thousands):
September 30, 2023December 31, 2022
Trademarks
$823 $686 
Software
5,472 4,822 
Trade names1,609 1,451 
Contractual and customer relationships
34,724 31,871 
Non-compete
439 440 
Other
498 497 
Total cost
43,565 39,767 
Less: Accumulated amortization14,104 10,473 
Intangible assets, net$29,461 $29,294 
Amortization expense for the three months ended September 30, 2023 and 2022 was $1.3 million and $1.1 million, respectively. For the nine months ended September 30, 2023 and 2022, amortization expense was $3.7 million and $3.2 million, respectively.
6.    GOODWILL
The following table summarizes goodwill transactions for the nine months ended September 30, 2023 and 2022 (dollars in thousands):
2023
Balance at December 31, 2022$26,763 
Additions and purchase price allocation adjustments1,875 
Foreign Exchange(36)
Balance at September 30, 2023$28,602 
2022
Balance at December 31, 2021$25,655 
Additions and purchase price allocation adjustments1,826 
Foreign Exchange(718)
Balance at December 31, 2022$26,763 
The Company completed one acquisition in the nine months ended September 30, 2023. Refer to Note 13 for discussion of this acquisition.

11

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
7.    INVENTORIES
The components of inventory are summarized as follows (dollars in thousands):
September 30, 2023December 31, 2022
Raw materials$18,741 $10,416 
Work in process3,617 6,756 
Finished goods70,100 63,403 
$92,458 $80,575 

8.    DEBT
REVOLVING FACILITIES
The Company has a revolving credit facility providing for secured revolving loans and letters of credit in an aggregate amount of up to $125.0 million, which is subject to the terms of a credit agreement dated April 6, 2023 (the "Credit Agreement"). As of September 30, 2023, no balance was outstanding under this agreement. As of December 31, 2022, the Company had an outstanding balance of $26.0 million under a prior credit agreement which was subsequently repaid and terminated.
Borrowings under the Credit Agreement bear interest, at XPEL’s option, at a rate equal to either (a) Base Rate or (b) Adjusted Term SOFR. In addition to the applicable interest rate, the Credit Agreement includes a commitment fee ranging from 0.20% to 0.25% per annum for the unused portion of the aggregate commitment and an applicable margin ranging from 0.00% to 0.50% for Base Rate Loans and 1.00% to 1.50% for Adjusted Term SOFR Loans. At September 30, 2023, these rates were 8.5% and 6.3%, respectively. Both the margin applicable to the interest rate and the commitment fee are dependent on XPEL’s Consolidated Total Leverage Ratio. The Credit Agreement's maturity date is April 6, 2026. All capitalized terms in this description of the credit facility that are not otherwise defined in this report have the meaning assigned to them in the Credit Agreement.
Obligations under the Credit Agreement are secured by a first priority perfected security interest, subject to certain permitted encumbrances, in all of XPEL’s material property and assets.
The terms of the Credit Agreement include certain affirmative and negative covenants that require, among other things, XPEL to maintain legal existence and remain in good standing, comply with applicable laws, maintain accounting records, deliver financial statements and certifications on a timely basis, pay taxes as required by law, and maintain insurance coverage, as well as to forgo certain specified future activities that might otherwise encumber XPEL and certain customary covenants. The Credit Agreement provides for two financial covenants, as follows.
As of the last day of each fiscal quarter:
1.XPEL shall not allow its Consolidated Total Leverage Ratio to exceed 3.50 to 1.00, and
2.XPEL shall not allow its Consolidated Interest Coverage Ratio to be less than 3.00 to 1.00.

The Company also has a CAD $4.5 million (approximately $3.3 million as of September 30, 2023) revolving credit facility through a financial institution in Canada, as maintained by XPEL Canada Corp., a wholly-owned subsidiary of XPEL. This Canadian facility is utilized to fund the Company's working capital needs in Canada. This facility bears interest at HSBC Canada Bank’s prime rate plus 0.25% per annum
12

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
and is guaranteed by the parent company. As of September 30, 2023 and December 31, 2022, no balance was outstanding on this line of credit.
As of September 30, 2023 and December 31, 2022, the Company was in compliance with all debt covenants.


9.    ACCOUNTS PAYABLE AND ACCRUED LIABILITIES
The following table presents significant accounts payable and accrued liability balances as of the periods ending (dollars in thousands):
September 30, 2023December 31, 2022
Trade payables$30,419 $16,689 
Payroll liabilities3,236 3,596 
Contract liabilities5,625 261 
Acquisition holdback payments394 191 
Other liabilities2,385 2,233 
$42,059 $22,970 

10.    FAIR VALUE MEASUREMENTS
ASC 820 prioritizes the inputs to valuation techniques used to measure fair value into the following hierarchy:
Level 1 – Observable inputs such as quoted prices (unadjusted) in active markets for identical assets or liabilities.
Level 2 – Inputs other than the quoted prices in active markets that are observable either directly or indirectly, including: quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active or other inputs that are observable or can be corroborated by observable market data.
Level 3 – Unobservable inputs that are supported by little or no market data and require the reporting entity to develop its own assumptions.
Financial instruments include cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and long-term debt. The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and short-term borrowings approximate fair value because of the near-term maturities of these financial instruments. The carrying value of the Company’s notes payable approximates fair value due to the relatively short-term nature and interest rates of the notes. The carrying value of the Company's long-term debt approximates fair value due to the interest rates being market rates.
The estimated fair value of debt is based on market quotes for instruments with similar terms and remaining maturities.
The Company has contingent liabilities related to future internal performance milestones. The fair value of these liabilities was determined using a Monte Carlo Simulation based on the probability and
13

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
timing of certain future payments under these arrangements. These liabilities are accounted for as Level 3 liabilities within the fair value hierarchy.
Liabilities measured at fair value on a recurring basis as of the dates noted below are as follows (dollars in thousands):
September 30, 2023December 31, 2022
Level 3:
     Contingent Liabilities$1,085 $955 
Increases in the fair value of level 3 contingent liabilities are reflected in general and administrative expenses in the Consolidated Statements of Income for the three and nine months ended September 30, 2023.

11.    COMMITMENTS AND CONTINGENCIES
In the ordinary course of business activities, the Company may be contingently liable for litigation and claims with customers, suppliers and former employees. Management believes that adequate provisions have been recorded in the accounts where required. Management also has determined that the likelihood of any litigation and claims having a material impact on our results of operations, cash flows or financial position is remote.

12.    EARNINGS PER SHARE
We compute basic earnings per share by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share includes effect of granted incremental restricted stock units.
The following table reconciles basic and diluted weighted average shares used in the computation of earnings per share (dollars in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
Numerator2023202220232022
   Net income$13,656 $13,318 $40,830 $33,024 
Denominator
   Weighted average basic shares27,623 27,616 27,620 27,614 
   Dilutive effect of restricted stock units21 4 14 1 
   Weighted average diluted shares27,644 27,620 27,634 27,615 
Earnings per share
   Basic$0.49 $0.48 $1.48 $1.20 
   Diluted$0.49 $0.48 $1.48 $1.20 


13.    BUSINESS ACQUISITIONS
14

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
The Company completed the following acquisition during the nine months ended September 30, 2023 (dollars in thousands):
Acquisition DateName and LocationPurchase PriceAcquisition TypeAcquisition Purpose
May 1, 2023Protective Solutions, Inc. Holliston, Massachusetts, United States$5,502 Share PurchaseMarket Expansion
The following table presents the purchase price allocation for this transaction (dollars in thousands).
(Unaudited)

Protective Solutions, Inc.
Purchase Price
 Cash$5,502 *
Allocation
Cash$411 
Accounts receivable206 
Inventory267 
Prepaid and other assets10 
Fixed assets14 
Trade name150 
Customer relationships2,900 
Goodwill1,875 
Accounts payable and accrued liabilities(331)
$5,502 
* Of this cash consideration, $0.4 million was held back for settlement six months after the acquisition date, pending the completion of certain contractual obligations.
Acquired intangible assets have a weighted average useful life of 9 years. These intangible assets will be amortized on a straight line basis over that period.
Goodwill from this acquisition is deductible for tax purposes. The goodwill represents the acquired employee knowledge of the various markets, distribution knowledge by the employees of the acquired business, as well as the expected synergies resulting from the acquisition.
Acquisition costs incurred related to this acquisition were immaterial and were included in selling, general and administrative expenses.
The acquired company was consolidated into the Company's financial statements on its acquisition date. Revenue of $1.0 million and $1.6 million from this acquisition has been consolidated into the Company's financial statements for the three and nine months ended September 30, 2023, respectively. Net income of $0.3 million and $0.3 million from this acquisition has been consolidated into the Company's financial statements for the three and nine months ended September 30, 2023, respectively.
The following unaudited consolidated pro forma combined financial information presents the Company's results of operations, including the estimated expenses relating to the amortization of
15

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
intangibles purchased, as if this acquisition had occurred on January 1, 2023 and 2022 (dollars in thousands):
Nine Months Ended September 30,
2023 (unaudited)
2022
(unaudited)
Revenue$291,983 $248,899 
Net income$40,863 $33,179 
The unaudited consolidated pro forma combined financial information does not purport to be indicative of the results which would have been obtained had the acquisition been completed as of the beginning of the earliest period presented or of results that may be obtained in the future. In addition, they do not include any benefits that may result from the acquisition due to synergies that may be derived from the elimination of any duplicative costs.

14.    SUBSEQUENT EVENTS
Acquisitions of businesses
On October 1, 2023, we completed the acquisition of a Canadian-based automotive film distribution and installation business serving primarily automotive dealerships. On October 4, 2023, we completed the acquisition of a European-based automotive paint protection film installation company serving two OEMs. The total purchase price for these transactions was approximately $13.4 million. In connection with these acquisitions, we deposited $7.4 million into an escrow account as of September 30, 2023. This deposit is included in prepaid expenses in our September 30, 2023 Condensed Consolidated Balance Sheet.

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

This Management’s Discussion and Analysis provides material historical and prospective disclosures intended to enable investors and other users to assess the financial condition and results of operations of XPEL, Inc. ("we", "our", "us", “XPEL” or the “Company”). Statements that are not historical are forward-looking and involve risks and uncertainties discussed under the heading “Forward-Looking Statements” in this report and under “Business," "Risk Factors,” "Management's Discussion and Analysis of Financial Condition and Results of Operations" and "Financial Statements and Supplementary Data" in the Annual Report which is available on the SEC’s website at www.sec.gov.
Forward-Looking Statements
 This quarterly report on Form 10-Q contains not only historical information, but also 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. These forward-looking statements are subject to the safe harbor created by those sections. In addition, the Company or others on the Company’s behalf may make forward-looking statements from time to time in oral presentations, including telephone conferences and/or web casts open to the public, in press releases or reports, on the Company’s internet web site, or otherwise. All statements other than statements of historical facts included in this report or expressed by the Company orally from time to time that address activities, events, or developments that the Company expects, believes, or anticipates will or may occur in the future are forward-looking statements, including, in particular, the statements about the Company’s plans, objectives, strategies, and
16


prospects regarding, among other things, the Company’s financial condition, results of operations and business, and the outcome of contingencies, such as legal proceedings. The Company has identified some of these forward-looking statements in this report with words like “believe,” “can,” “may,” “could,” “would,” “might,” “forecast,” “possible,” “potential,” “project,” “will,” “should,” “expect,” “intend,” “plan,” “predict,” “anticipate,” “estimate,” “approximate,” “outlook,” or “continue” or the negative of these words or other words and terms of similar meaning. The use of future dates is also an indication of a forward-looking statement. Forward-looking statements may be contained in the notes to the Company’s condensed consolidated financial statements and elsewhere in this report, including under the heading “Management’s Discussion and Analysis of Financial Condition and Results of Operations.”
Forward-looking statements are based on current expectations about future events affecting the Company and are subject to uncertainties and factors that affect all businesses operating in a global market as well as matters specific to the Company. These uncertainties and factors are difficult to predict, and many of them are beyond the Company’s control. Factors to consider when evaluating these forward-looking statements include, but are not limited to:
Our business is highly dependent on automotive sales and production volumes.
We currently rely on one distributor for sales of our products in China.
A material portion of our business is in China, which may be an unpredictable market and is currently suffering trade tensions with the U.S.
We must continue to attract, retain and develop key personnel.
We could be impacted by disruptions in supply.
Our accounting estimates and risk management processes rely on assumptions or models that may prove inaccurate.
We must maintain an effective system of internal control over financial reporting to keep stockholder confidence.
Our industry is highly competitive.
Our North American market is currently designed for the public’s use of car dealerships to purchase automobiles which may dramatically change.
Our revenue could be impacted by growing use of ride-sharing or other alternate forms of car ownership.
We must be effective in developing new lines of business and new products to maintain growth.
Any disruptions in our relationships with independent installers and new car dealerships could harm our sales.
Our strategy related to acquisitions and investments could be unsuccessful or consume significant resources.
We must maintain and grow our network of sales, distribution channels and customer base to be successful.
We are exposed to a wide range of risks due to the multinational nature of our business.
We must continue to manage our rapid growth effectively.
We are subject to claims and litigation in the ordinary course of our business, including product liability and warranty claims.
We must comply with a broad and complicated regime of domestic and international trade compliance, anti-corruption, economic, intellectual property, cybersecurity, data protection and other regulatory regimes.
We may seek to incur substantial indebtedness in the future.
Our growth may be dependent on the availability of capital and funding.
Our Common Stock could decline or be downgraded at any time.
17


Our stock price has been, and may continue to be, volatile.
We may issue additional equity securities that may affect the priority of our Common Stock.
We do not currently pay dividends on our Common Stock.
Shares eligible for future sale may depress our stock price.
Anti-takeover provisions could make a third party acquisition of our Company difficult.
Our directors and officers have substantial control over us.
Our bylaws may limit investors’ ability to obtain a favorable judicial forum for disputes.
The COVID-19 pandemic could materially affect our business.
Our business faces unpredictable global, economic and business conditions, including the risk of inflation in various markets.
We believe the items we have outlined above are important factors that could cause estimates included in our financial statements to differ materially from actual results and those expressed in a forward-looking statement made in this report or elsewhere by us or on our behalf.  We have discussed these factors in more detail in in the Annual Report. These factors are not necessarily all of the factors that could affect us. Unpredictable or unanticipated factors we have not discussed in this report could also have material adverse effects on actual results. We do not intend to update our description of important factors each time a potential important factor arises, except as required by applicable securities laws and regulations. We advise our stockholders that they should (1) be aware that factors not referred to above could affect the accuracy of our forward-looking statements and (2) use caution when considering our forward-looking statements.
Company Overview
Founded in 1997 and incorporated in Nevada in 2003, XPEL has grown from an automotive product design software company to a global provider of after-market automotive products, including automotive surface and paint protection, headlight protection, and automotive window films, as well as a provider of complementary proprietary software. In 2018, we expanded our product offerings to include architectural window film (both commercial and residential) and security film protection for commercial and residential uses, and in 2019 we further expanded our product line to include automotive ceramic coatings.
XPEL began as a software company designing vehicle patterns used to produce cut-to-fit protective film for the painted surfaces of automobiles. In 2007, we began selling automotive surface and paint protection film products to complement our software business. In 2011, we introduced our ULTIMATE protective film product line which, at the time, was the industry’s first protective film with self-healing properties. The ULTIMATE technology allows the protective film to better absorb the impacts from rocks or other road debris, thereby fully protecting the painted surface of a vehicle. The film is described as “self-healing” due to its ability to return to its original state after damage from surface scratches. The launch of the ULTIMATE product catapulted XPEL into several years of strong revenue growth.
Our over-arching strategic philosophy stems from our view that being closer to the end customer in terms of our channel strategy affords us a better opportunity to efficiently introduce new products and deliver tremendous value which, in turn, drives more revenue growth for the Company. Consistent with this philosophy, we have executed on several strategic initiatives including:
2014
We began our international expansion by establishing an office in the United Kingdom.
2015
18


We acquired Parasol Canada, a distributor of our products in Canada.
2016    
We opened our XPEL Netherlands office and established our European headquarters
2017
We continued our international expansion with the acquisition of Protex Canada Corp., or Protex Canada, a leading franchisor of automotive protective film franchises serving Canada
We opened our XPEL Mexico office.
2018
We launched our first product offering outside of the automotive industry, a window and security film protection for commercial and residential uses.
We introduced the next generation of our highly successful ULTIMATE line, ULTIMATE PLUS.
We acquired Apogee Corporation which led to formation of XPEL Asia based in Taiwan.
2019
We were approved for the listing of our stock on Nasdaq trading under the symbol “XPEL”.
2020
We acquired Protex Centre, a wholesale-focused paint protection installation business based in Montreal, Canada.
We expanded our presence in France with the acquisition of certain assets of France Auto Racing.
We expanded our architectural window film presence with the acquisition of Houston-based Veloce Innovation, a leading provider of architectural films for use in residential, commercial, marine and industrial settings.
2021
We expanded our presence into numerous automotive dealerships throughout the United States with the acquisition of PermaPlate Film, LLC, a wholesale-focused automotive window film installation and distribution business based in Salt Lake City, Utah.
We acquired five businesses in the United States and Canada from two sellers as a continuation of our acquisition strategy. These acquisitions allowed us to continue to increase our penetration into mid-range dealerships in the US and solidify our presence in Western Canada.
We acquired invisiFRAME, Ltd, a designer and manufacturer of paint protection film patterns for bicycles, thus further expanding our non-automotive offerings.
2022
We expanded our presence in Australia with the purchase of the paint protection film business of our Australian distributor.
Strategic Overview
XPEL continues to pursue several key strategic initiatives to drive continued growth. Our global expansion strategy includes establishing a local presence where possible, allowing us to better control the
19


delivery of our products and services. We also add locally-based regional sales personnel, leveraging local knowledge and relationships to expand the markets in which we operate.
We seek to increase global brand awareness in strategically important areas, including pursuing high visibility at premium events such as major car shows and high value placement in advertising media consumed by car enthusiasts, to help further expand the Company’s premium brand.
XPEL also continues to expand its delivery channels by acquiring select installation facilities in key markets and acquiring international partners to enhance our global reach. As we expand globally, we strive to tailor our distribution model to adapt to target markets. We believe this flexibility allows us to penetrate and grow market share more efficiently. Our acquisition strategy centers on our belief that the closer the Company is to its end customers, the greater its ability to drive increased product sales. During 2022, we acquired the paint protection film business of our Australian distributor and in May 2023, we acquired a dealership-focused installation business in the greater Boston area in furtherance of this objective.
We also continue to drive expansion of our non-automotive product portfolio. Our architectural window film segment continues to gain traction. We believe there are multiple uses for protective films and we continue to explore those adjacent market opportunities.
Trends and Uncertainties
Macroeconomic uncertainties persist in the U.S. and other parts of the world as inflation, rising interest rates and the changes in value of the U.S. Dollar relative to other major currencies have recently affected the economic environment and consumer behaviors. Additionally, while we have not experienced any material supply chain disruptions directly, the automobile industry has experienced component shortages, increased lead times, cost fluctuations and logistic constraints. Some or all of these could continue throughout the remainder of 2023. This economic uncertainty could impact vehicle sales in the U.S. or other parts of the world, which could adversely affect our business, results of operations and financial condition. See Risk Factors - “We are highly dependent on the automotive industry. A prolonged or material contraction in the automotive sales and production volumes could adversely affect our business, results of operations and financial condition” included in Part I, Item 1A - Risk Factors, in the Annual Report.
On September 15, 2023, the United Automobile, Aerospace and Agricultural Implement Workers of America (“UAW”) initiated a strike at certain U.S. facilities causing work stoppages to some vehicle production and parts distribution activities. UAW reached a tentative settlement with each targeted automaker that still needs to be ratified by its members. If UAW members fail to ratify the new contract and a pro-longed strike or further work stoppages may continue which could have a material adverse impact on inventories at car dealerships which could, in turn, adversely affect our business, results of operations and financial condition. See Risk Factors - “We are highly dependent on the automotive industry. A prolonged or material contraction in the automotive sales and production volumes could adversely affect our business, results of operations and financial condition” included in Part I, Item 1A - Risk Factors, in the Annual Report.
While Russia’s invasion of Ukraine has not had a material direct impact on our business, the nature and degree of the effects of that conflict, as well as the other effects of the current business environment over time remain uncertain. See Risk Factors- “We are exposed to political, regulatory, economic and other risks that arise from operating a multinational business” included in Part I, Item 1A - Risk Factors, in the Annual Report.

20


Key Business Metric - Non-GAAP Financial Measures
Our management regularly monitors certain financial measures to track the progress of our business against internal goals and targets. We believe that the most important measure to the Company is Earnings Before Interest, Taxes, Depreciation, and Amortization (“EBITDA”).
EBITDA is a non-GAAP financial measure. We believe EBITDA provides helpful information with respect to our operating performance as viewed by management, including a view of our business that is not dependent on (i) the impact of our capitalization structure and (ii) items that are not part of our day-to-day operations. Management uses EBITDA (1) to compare our operating performance on a consistent basis, (2) to calculate incentive compensation for our employees, (3) for planning purposes including the preparation of our internal annual operating budget, (4) to evaluate the performance and effectiveness of our operational strategies, and (5) to assess compliance with various metrics associated with the agreements governing our indebtedness. Accordingly, we believe that EBITDA provides useful information in understanding and evaluating our operating performance in the same manner as management. We define EBITDA as net income plus (a) consolidated depreciation and amortization, (b) interest expense, net, and (c) income tax expense.
The following table is a reconciliation of Net Income to EBITDA for the three and nine months ended September 30, 2023 and 2022 (dollars in thousands):
(Unaudited)(Unaudited)
Three Months Ended September 30,Nine Months Ended September 30,
20232022% Change 20232022% Change
Net Income$13,656 $13,318 2.5 %$40,830 $33,024 23.6 %
Interest85 391 (78.3)%946 933 1.4 %
Taxes3,490 3,226 8.2 %10,553 8,302 27.1 %
Depreciation1,199 890 34.7 %3,229 2,486 29.9 %
Amortization1,288 1,117 15.3 %3,660 3,248 12.7 %
EBITDA$19,718 $18,942 4.1 %$59,218 $47,993 23.4 %

Use of Non-GAAP Financial Measures
EBITDA should be considered in addition to, not as a substitute for, or superior to, financial measures calculated in accordance with GAAP. It is not a measurement of our financial performance under GAAP and should not be considered as alternatives to revenue or net income, as applicable, or any other performance measures derived in accordance with GAAP and may not be comparable to other similarly titled measures of other businesses. EBITDA has limitations as an analytical tool and you should not consider it in isolation or as a substitute for analysis of our operating results as reported under GAAP.
EBITDA does not reflect the impact of certain cash charges resulting from matters we consider not to be indicative of ongoing operations; and other companies in our industry may calculate EBITDA differently than we do, limiting its usefulness as a comparative measure.

21


Results of Operations
The following tables summarize the Company’s consolidated results of operations for the three and nine months ended September 30, 2023 and 2022 (dollars in thousands):
Three Months Ended September 30, 2023%
of Total Revenue
Three Months Ended September 30, 2022%
of Total Revenue
$
Change
%
Change
Total revenue$102,677 100.0 %$89,758 100.0 %$12,919 14.4 %
Total cost of sales61,148 59.6 %53,992 60.2 %7,156 13.3 %
Gross margin41,529 40.4 %35,766 39.8 %5,763 16.1 %
Total operating expenses23,900 23.3 %18,459 20.6 %5,441 29.5 %
Operating income17,629 17.2 %17,307 19.3 %322 1.9 %
Other expenses483 0.5 %763 0.9 %(280)(36.7)%
Income tax3,490 3.4 %3,226 3.6 %264 8.2 %
Net income$13,656 13.3 %$13,318 14.8 %$338 2.5 %
Nine Months Ended September 30, 2023%
of Total Revenue
Nine Months Ended September 30, 2022%
of Total Revenue
$
Change
%
Change
Total revenue$290,755 100.0 %$245,512 100.0 %$45,243 18.4 %
Total cost of sales169,273 58.2 %149,046 60.7 %20,227 13.6 %
Gross margin121,482 41.8 %96,466 39.3 %25,016 25.9 %
Total operating expenses68,734 23.6 %53,374 21.7 %15,360 28.8 %
Operating income52,748 18.1 %43,092 17.6 %9,656 22.4 %
Other expenses1,365 0.5 %1,766 0.7 %(401)(22.7)%
Income tax10,553 3.6 %8,302 3.4 %2,251 27.1 %
Net income$40,830 14.0 %$33,024 13.5 %$7,806 23.6 %

The following tables summarize consolidated revenue results for the three and nine months ended September 30, 2023 and 2022 (dollars in thousands):
22


Three Months Ended September 30,%% of Total Revenue
20232022Inc (Dec)20232022
Product Revenue
Paint protection film$58,977 $54,230 8.8 %57.4 %60.4 %
Window film18,762 15,391 21.9 %18.3 %17.1 %
Other3,386 2,995 13.1 %3.3 %3.4 %
Total$81,125 $72,616 11.7 %79.0 %80.9 %
Service Revenue
Software$1,652 $1,351 22.3 %1.6 %1.5 %
Cutbank credits4,524 4,352 4.0 %4.4 %4.8 %
Installation labor14,852 11,067 34.2 %14.5 %12.3 %
Training and other524 372 40.9 %0.5 %0.5 %
Total$21,552 $17,142 25.7 %21.0 %19.1 %
Total$102,677 $89,758 14.4 %100.0 %100.0 %
Nine Months Ended September 30,%% of Total Revenue
20232022Inc (Dec)20232022
Product Revenue
Paint protection film$165,016 $146,465 12.7 %56.8 %59.7 %
Window film54,055 42,711 26.6 %18.6 %17.4 %
Other10,268 8,577 19.7 %3.5 %3.4 %
Total$229,339 $197,753 16.0 %78.9 %80.5 %
Service Revenue
Software$4,656 $3,804 22.4 %1.6 %1.5 %
Cutbank credits13,253 11,459 15.7 %4.6 %4.7 %
Installation labor41,781 31,371 33.2 %14.4 %12.8 %
Training and other1,726 1,125 53.4 %0.5 %0.5 %
Total$61,416 $47,759 28.6 %21.1 %19.5 %
Total$290,755 $245,512 18.4 %100.0 %100.0 %
Because many of our international customers require us to ship their orders to freight forwarders located in the United States, we cannot be certain about the ultimate destination of the product. The following tables represent our estimate of sales by geographic regions based on our understanding of ultimate product destination based on customer interactions, customer locations and other factors for the three and nine months ended September 30, 2023 and 2022 (dollars in thousands):

23


Three Months Ended
September 30,
%% of Total Revenue
20232022Inc (Dec)20232022
United States$59,002 $51,522 14.5 %57.5 %57.4 %
Canada11,471 11,046 3.8 %11.2 %12.3 %
China10,242 11,009 (7.0)%10.0 %12.3 %
Continental Europe8,705 6,065 43.5 %8.5 %6.8 %
Middle East/Africa3,909 3,322 17.7 %3.8 %3.7 %
United Kingdom3,499 2,482 41.0 %3.4 %2.8 %
Asia Pacific3,233 2,540 27.3 %3.1 %2.8 %
Latin America2,325 1,468 58.4 %2.3 %1.6 %
Other291 304 (4.3)%0.2 %0.3 %
Total$102,677 $89,758 14.4 %100.0 %100.0 %
Nine Months Ended September 30,%% of Total Revenue
20232022Inc (Dec)20232022
United States$169,228 $142,275 18.9 %58.2 %58.0 %
Canada31,914 29,773 7.2 %11.0 %12.1 %
China24,992 27,772 (10.0)%8.6 %11.3 %
Continental Europe26,354 18,671 41.1 %9.1 %7.6 %
Middle East/Africa11,514 8,025 43.5 %4.0 %3.3 %
United Kingdom10,220 7,505 36.2 %3.5 %3.1 %
Asia Pacific9,192 6,549 40.4 %3.2 %2.7 %
Latin America6,617 4,033 64.1 %2.3 %1.6 %
Other724 909 (20.4)%0.2 %0.3 %
Total$290,755 $245,512 18.4 %100.0 %100.0 %

Product Revenue. Product revenue for the three months ended September 30, 2023 increased 11.7% over the three months ended September 30, 2022. Product revenue represented 79.0% of our total revenue compared to 80.9% in the three months ended September 30, 2022. Revenue from our paint protection film product line increased 8.8% over the three months ended September 30, 2022. Paint protection film sales represented 57.4% and 60.4% of our total consolidated revenues for the three months ended September 30, 2023 and 2022, respectively. The total increase in paint protection film sales was due to increased demand for our film products across multiple regions partially offset by a decrease in sales to China resulting from lingering impacts of the COVID-19 pandemic.
Revenue from our window film product line grew 21.9% for the three months ended September 30, 2023 compared to the three months ended September 30, 2022. Window film sales represented 18.3% and 17.1% of our total consolidated revenues for the three months ended September 30, 2023 and 2022, respectively. This increase was driven by increased demand resulting from increased channel focus and increased product adoption in multiple regions. Architectural window film revenue increased 49.9% compared to the three months ended September 30, 2022, to $2.7 million, and represented 14.4% of total window film revenue and 2.6% of total revenue for the three months ended September 30, 2023. This increase was driven by demand for our architectural window films as we continue to pursue this large addressable market.
Other product revenue for the three months ended September 30, 2023 increased 13.1% compared to the three months ended September 30, 2022 due mainly to continued demand for non-film related
24


products such as ceramic coating, plotters, chemicals, and other film installation tools and accessories. Our FUSION ceramic coating product revenue grew 34.6% compared to the three months ended September 30, 2022 to $1.5 million. This increase was driven primarily by increased channel focus and increased demand for our ceramic coating products.
Geographically, we saw revenue growth in most regions during the three months ended September 30, 2023. The U.S. region, our largest, grew 14.5%, over the three months ended September 30, 2022, due primarily to increasing attach rates. Outside the U.S., most regions saw strong growth due primarily to increased product awareness and attach rates.
Product revenue for the nine months ended September 30, 2023 increased 16.0% over the nine months ended September 30, 2022. Product revenue represented 78.9% of our consolidated revenue compared to 80.5% in the nine months ended September 30, 2022. Revenue from our paint protection film product line increased 12.7% over the nine months ended September 30, 2022. Paint protection film sales represented 56.8% and 59.7% of our consolidated revenues for the nine months ended September 30, 2023 and 2022, respectively. The increase in paint protection film sales was due to additional sales to both new and existing customers across multiple geographical markets.
Revenue from our window film grew 26.6% compared to the nine months ended September 30, 2022. Window film sales represented 18.6% and 17.4% of our total consolidated revenues for the nine months ended September 30, 2023 and 2022, respectively. This increase was driven by increased demand resulting from increased channel focus and increased product adoption in multiple regions. Architectural window film revenue increased 42.2% compared to the nine months ended September 30, 2022 to $6.4 million and represented 11.9% of total window film revenue and 2.2% of total revenue. This increase was driven by increased demand for our architectural window films.
Other product revenue for the nine months ended September 30, 2023 increased 19.7% compared to the nine months ended September 30, 2022 due mainly to continued demand for non-film related products such as ceramic coating, plotters, chemicals, and other film installation tools and accessories. Our FUSION ceramic coating product revenue grew 53.6% compared to the nine months ended September 30, 2022 to $4.5 million. This increase was driven primarily by increased channel focus and increased demand for our ceramic coating products.
Geographically, we saw revenue growth in most regions during the nine months ended September 30, 2023. The U.S. region, our largest region, grew 18.9% due primarily to increasing attach rates. Outside the U.S., most regions saw strong growth due primarily to increased product awareness and attach rates.
Service revenue. Service revenue consists of revenue from fees for DAP software access, cutbank credit revenue, which represents the value of pattern access provided with eligible product revenue, revenue from the labor portion of installation sales in our Company-owned installation centers, revenue from our dealership services business and revenue from training services provided to our customers.
Service revenue grew 25.7% over the three months ended September 30, 2022. Within this category, software revenue increased 22.3% over the three months ended September 30, 2022. This increase was due to an increase in total subscribers to our DAP software. Cutbank credit revenue increased 4.0% from the three months ended September 30, 2022 due to associated product revenue growth. Installation labor revenue increased 34.2% over the three months ended September 30, 2022 due mainly to increased demand in our Company-owned installation facilities and across our dealership service and OEM networks.
Service revenue for the nine months ended September 30, 2023 grew 28.6% over the nine months ended September 30, 2022. Within this category, software revenue grew 22.4% over the nine months ended September 30, 2022. This increase was due to an increase in total subscribers to our DAP
25


software. Cutbank credit revenue increased 15.7% over the nine months ended September 30, 2022 due to associated product revenue growth. Installation labor increased 33.2% over the nine months ended September 30, 2022 due mainly to increased demand in our Company-owned installation facilities and across our dealership service and OEM networks.
Total installation revenue (labor and product combined) increased 34.2% over the three months ended September 30, 2022. This represented 17.2% and 14.7% of our total consolidated revenue for the three months ended September 30, 2023 and 2022, respectively. This increase was primarily due to increased demand in our Company-owned installation centers and across our dealership service and OEM networks. Total installation revenue increased 33.2% over the nine months ended September 30, 2022. This represented 17.1% and 15.2% of our total consolidated revenue for the nine months ended September 30, 2023 and 2022, respectively. This increase was primarily due to increased demand in our Company-owned installation centers and across our dealership service and OEM networks. Adjusted product revenue, which combines the cutbank credit revenue service component with product revenue, increased 11.3% over the three months ended September 30, 2022. Adjusted product revenue increased 16.0% versus the nine months ended September 30, 2022. For both the three and nine month periods, this growth was due to sustained demand for our various product lines.
Cost of Sales
Cost of sales consists of product costs and the costs to provide our services. Product costs consist of material costs, personnel costs related to warehouse personnel, shipping costs, warranty costs and other related costs to provide products to our customers. Cost of service includes the labor costs associated with installation of product in our installation facilities, costs of labor associated with pattern design for our cutting software and the costs incurred to provide training for our customers.
Product costs for the three months ended September 30, 2023 increased 9.9% over the three months ended September 30, 2022. Cost of product sales represented 50.5% and 52.6% of total revenue in the three months ended September 30, 2023 and 2022, respectively. Cost of service revenue grew 37.0% during the three months ended September 30, 2023. For both product and service, cost of sales increased commensurate with the related growth in revenue. Refer to the Gross Margin section below for discussion of this cost relative to revenue.
Product costs for the nine months ended September 30, 2023 increased 10.8% over the nine months ended September 30, 2022. Cost of product sales represented 49.4% and 52.8% of total revenue in the nine months ended September 30, 2023 and 2022, respectively. Cost of service revenue grew 32.3% during the nine months ended September 30, 2023. For both product and service, cost of sales increased commensurate with the related growth in revenue. Refer to the Gross Margin section below for discussion of this cost relative to revenue.
Gross Margin
Gross margin for the three months ended September 30, 2023 grew approximately $5.8 million, or 16.1%, compared to the three months ended September 30, 2022. For the three months ended September 30, 2023, gross margin represented 40.4% of revenue compared to 39.8% for the three months ended September 30, 2022
Gross margin for the nine months ended September 30, 2023 grew approximately $25.0 million, or 25.9%, compared to the nine months ended September 30, 2022. For the nine months ended September 30, 2023, gross margin represented 41.8% of revenue compared to 39.3% for the nine months ended September 30, 2022.
The following tables summarize gross margin for products and services for the three and nine months ended September 30, 2023 and 2022 (dollars in thousands):
26


Three Months Ended September 30,%% of Category Revenue
20232022Inc (Dec)20232022
Product $29,249 $25,391 15.2 %36.1 %35.0 %
Service 12,280 10,375 18.4 %57.0 %60.5 %
Total$41,529 $35,766 16.1 %40.4 %39.8 %
Nine Months Ended September 30,%% of Category Revenue
20232022Inc (Dec)20232022
Product $85,726 $68,107 25.9 %37.4 %34.4 %
Service 35,756 28,359 26.1 %58.2 %59.4 %
Total$121,482 $96,466 25.9 %41.8 %39.3 %
Product gross margin for the three months ended September 30, 2023 increased approximately $3.9 million, or 15.2%, over the three months ended September 30, 2022 and represented 36.1% and 35.0% of total product revenue for the three months ended September 30, 2023 and 2022, respectively. This increase in margin was due primarily to decreases in product costs and improved operating leverage.
Product gross margin for the nine months ended September 30, 2023 increased approximately $17.6 million, or 25.9%, over the nine months ended September 30, 2022 and represented 37.4% and 34.4% of total product revenue for the nine months ended September 30, 2023 and 2022, respectively. This increase in margin was due primarily to decreases in product costs and improved operating leverage.
Service gross margin increased approximately $1.9 million, or 18.4%, over the three months ended September 30, 2022. This represented 57.0% and 60.5% of total service revenue for the three months ended September 30, 2023 and 2022, respectively. The decrease in service gross margin percentage for the three months ended September 30, 2022 was primarily due to a higher percentage of lower margin service revenue mix relative to other higher margin service revenue components in the prior year period.
Service gross margin increased approximately $7.4 million, or 26.1%, over the nine months ended September 30, 2022. This represented 58.2% and 59.4% of total service revenue for the nine months ended September 30, 2023 and 2022, respectively. This was primarily due to a higher percentage of lower margin service revenue mix relative to other higher margin service revenue components in the prior year period.
Operating Expenses
Sales and marketing expenses for the three months ended September 30, 2023 increased 22.8% compared to the same period in 2022. This increase was due to increased personnel and marketing costs incurred to support the ongoing growth of the business. These expenses represented 7.5% and 7.0% of total consolidated revenue for the three months ended September 30, 2023 and 2022, respectively.
For the nine months ended September 30, 2023, sales and marketing expenses increased 21.8% compared to the same period in 2022. This increase was due to increased personnel and marketing costs incurred to support the ongoing growth of the business. These expenses represented 7.8% and 7.5% of total consolidated revenue for the nine months ended September 30, 2023 and 2022, respectively.
General and administrative expenses grew approximately $4.0 million, or 33.0% over the three months ended September 30, 2022. This increase in cost was due primarily to increases in personnel, occupancy costs and professional fees to support our ongoing growth. These costs represented 15.7%
27


and 13.6% of total consolidated revenue for the three months ended September 30, 2023 and 2022, respectively.
General and administrative expenses grew approximately $11.3 million, or 32.5% over the nine months ended September 30, 2022. This increase in cost was due primarily to increases in personnel, occupancy costs and professional fees to support our ongoing growth. These costs represented 15.9% and 14.2% of total consolidated revenue for the nine months ended September 30, 2023 and 2022, respectively.
Income Tax Expense
Income tax expense for the three months ended September 30, 2023 increased $0.3 million from the three months ended September 30, 2022. Our effective tax rate was 20.4% for the three months ended September 30, 2023 compared with 19.5% for the three months ended September 30, 2022.
Income tax expense for the nine months ended September 30, 2023 increased $2.3 million from the same period in 2022, Our effective tax rate was 20.5% for the nine months ended September 30, 2023 compared with 20.1% for the nine months ended September 30, 2022.
Net income for the three months ended September 30, 2023 increased 2.5% to $13.7 million.
Net income for the nine months ended September 30, 2023 increased 23.6% to $40.8 million.

Liquidity and Capital Resources
Our primary sources of liquidity are available cash and cash equivalents, cash flows provided by operations and borrowings under our credit facilities. As of September 30, 2023, we had cash and cash equivalents of $10.4 million. For the nine months ended September 30, 2023, cash provided by operations was $38.5 million. We currently have $128.3 million of credit available ($125.0 million under the Credit Agreement and CAD $4.5 ($3.3 million) under our Canadian credit facility) to us under our committed credit facilities. We expect available cash, internally generated funds, and borrowings from our committed credit facilities to be sufficient to support working capital needs, capital expenditures (including acquisitions), and our debt service obligations. We are focused on continuing to generate positive operating cash to fund our operational and capital investment initiatives. We believe we have sufficient liquidity to operate for at least the next 12 months from the date of filing this report.
Operating activities. Cash provided by operations for the nine months ended September 30, 2023 was $38.5 million compared to $9.7 million during the nine months ended September 30, 2022. Included in cash provided from operating activities for the nine months ended September 30, 2023 was a one-time payment of $7.4 million related to an acquisition that closed in October (see Note 14). Excluding that payment, cash provided from operations would have been $45.9 million for the 2023 period. The increase was due mainly to growth in net income and changes in other working capital items including reductions in inventory purchases and increases in accounts payable due to payment cycle timing.
Investing activities. Cash used in investing activities totaled approximately $10.2 million during the nine months ended September 30, 2023 compared to $9.8 million during the nine months ended September 30, 2022. This was due primarily to higher acquisition-related payments made during 2023.
Financing activities. Cash flows used in financing activities during the nine months ended September 30, 2023 totaled $26.2 million compared to cash flows provided by financing activities during the same period in the prior year of $0.7 million. This change was due primarily to repayments on our committed credit facility in 2023 as compared to borrowings in the prior year.
28


Debt and contingent obligations as of September 30, 2023 and December 31, 2022 totaled approximately $1.1 million and $27.0 million, respectively.
Future liquidity and capital resource requirements
We expect to fund ongoing operating expenses, capital expenditures, acquisitions, interest payments, tax payments, credit facility maturities, future lease obligations, and payments for other long-term liabilities with cash flow from operations and borrowings under our credit facilities. In the short-term, we are contractually obligated to make lease payments and make payments on contingent liabilities related to certain completed acquisitions in the event they are earned. In the long-term, we are contractually obligated to make lease payments, payments for contingent liabilities, and repayments of borrowings on our line of credit. We believe that we have sufficient cash and cash equivalents, as well as borrowing capacity, to cover our estimated short-term and long-term funding needs.
Credit Facilities
The Company has a revolving credit facility providing for secured revolving loans and letters of credit in an aggregate amount of up to $125.0 million. As of September 30, 2023, no balance was outstanding under this agreement. Borrowings under this facility are subject to the terms of the Credit Agreement.
Borrowings under the Credit Agreement bear interest, at XPEL’s option, at a rate equal to either (a) Base Rate or (b) Adjusted Term SOFR. In addition to the applicable interest rate, the Credit Agreement includes a commitment fee ranging from 0.20% to 0.25% per annum for the unused portion of the aggregate commitment and an applicable margin ranging from 0.00% to 0.50% for Base Rate Loans and 1.00% to 1.50% for Adjusted Term SOFR Loans. At September 30, 2023, these rates were 8.5% and 6.3%, respectively. Both the margin applicable to the interest rate and the commitment fee are dependent on XPEL’s Consolidated Total Leverage Ratio. The Credit Agreement's maturity date is April 6, 2026. All capitalized terms in this description of the credit facility that are not otherwise defined in this report have the meaning assigned to them in the Credit Agreement.
Obligations under the Credit Agreement are secured by a first priority perfected security interest, subject to certain permitted encumbrances, in all of XPEL’s material property and assets.
The terms of the Credit Agreement include certain affirmative and negative covenants that require, among other things, XPEL to maintain legal existence and remain in good standing, comply with applicable laws, maintain accounting records, deliver financial statements and certifications on a timely basis, pay taxes as required by law, and maintain insurance coverage, as well as to forgo certain specified future activities that might otherwise encumber XPEL and certain customary covenants. The Credit Agreement provides for two financial covenants, as follows.
As of the last day of each fiscal quarter:
1.XPEL shall not allow its Consolidated Total Leverage Ratio to exceed 3.50 to 1.00, and
2.XPEL shall not allow its Consolidated Interest Coverage Ratio to be less than 3.00 to 1.00.

The Company also has a CAD $4.5 million revolving credit facility through a financial institution in Canada, as maintained by XPEL Canada Corp., a wholly-owned subsidiary of XPEL. This Canadian facility is utilized to fund the Company's working capital needs in Canada. This facility bears interest at HSBC Canada Bank’s prime rate plus 0.25% per annum and is guaranteed by the parent company. As of September 30, 2023 and December 31, 2022, no balance was outstanding on this line of credit.

29


Critical Accounting Policies
There have been no material changes to the Company’s critical accounting estimates from the information provided in the Annual Report.

Related Party Relationships
There are no family relationships between or among any of our directors or executive officers. There are no arrangements or understandings between any two or more of our directors or executive officers, and there is no arrangement, plan or understanding as to whether non-management stockholders will exercise their voting rights to continue to elect the current Board. There are also no arrangements, agreements or understandings between non-management stockholders that may directly or indirectly participate in or influence the management of our affairs.

Item 3. Quantitative and Qualitative Disclosures about Market Risk

We have operations that expose us to currency risk in the British Pound Sterling, the Canadian Dollar, the Euro, the Mexican Peso, the New Taiwanese Dollar, and the Australian Dollar. Amounts invested in our foreign operations are translated into U.S. Dollars at the exchange rates in effect at the balance sheet date. The resulting translation adjustments are recorded as accumulated other comprehensive loss, a component of stockholders’ equity in our condensed consolidated balance sheets. We do not currently hedge our exposure to potential foreign currency translation adjustments.
Borrowings under our revolving lines of credit are subject to market risk resulting from changes in interest rates related to our floating rate bank credit facilities. For such borrowings, a hypothetical 200 basis point increase in variable interest rates may result in a material impact to our financial statements. We do not currently have any derivative contracts to hedge our exposure to interest rate risk. During each of the periods presented, we have not experienced a significant effect on our business due to changes in interest rates.
If our costs were to become subject to significant inflationary pressures, we may not be able to fully offset such higher costs through price increases. Our inability or failure to do so could adversely affect our business, financial condition and results of operations.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures
We have established and maintain a system of disclosure controls and procedures that are designed to provide reasonable assurance that information required to be disclosed in our reports filed with the SEC pursuant to the Securities Exchange Act of 1934, as amended ("Exchange Act"), is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC and that such information is accumulated and communicated to our management, including our Chief Executive Officer (“CEO”) and Chief Financial Officer (“CFO”), as appropriate, to allow timely decisions regarding required disclosures.
Management, with the participation of our CEO and CFO, has evaluated the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) of the Exchange Act) as of the end of the period covered by this report.  Based on such
30


evaluation, our CEO and CFO have each concluded that as of the end of the period covered by this report, our disclosure controls and procedures were effective to provide reasonable assurance that information required to be disclosed by us in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms and that such information is accumulated and communicated to our management, including the CEO and CFO, as appropriate, to allow timely decisions regarding required disclosures.
Our disclosure controls and procedures are designed to provide reasonable assurance of achieving their objectives as specified above. Management does not expect, however, that our disclosure controls and procedures will prevent or detect all error and fraud. Any control system, no matter how well designed and operated, is based upon certain assumptions and can provide only reasonable, not absolute, assurance that its objectives will be met. Further, no evaluation of controls can provide absolute assurance that misstatements due to error or fraud will not occur or that all control issues and instances of fraud, if any, within the Company have been detected.
Changes in Internal Control over Financial Reporting
There were no changes in our internal control over financial reporting that occurred during the last fiscal quarter that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Part II. Other Information

Item 1. Legal Proceedings
From time to time, we are made parties to actions filed or have been given notice of potential claims relating to the ordinary conduct of our business, including those pertaining to commercial disputes, product liability, patent infringement and employment matters.
While we believe that a material impact on our financial position, results of operations or cash flows from any such future claims or potential claims is unlikely, given the inherent uncertainty of litigation, it is possible that an unforeseen future adverse ruling or unfavorable development could result in future charges that could have a material adverse impact. We do and will continue to periodically reexamine our estimates of probable liabilities and any associated expenses and receivables and make appropriate adjustments to such estimates based on experience and developments in litigation. As a result, the current estimates of the potential impact on our financial position, results of operations and cash flows for the proceedings and claims described in the notes to our consolidated financial statements could change in the future.

Item 1A. Risk Factors
There have been no material changes to the risk factors disclosed in Part I, Item IA of the Annual Report.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds
None.

Item 3. Defaults Upon Senior Securities
31


Not applicable.

Item 4. Mine Safety Disclosures
Not applicable.

Item 5. Other Information
On August 31, 2023, Richard Crumly, Director of the Company, adopted a 10b5-1 plan. This plan allows for Mr. Crumly's orderly disposition of 316,912 shares of the Company's Common Stock during the period from December 1, 2023 to December 31, 2024.

Item 6. Exhibits
The following exhibits are being filed or furnished with this quarterly report on Form 10-Q:
Exhibit No.DescriptionMethod of Filing
31.1Filed herewith
   
31.2Filed herewith
   
32.1Furnished herewith
32.2Furnished herewith
   
101The following materials from XPEL’s Quarterly Report on Form 10-Q for the fiscal quarter ended June 30, 2021, formatted in XBRL (Extensible Business Reporting Language): (i) the unaudited Consolidated Balance Sheets, (ii) the unaudited Consolidated Statements of Operations, (iii) the unaudited Consolidated Statements of Comprehensive Income, (iv) the unaudited Consolidated Statements of  Equity, (v) the unaudited Consolidated Statements of Cash Flows, and (vi) Notes to Consolidated Financial StatementsFiled herewith


SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
32


 XPEL, Inc. (Registrant)
  
 By:/s/ Barry R. Wood
 Barry R. Wood
 Senior Vice President and Chief Financial Officer
November 8, 2023(Authorized Officer and Principal Financial and Accounting Officer)
33
EX-31.1 2 a2023q3exhibitno311.htm EX-31.1 Document

EXHIBIT 31.1
 
CERTIFICATION PURSUANT TO SECTION 302(A) OF THE SARBANES-OXLEY ACT OF 2002
 

I, Ryan L. Pape, certify that:
 
Date: November 8, 2023


1.I have reviewed this Quarterly Report on Form 10-Q of XPEL, 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: November 8, 2023
/s/ Ryan L. Pape
Ryan L. Pape
President and Chief Executive Officer
(Principal Executive Officer)



EX-31.2 3 a2023q3exhibitno312.htm EX-31.2 Document

EXHIBIT 31.2
 
CERTIFICATION PURSUANT TO SECTION 302(A) OF THE SARBANES-OXLEY ACT OF 2002

 
I, Barry R. Wood, certify that:

Date: November 8, 2023

1.I have reviewed this Quarterly Report on Form 10-Q of XPEL, 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: November 8, 2023
/s/ Barry R. Wood 
Barry R. Wood
Senior Vice President and Chief Financial Officer
(Principal Financial Officer)



EX-32.1 4 a2023q3exhibitno321.htm EX-32.1 Document

EXHIBIT 32.1
 
CERTIFICATION PURSUANT TO
18 U.S.C. 1350
(SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002)
 
I, Ryan L. Pape, President and Chief Executive Officer of XPEL, Inc. (the “Company”), certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that, to my knowledge:
 
(1) the Quarterly Report on Form 10-Q of the Company for the quarterly period ended September 30, 2023 (the “Report”) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m(a) or 78o(d)); and
 
(2) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
This certificate is being furnished solely for the purposes of 18 U.S.C. Section 1350 and is not being filed as part of the Report or as a separate disclosure document.
Date: November 8, 2023
/s/ Ryan L. Pape
Ryan L. Pape
President and Chief Executive Officer



EX-32.2 5 a2023q3exhibitno322.htm EX-32.2 Document

EXHIBIT 32.2
 
CERTIFICATION PURSUANT TO
18 U.S.C. 1350
(SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002)
 
I, Barry R.Wood, Senior Vice President and Chief Financial Officer of XPEL, Inc. (the “Company”), certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that, to my knowledge:
 
(1) the Quarterly Report on Form 10-Q of the Company for the quarterly period ended September 30, 2023 (the “Report”) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m(a) or 78o(d)); and
 
(2) the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
 
This certificate is being furnished solely for the purposes of 18 U.S.C. Section 1350 and is not being filed as part of the Report or as a separate disclosure document.
Date: November 8, 2023
/s/ Barry R. Wood
Barry R. Wood
Senior Vice President and Chief Financial Officer


EX-101.SCH 6 xpel-20230930.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Condensed Consolidated Statements of Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Condensed Consolidated Statements of Changes in Stockholders’ Equity (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - INTERIM FINANCIAL INFORMATION link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - REVENUE link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - PROPERTY AND EQUIPMENT, NET link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - INTANGIBLE ASSETS, NET link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - GOODWILL link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - DEBT link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - EARNINGS PER SHARE link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - BUSINESS ACQUISITIONS link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - REVENUE (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - PROPERTY AND EQUIPMENT, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - INTANGIBLE ASSETS, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - GOODWILL (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - EARNINGS PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - BUSINESS ACQUISITIONS (Tables) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - REVENUE - Transactions Within Contract Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - REVENUE - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - REVENUE - Revenue Estimate By Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - REVENUE - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - PROPERTY AND EQUIPMENT, NET - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - INTANGIBLE ASSETS, NET - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - GOODWILL - Schedule of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - GOODWILL - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - DEBT (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - FAIR VALUE MEASUREMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - EARNINGS PER SHARE (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Business Combinations Complete by Year-End (Details) (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Acquisition Purchase Price (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - BUSINESS ACQUISITIONS - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Pro Forma Results (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - SUBSEQUENT EVENTS (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 xpel-20230930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 xpel-20230930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 xpel-20230930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred income taxes Deferred Income Taxes and Tax Credits Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Variable Rate [Domain] Variable Rate [Domain] Pay vs Performance Disclosure [Line Items] Latin America Latin America [Member] Statistical Measurement [Domain] Statistical Measurement [Domain] Maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Changes in assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Cash Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents All Award Types Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Acquisition holdback payments Acquisition Holdback Payments, Current Acquisition Holdback Payments, Current Line of credit facility, interest rate Line of Credit Facility, Interest Rate at Period End DEBT Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Cash Payments to Acquire Businesses, Gross Schedule of Preliminary Purchase Price Allocation Acquisition Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Revolving Credit Facility Revolving Credit Facility [Member] Foreign exchange impact on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Deferred tax liability, net Deferred Income Tax Liabilities, Net MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Computer equipment Computer Equipment [Member] Acquisitions net income Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual Restatement Determination Date: Restatement Determination Date [Axis] Commitments and Contingencies (Note 11) Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Allocation Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Other Other Geographic Region [Member] Other Geographic Region [Member] Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] Geographical [Axis] Geographical [Axis] Payments Standard and Extended Product Warranty Accrual, Decrease for Payments Covenant, interest coverage ratio, minimum Debt Instrument, Covenant, Leverage Ratio, Minimum Debt Instrument, Covenant, Leverage Ratio, Minimum Net (repayments of) borrowings on revolving credit agreement Proceeds from (Repayments of) Lines of Credit Warranties assumed in period Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Customer [Axis] Customer [Axis] Current Liabilities, Current [Abstract] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.001 par value; authorized 10,000,000; none issued and outstanding Preferred Stock, Value, Issued Business Acquisition [Line Items] Business Acquisition [Line Items] Subsequent Event Type [Domain] Subsequent Event Type [Domain] Diluted (in dollars per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Goodwill [Roll Forward] Goodwill [Roll Forward] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Fair Value, Inputs, Level 3 Fair Value, Inputs, Level 3 [Member] Line of Credit Line of Credit [Member] Trading Symbol Trading Symbol Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Non-compete Noncompete Agreements [Member] Net income Net income Net income Net Income (Loss) Total current liabilities Liabilities, Current Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Accretion on notes payable Amortization of Debt Discount (Premium) Non-cash lease financing Lease Obligation Incurred Stockholders’ equity Equity, Attributable to Parent [Abstract] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Other Other Intangible Assets [Member] Schedule of Earnings Per Share, Basic and Diluted Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Total cost of sales Cost of Goods and Services Sold Fixed assets Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Fixed Assets Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Fixed Assets Executive Category: Executive Category [Axis] Weighted average useful life Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life SIGNIFICANT ACCOUNTING POLICIES Significant Accounting Policies [Text Block] Name Measure Name Name Forgone Recovery, Individual Name Goodwill Goodwill beginning balance Goodwill ending balance Goodwill Schedule of Property, Plant and Equipment Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Underlying Securities Award Underlying Securities Amount Prepaid and other assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets Entity Small Business Entity Small Business Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Forecast Forecast [Member] Measurement Frequency [Axis] Measurement Frequency [Axis] Non-current portion of lease liabilities Operating Lease, Liability, Noncurrent Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Depreciation of property, plant and equipment Depreciation expense Depreciation Trademarks Trademarks [Member] Middle East/Africa Middle East, Africa [Member] Middle East, Africa [Member] Line of Credit Facility [Table] Line of Credit Facility [Table] Schedule of Completed Acquisitions Schedule of Business Acquisitions, by Acquisition [Table Text Block] Continental Europe Europe [Member] Income tax payable Accrued Income Taxes, Current Schedule of Accounts Payable and Accrued Liabilities Schedule of Accounts Payable and Accrued Liabilities [Table Text Block] Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventory, net Increase (Decrease) in Inventories Cash flows used in investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Award Type Award Type [Axis] Cost of Sales Cost of Goods and Services Sold [Abstract] Document Quarterly Report Document Quarterly Report Interest expense Interest Expense Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Total property and equipment Property, Plant and Equipment, Gross Trading Arrangement: Trading Arrangement [Axis] Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Long-term Debt, Type [Domain] Long-Term Debt, Type [Domain] Entity File Number Entity File Number Covenant, leverage ratio, maximum Debt Instrument, Covenant, Interest Coverage Ratio, Maximum Debt Instrument, Covenant, Interest Coverage Ratio, Maximum Current portion of lease liabilities Operating Lease, Liability, Current Income tax receivable and payable Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable Amortization of intangible assets Amortization of Intangible Assets Entity Shell Company Entity Shell Company Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Recently Adopted Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Intangible assets, net Intangible assets, net Finite-Lived Intangible Assets, Net Restatement Determination Date Restatement Determination Date Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents at beginning of period Cash and cash equivalents at end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Less: Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Denominator Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Common stock shares issued (in shares) Common Stock, Shares, Issued Purchase Price Business Combination, Consideration Transferred Gross Margin Gross Profit Commitment fee percentage Line of Credit Facility, Commitment Fee Percentage Beginning contract liabilities Ending contract liabilities Contract liabilities Contract with Customer, Liability, Current Security Exchange Name Security Exchange Name Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Employee Stock Option Employee Stock Option [Member] Other Product Revenue, Other [Member] Product, Other [Member] Maximum Maximum [Member] Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Document Type Document Type Additions and purchase price allocation adjustments Goodwill, Acquired During Period Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One Cutbank credits Service Revenue, Cutbank Credits [Member] Service, Cutbank Credits [Member] Subsequent Event [Table] Subsequent Event [Table] Training and other Service Revenue, Other [Member] Service Revenue, Other Net change in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Business Acquisition [Axis] Business Acquisition [Axis] Fair Value, Option, Quantitative Disclosures [Line Items] Fair Value, Option, Quantitative Disclosures [Line Items] Allowance for doubtful accounts included in accounts receivable Accounts Receivable, Allowance for Credit Loss, Current Subsequent Event Subsequent Event [Member] Number of covenants Debt Instrument, Number Of Covenants Debt Instrument, Number Of Covenants Customer Concentration Risk Customer Concentration Risk [Member] Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Variable Rate [Axis] Variable Rate [Axis] Accounts payable and accrued liabilities Increase (Decrease) in Accounts Payable and Accrued Liabilities Income Statement [Abstract] Income Statement [Abstract] Raw materials Inventory, Raw Materials, Net of Reserves Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] BUSINESS ACQUISITIONS Business Combination Disclosure [Text Block] Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Net income Business Acquisition, Pro Forma Net Income (Loss) Plotters Computer Equipment, Plotter [Member] Computer Equipment, Plotter [Member] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Entity Tax Identification Number Entity Tax Identification Number Foreign Exchange Goodwill, Foreign Currency Translation Gain (Loss) Inventories Inventories Inventory, Net Borrowings on line of credit Long-Term Line of Credit, Noncurrent Statistical Measurement [Axis] Statistical Measurement [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Total Shareholder Return Amount Total Shareholder Return Amount Product Revenue Product [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Supplemental schedule of non-cash activities Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract] Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Protective Solutions, Inc. Protective Solutions, Inc. [Member] Protective Solutions, Inc. Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Revenue recognition Revenue from Contract with Customer [Policy Text Block] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current Assets, Current [Abstract] Other liabilities Accounts Payable and Other Accrued Liabilities, Current Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Cash flows from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] Common stock shares outstanding (in shares) Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding PEO PEO [Member] HSBC Bank Canada HSBC Bank Canada [Member] HSBC Bank Canada [Member] Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Installation labor Service Revenue, Installation Labor [Member] Service, Installation Labor [Member] Foreign currency translation Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Effect of foreign currency translation Contract with Customer, Liability, Foreign Currency Translation Contract with Customer, Liability, Foreign Currency Translation Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Customer [Domain] Customer [Domain] Schedule of Inventory Schedule of Inventory, Current [Table Text Block] Window film Product Revenue, Window Film [Member] Product, Window Film [Member] Acquisitions revenue Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Credit Facility [Axis] Credit Facility [Axis] Accounts Payable and Accrued Liabilities [Abstract] Accounts Payable and Accrued Liabilities [Abstract] Total liabilities Liabilities Service Revenue Service [Member] INTERIM FINANCIAL INFORMATION Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Inventory Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Measurement Frequency [Domain] Measurement Frequency [Domain] PROPERTY AND EQUIPMENT, NET Property, Plant and Equipment Disclosure [Text Block] All Executive Categories All Executive Categories [Member] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] ACCOUNTS PAYABLE AND ACCRUED LIABILITIES Accounts Payable and Accrued Liabilities Disclosure [Text Block] Debt Disclosure [Abstract] Debt Disclosure [Abstract] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Canada CANADA Earnings Per Share [Abstract] Subsequent Event [Line Items] Subsequent Event [Line Items] Sales and marketing Selling and Marketing Expense Common stock, $0.001 par value; 100,000,000 shares authorized; 27,628,953 and 27,616,064 issued and outstanding, respectively Common Stock, Value, Issued General and administrative General and Administrative Expense China CHINA Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Trade names Trade Names [Member] Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Weighted Average Number of Common Shares Earnings Per Share, Basic and Diluted, Other Disclosure [Abstract] Earnings Per Share, Basic and Diluted, Other Disclosure Segment Reporting Segment Reporting, Policy [Policy Text Block] Total current assets Assets, Current Schedule of Fair Value, Liabilities Measured on Recurring Basis Fair Value, Liabilities Measured on Recurring Basis [Table Text Block] Contingent Liabilities Business Combination, Contingent Consideration, Liability Revenue Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Supplemental cash flow information Supplemental Cash Flow Information [Abstract] Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Trade payables Accounts Payable, Trade, Current PEO Name PEO Name Concentration risk percentage Concentration Risk, Percentage Asia Pacific Asia Pacific [Member] Preferred stock shares authorized (in shares) Preferred Stock, Shares Authorized Base Rate Base Rate [Member] Schedule of Goodwill Schedule of Goodwill [Table Text Block] Preferred stock shares outstanding (in shares) Preferred Stock, Shares Outstanding Accounts Receivable Accounts Receivable [Policy Text Block] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Stock-based compensation APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Furniture and fixtures Furniture and Fixtures [Member] Accounts payable and accrued liabilities Accounts payable and accrued liabilities Accounts Payable and Accrued Liabilities, Current Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Warranty liability Warranty liability, beginning balance Warranty liability, ending balance Standard and Extended Product Warranty Accrual Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Business Combination and Asset Acquisition [Abstract] Total stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Revenue Business Acquisition, Pro Forma Revenue Revenue recognized related to payments Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Subsequent Events [Abstract] Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Development of intangible assets Payments to Acquire Intangible Assets Fair Value Measurements Fair Value Measurement, Policy [Policy Text Block] Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Preferred stock shares issued (in shares) Preferred Stock, Shares Issued Entity Emerging Growth Company Entity Emerging Growth Company United Kingdom UNITED KINGDOM Schedule of Product Warranty Liability Schedule of Product Warranty Liability [Table Text Block] Accounts payable and accrued liabilities Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Accounts Payable And Accrued Liabilities Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Accounts Payable And Accrued Liabilities Provisions and Warranties Standard Product Warranty, Policy [Policy Text Block] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Intangible assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Document Fiscal Period Focus Document Fiscal Period Focus Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Schedule of Revenue Estimate by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Common Stock Common Stock [Member] Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code EARNINGS PER SHARE Earnings Per Share [Text Block] Product and Service [Axis] Product and Service [Axis] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Minimum Minimum [Member] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Foreign currency exchange loss Gain (Loss), Foreign Currency Transaction, before Tax Restricted stock withholding taxes paid in lieu of issued shares Payment, Tax Withholding, Share-Based Payment Arrangement Liabilities Liabilities [Abstract] Net income Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Cash paid for income taxes Income Taxes Paid, Net Net cash (used in) provided by financing activities Net Cash Provided by (Used in) Financing Activities COMMITMENTS AND CONTINGENCIES Commitments and Contingencies Disclosure [Text Block] Retained Earnings Retained Earnings [Member] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and stockholders’ equity Liabilities and Equity Other non-current assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Basic (in dollars per share) Earnings Per Share, Basic Right-of-use lease assets Operating Lease, Right-of-Use Asset Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Earnings per share Earnings (Loss) Per Share [Abstract] Earnings (Loss) Per Share Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Richard Crumly [Member] Richard Crumly Software Service Revenue, Software [Member] Service, Software [Member] Issuance of common stock for vested restricted stock units Stock Issued Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Additions and purchase price allocation adjustments Goodwill, Purchase Accounting Adjustments Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Termination Date Trading Arrangement Termination Date Common stock shares authorized (in shares) Common Stock, Shares Authorized Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Adjustments to reconcile net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] Current portion of notes payable Notes Payable, Current All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Automotive OEM Paint Protection Film Automotive OEM Paint Protection Film [Member] Automotive OEM Paint Protection Film Compensation Amount Outstanding Recovery Compensation Amount Escrow deposit Escrow Deposit SOFR Secured Overnight Financing Rate (SOFR) [Member] Secured Overnight Financing Rate (SOFR) Bad debt expense Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in-capital Additional Paid in Capital Subsequent Event Type [Axis] Subsequent Event Type [Axis] Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Change in Contract with Customer, Liability [Abstract] Change in Contract with Customer, Liability [Abstract] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Insider Trading Arrangements [Line Items] Stock-based compensation (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] Entity Registrant Name Entity Registrant Name Award Timing Method Award Timing Method [Text Block] Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Dilutive effect of restricted stock units (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Adjustment to Compensation, Amount Adjustment to Compensation Amount Proceeds from sale of property and equipment Proceeds from Sale of Property, Plant, and Equipment Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Adoption Date Trading Arrangement Adoption Date Less: accumulated depreciation Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Revenue from Contract with Customer Benchmark Revenue from Contract with Customer Benchmark [Member] Schedule of Pro Forma Information Business Acquisition, Pro Forma Information [Table Text Block] Entity Central Index Key Entity Central Index Key Payments received for which performance obligations have not been satisfied Contract With Customer, Liability, Increase From Cash Receipts Contract With Customer, Liability, Increase From Cash Receipts Gain on sale of property and equipment, net Gain (Loss) on Disposition of Property Plant Equipment Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Numerator Net Income (Loss) Available to Common Stockholders, Diluted [Abstract] Total cost Finite-Lived Intangible Assets, Gross Income tax expense Income Tax Expense (Benefit) Finished goods Inventory, Finished Goods, Net of Reserves Purchase Price Asset Acquisition [Abstract] Accounts receivable Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables Payroll liabilities Employee-related Liabilities, Current FAIR VALUE MEASUREMENTS Fair Value Disclosures [Text Block] Largest Customers Largest Customer [Member] Largest Customer [Member] Number of operating segments Number of Operating Segments Name Trading Arrangement, Individual Name Schedule of Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Lender Name [Axis] Lender Name [Axis] INVENTORIES Inventory Disclosure [Text Block] Total net assets acquired Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net Total revenue Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Long-term Debt, Type [Axis] Long-Term Debt, Type [Axis] Paint protection film Product Revenue, Paint Protection Film [Member] Product, Paint Protection Film [Member] Amendment Flag Amendment Flag INTANGIBLE ASSETS, NET Intangible Assets Disclosure [Text Block] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Movement in Deferred Revenue [Roll Forward] Movement in Deferred Revenue [Roll Forward] Repayments of notes payable Repayments of Notes Payable Business acquisitions, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Credit Facility [Domain] Credit Facility [Domain] Fair Value Option, Disclosures [Table] Fair Value Option, Disclosures [Table] Basis spread on prime rate Debt Instrument, Basis Spread on Variable Rate Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] GOODWILL Goodwill Disclosure [Text Block] Leasehold improvements Leasehold Improvements [Member] Diluted (in shares) Weighted average diluted shares (in shares) Weighted Average Number of Shares Outstanding, Diluted Software Software Development [Member] Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Schedule of Transactions Within Contract Liabilities Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Operating Expenses Operating Expenses [Abstract] REVENUE Revenue from Contract with Customer [Text Block] Purchase of property, plant and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Additional Paid-in-Capital Additional Paid-in Capital [Member] Vehicles Vehicles [Member] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Cover page. Cover [Abstract] Equipment Equipment [Member] SUBSEQUENT EVENTS Subsequent Events [Text Block] United States UNITED STATES Fair Value, Recurring Fair Value, Recurring [Member] Number of businesses acquired Number of Businesses Acquired Other long-term liabilities Other Liabilities, Noncurrent Non-NEOs Non-NEOs [Member] Construction in Progress Construction in Progress [Member] Total operating expenses Operating Expenses Prime Rate Prime Rate [Member] Increase in cash and cash equivalents during the period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash flows from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Adjustment to Compensation: Adjustment to Compensation [Axis] Work in process Inventory, Work in Process, Net of Reserves Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Scenario [Axis] Scenario [Axis] Basic (in shares) Weighted average basic shares (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Concentration Risk Type [Domain] Concentration Risk Type [Domain] Operating Income Operating Income (Loss) Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] Other comprehensive income Other Comprehensive Income (Loss), Net of Tax [Abstract] Scenario [Domain] Scenario [Domain] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Amount outstanding Long-Term Line of Credit Customer relationships Customer Relationships [Member] EX-101.PRE 10 xpel-20230930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 11 xpel-20230930_g1.jpg GRAPHIC begin 644 xpel-20230930_g1.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" "I G # 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#]4Z*** "B MDYHYH 6BBFX/K0 ZBD%!H *,8HH.: %I#THH[4 >!_M,_MA>&/V5%TB;Q=I. MLW-CJ>Y8;S3[<21*X_@8Y&&QS7@W_#Y+X*_] WQ'_P" B_\ Q5?3_P"TQ\!= M&_:*^$6M^#M710]Q$7LKK;EK:X49CD'T;&?4$CO7\Z?Q$\!ZO\,?&VL>%]=M MGM-4TRX:WFC<8Y!X(]B,$?6@#]C?^'R7P5_Z!OB/_P !%_\ BJ/^'R7P6_Z! MOB/_ ,!%_P#BJ_$^B@#]L/\ A\E\%?\ H'>(_P#P$7_XJC_A\E\%O^@;XC_\ M!%_^*K\3Z* /VP_X?)?!;_H'>(__ $7_P"*H_X?)?!7_H'>(_\ P$7_ .*K M\3Z* /Z5/V>OVAO"W[2G@2/Q7X3GD>Q\Y[>6"X 6:&1<':ZYXX(/T(KU*OPD M_P""8_[3S? OXV1:!J]V8O"?BADM+C>?D@N,XBE]AR0?;'I7[L1L)(PP.0>A M% #Z*09HYH 6BBHY&\M=Q/'>@!S,%4DG%?(?QD_X*=_"#X+^.KWPK?W&H:UJ M%E\MR^DPB6**3O&6R 6'?'3..M>+?\%&/^"B"^ X+_X;?#:_63Q#(IAU35X' MR+(=&BC(_P"6G8G^'D=>GY#75U-?7$D\\C2S2,7=W.2Q)R230!^U7_#Y+X*_ M] [Q'_X"+_\ %4?\/DO@MVTWQ'_X"+_\57XGT4 ?MA_P^2^"O_0.\1_^ B__ M !5'_#Y+X+?] WQ'_P" B_\ Q5?B?10!^V'_ ^2^"O_ $#O$?\ X"+_ /%4 M?\/DO@K_ - [Q'_X"+_\57XGTJC<<4 ?M@/^"R/P6[:;XC_\!%_^*KZ=_9W_ M &@]._:.\)OXET31-7TO12VRWN-4A$7VGU,8R25'KTYXK\K/^"?G_!.N]^-% M]9^.OB#9RV?@:%Q):V,@*OJ9!_2+(P3U/(&.M?LWH>A67AW3;:PTZVBL[&WC M$4-O"@5$4# Z"@#0HI,&EH **3!I: "BBDH 6BD&:.: %HHIN#ZT .HI*# MF@ HI:3F@!:*0T4 +24M(: "EIN#ZTHS0 M%)S2T %%)S2T %%%)0 M%(*.: M %HHIN#ZT .HI*#F@ HI:3F@!:*0T4 +24M(: "EIN#ZTHS0 M%)@TM !111 M0 4444 %%%% !1110 4444 %%%% "$9K\T?^"MW[)*^)_#R_%_PW9YU72T$. MLPPIS-;CE9L#J4R03UP1Z5^E]4-:T:SU[2KS3[^".ZLKJ)HIH95#*ZL,$$'J M,4 ?RT]*2OHK]N7]F&Z_9A^--_I,$4A\+ZBS7>CW# X,)/\ JR>[)D*?P/>O MG6@ HHHH **** 'Q2-#(CJ=K*<@CL:_>G_@F[^TX/VA/@;:VFJ70E\5^'%2Q MOPQ^>50,1S'UW @#^BBBJ6CZM;:[IMIJ%E,MQ9W4*SPS1G*NC %6![@@U;=MJDY ^ MM TBKU/O7YP?\%%?^"B4?PYM[WX;?#C4%F\2RJT6IZM;MD6 /'EHW>0\Y(^ M[QWZ6/\ @HM_P4.B^&]IJ'PW^'5_'+XLD4PZEJD#!AIZDN#U_A^O3 M\>;V^GU&ZEN;F5I[B5B\DLARS,>I)H ;=7$EY<23S2-+-(Q=Y'.69CU)/92KZ@>H=QVC]C][CM6[_P $\O\ @F_+XHFT[XD_%"P:/15*S:9H5PN& MN2#D2RCJ$]%[_3K^MUG90V5O%%;Q+##&H5(XU 50!@ =!0 S3=/M]+L8+.U MMX[:U@01Q0QJ%5% P . *MT44 %%%% !1110 4444 %%)2T %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4AZ4M% M'SE^W+^S#9?M-?!?4=*2)$\2Z\\ M/ZM>:9J$#VU]9S-!/#(,,CJ<$$?45_4NRANM?D/_ ,%;?V2U\+Z\GQ?\-66S M3=2=8=:BA7Y8I^BS8'0,, ^XSWH _-.BBB@ HHHH *6DHH _9G_@DK^U(?B% M\.Y_AIKUWOUWPXNZP:1LM/9GH/7BW/B MZX0Q7^IPL"FG*1@JI[R'_P =^M?DE\/?B5XE^%'B6+Q!X4U6;1]7CC>);J#& MX*ZE6'/L36#?7]SJ=Y-=W<\ES=3.9)9I6+,[$Y))/4T -O+R;4+N:ZN97GN) MG,DDLC%F=BP?L_?]!S4O\ MP7M_C1_P]@_9_P#^@WJ7_@ W^-?A!10!^[W_ ]@_9__ .@YJ7_@O;_&C_A[ M!^S_ /\ 0P?L__P#0 MS9N +JUG7]=E>O>#OV@_AO M\0(U;P[XVT752W1(;Q __?)(/Z5_,W4EO<36,RO_(+NI!LN"!R87/WO7;][';B@#Z[HIJM MP.>:7- 'C/QU_:Z^&G[.&I:;8>.M:?3;K4(FG@CC@:4L@.TD[1QR#^5>7?\ M#T[]GG_H:[G_ , )?\*_-W_@K!\0AXT_:QU/38I/,M_#]E!IZ%3QDJ)6Q]&D M(_"OC/'O0!^]W_#T[]GG_H:[G_P E_PH_P"'IW[//_0UW/\ X 2_X5^"./>C M'O0!^]W_ ]._9Y_Z&NY_P# "7_"C_AZ=^SS_P!#7<_^ $O^%?@CCWHQ[T ? MO=_P]._9Y_Z&NY_\ )?\*/\ AZ=^SS_T-=S_ . $O^%?@CCWHQ[T ?O=_P / M3OV>?^AKN?\ P E_PI/^'IW[//\ T-EQ_P" $O\ A7X)8]Z,>] '[W?\/3OV M>?\ H;+G_P )?\ "C_AZ=^SS_T-=S_X 2_X5^"./>C'O0!^]W_#T[]GG_H: M[G_P E_PH_X>G?L\_P#0UW/_ ( 2_P"%?@CCWHQ[T ?O=_P]._9Y_P"AKN?_ M E_P */^'IW[//_0UW/_@!+_A7X(X]Z6-"SA5Y).!0!_31\&_C9X6^//@^ M/Q1X/NY+[19)7A2>2%H]S(<-@-SUKNI&V#->#_L+_#M?AO\ LJ?#O2G3R[B3 M3([ZX7&")9AYC@_0L1^%>F?%SQI'\.?ACXH\43%1%H^FW%\V[I^[C+?TH \( M\2_\%+?@-X3\0:CHNH^*9DOK"=[:=4LI&4.IP0"!SR*S?^'IW[//_0UW/_@! M+_A7X.:M?2ZIJEW>3R-+-<2M*\C')8DDDFJF/>@#][O^'IW[//\ T-=S_P" M$O\ A1_P]._9Y_Z&NY_\ )?\*_!''O1CWH _>[_AZ=^SS_T-=S_X 2_X4?\ M#T[]GG_H;+G_ , )?\*_!''O0JDL ,DT ?TU?!GXU>%_CUX/7Q1X0NY;[1FF M:!)Y(6CW,O7 /.*[RO"OV'OA\OPS_98^'NC>7Y MZT %%%% !1110 44WS!52;6M/MYO)EOK>*;_ )YO*H;\LT 7:*:LBO\ =.:= M0 44UI G4XKY?_:,_P""AGPI_9SO9=*U&_G\0>(8_OZ5HP662(^CL2$4^V[/ MM0!]145^9>F?\%M/"LFJ!-0^'NL0:<6P9K>XB>4#UVD@?K7VC^S_ /M6?#K] MI+2FN_!VN)/=1KF?2[D>7=0?[R'J/]I@)R:^%_^"A'_!1^;X1ZC=?#SX:W,3-+(Q M]V8YH _H:L/VY?@-J=X+6W^*7AUYBH(K^6VO5/@3^TS\0/V=?$$6I^#]>N+.(.&FTYW+6MP/1X\X/UZ MCM0!_2E7,_$3P#H_Q-\%ZOX7U^U6\TG4[=K>>)@/NL,9'H1V/8UY'^QW^UKH M7[5WP[&KV:+IVOV>V/5-*+9:"0C[R^J'!P?SKZ!ZJ* /YKOVF/@/J_[.?Q=U MKP=JJLT=O(9+*Y(P+BW).R0?4=?0Y%>5U^['_!2[]D^/X_?"5_$&BVBMXQ\- M1O<6NP#=P^YX##W7'>OPJDC>&1D=2CJ<%6Z@CM0 RBBB@ HHHH **** M "BBB@ HHJSINEWFLW]O8V%M+>7EPXCB@@0N\C$X"J!R230 RSLY]1O(;6UB M>>XF<)''&,LS'@ "OUY_X)Y?\$X(O <-A\1OB;8I<>(G"SZ9HLR92R'59) > MLG<#^'CJ>FW_ ,$^?^"-_M?>/?^%7_LT>/_ !!%((9K;2Y(X"./WC_(N/Q;]*_G )). M3R:_:7_@L=\1#X;_ &>]'\-0S>7<:]JJEU!^]#$A+#_OIHZ_%F@ HHHH *** M* "BBB@ HHHH **** "BBB@ JUIFIW6C7\%[93R6MW XDBFA8JZ,#D$$=#56 MB@#]M/\ @FO^W._Q\T$>!?&5RO\ PG&EQYAN6./[0MQ_%_OKW]1@^M?2G;%;PO,Q/8*"3_*OYEOA%\3M8^#OQ&T'Q?H<[0:AI5TDZ88@. ?F1 MO56&01Z&OW?_ &@/C]IX_8A\1?$G2Y2(-3T!9+3GYMUP%C ^HW_I0!^$_P < M/&TGQ&^,/C/Q([;QJ6K7-Q&2'344'!9&;,@_[Y!KZ]4;5Q M7Y3_ /!;#XA;KCX?>"HIN42;5)XP>S'RT)_%'H _+.BBB@ HHHH *[#X.^$9 M/'OQ6\(^'HD,C:EJEO;E1_=,@W?IFN/K["_X)5_#S_A./VMM$O7A$UOX?M)] M3D##('R^4I_!I5/X4 ?NMHNGQ:/I-G80*$AM84@11T"JH4#\A5ZFH,4Z@ HH MHH **** /S7_ ."FG[>^M?"?5G^%_P /;X6&NM$KZKJL8!DME==RQ1YX#%2" M6[ \8/3\H]0^(WBO5M2;4+SQ+JUU?,VXW$M[(SY]<[J]>_;VM]1M_P!KCXDC M4@WGG5)&3=_SR/,?X;-M?/\ 0!][?L$_\%$O%OPW\=:5X-\>:O<>(?!^IS+: MQW%\YDGL)&(",)"[BOP3U#4+K5+Z>[O+B2ZNI MG,DLTS%G=B:5XJ\,W\ECJ5A,L@V,=LJ@_-&X_B5AD$>]ZNFM]W_//S"./^!!J?_P % M5H[A_P!COQ*8 =BW-J9L?W/-'7\<4 ?A/K>M7GB+6+W4]1N'NKZ\F>>>:1B6 M=V)+$GZDU1HHH **** /I+_@G_\ '*^^"7[2WA>X2=AI.LW"Z5J$&["R)*=J MD^ZOL;\#7]"2D,H(Z8K^7SX=QSR_$'PREMG[2VIVHCQUW>:N/UK^GK25==+L MQ)_K!"@;Z[1F@">:%9E8.-RD8(/2OP^_X*A?LG?\*3^*3>--!M#'X1\32M*5 MC7Y;6[/,D?L&.6'^\1VK]Q:\W_:$^"NB_'_X4ZWX,UN-?(OH3Y,^T%K>8EVLU]J%W*L,%O A=Y')P .2:_:3_@G[_P3OL/@786OC;QU;0ZCX[G0/!;. M T>F*1P .\GJW;H.Y.O^P1_P3XTK]G?1;7Q7XMA@U/XA740)R-T>F@CF.,]W M[%OJ!QU^VE7;0 !=H ]*=110!^3?_!6[P/\ $KXL?%[PQI?ACP5XA\0:+HVF MM(+G3=-EGA\Z9_G&Y5(R!&GYU\'_ /#*OQF_Z)9XO_\ !+^)FD6$.G:K=7_] MFW_V= HN=Z,Z.P'\0\MAGON]J_*Z@ HHHH *^X?B)\:)F_X)A_#OPI]H)N;S MQ!<6S9/)MK<,=OT#21_E7P]7;>+O%TVH?#SP5X:WYM]*%W=!0>-]Q(I/Z1K0 M!Q-%%% !1110 5K>&?".M^--373M TF\UG4&4N+6Q@::0J!DG:H)P*R:_2;_ M ((K?#U=4^)'C?Q=/#N33;&.R@=AD;Y&);_QU1^= 'P[_P ,Y?%7_HG?B;_P M53?_ !-'_#.7Q5_Z)WXF_P#!5-_\37]+WD1_\\U_[Y%'D1_\\U_[Y% '\T/_ M SE\5?^B=^)O_!5-_\ $T?\,Y?%7_HG?B;_ ,%4W_Q-?TO>1'_SS7_OD4>1 M'_SS7_OD4 ?S0_\ #.7Q5_Z)WXF_\%4W_P 31_PSE\5?^B=^)O\ P53?_$U_ M2]Y$?_/-?^^11Y$?_/-?^^10!_-#_P ,Y?%7_HG?B;_P53?_ !-'_#.7Q5_Z M)WXF_P#!5-_\37]+WD1_\\U_[Y%'D1_\\U_[Y% '\T/_ SE\5?^B=^)O_!5 M-_\ $U^F'_!'CX!Z[X!/CSQ3XHT"^T6]N?L]A:)J%L\+[5WO(0& R#N3_OFO MTN\B/_GFO_?(IRHJ?=4+]!0 O0'O7X$?\%.OB,/B!^UUXICBE\ZTT5(=+A8' M(^5 [C\'=Q7[R>)-:A\.:!J>JW#!(+&UDN9&/0*B%B?R%?S)?$SQ1)XV^(GB M77Y6+/J6HW%UDGL\C$?H: .:HHHH **** "OU?\ ^")OP],.D^/_ !I-#@S2 M0Z9;RXZJ,O(/S"5^4%?OO_P3(^'[> ?V0_!_G1>7,M)\=_%+36T32--E6ZM-%N#B>YE4@ MH9%ZHH/.#@D@<8S7Z[QJ%C"@8 XP*=2T ?,_[?G[,;?M-? ZZTK3D4>)=*D_ MM#3'8XWNJD-$3Z,#^86OP"\1>'=3\)ZY>:1K-C<:;J=G*T,]K1VRMN%K)>PA3[,1"#CZ8KZR^$?P$\#? O0QI/@KP]::);'_6-$I, MLI]7+/"VI>"?$VJ:#J]M)9 MZEIMR]K<0R#!5U8@_P JR:_;G]OC_@G3:_M$>;XR\$&WTOQU&F)X9!MAU$ 8 M 8C[K@<;N+?#FH:+>*2 MS"0' /53T(]Q0!Q= M%2K;3-PL3D^RFO>OV=_V(_BA^T9JUJ-%T.?3M"=OWVMZA&T=M&N>2I_C/L* M.I_X)Q_ &]^-_P"TAH5R]NYT#PW*NJW]QM^4%#F),],F3;QUP&]*_?U?NBO& MOV7_ -F/PQ^R_P##N#PUX?4W%R^)+_4I5 ENY<P]>M>R,VQV>E_ M;Z_;JTO]FKPK+H&@317OQ"U*(BV@R&6R0C'G2#U_NKW/L*_#3Q)XDU+Q=KE[ MK.L7DVH:G>RM/<7,[%GD=CDDF@"MJFI76LZCC@;N.A)%?3=?SR?L+_ +35W^S/ M\;M,U6:9_P#A&=2866KP9.TPL1B3'JC8;Z CO7]!VCZM;:[IMKJ%E*L]I=1+ M-#*ARKHPR"#[@T 7:@O;ZVTVVDN+NXBM;>,9>69PB*/4D\"IZ^,?^"L'Q&/@ M7]E/4;""9H;W7KR"QB96P=H_P#/Y/\ ]_&_QH_M*]_Y_)_^_C?XT ?T]?\ "R/" M7_0TZ+_X,(?_ (JC_A9'A+_H:=%_\&$/_P 57\PO]I7O_/Y/_P!_&_QH_M*] M_P"?R?\ [^-_C0!_3U_PLCPE_P!#3HO_ (,(?_BJ/^%D>$O^AIT7_P &$/\ M\57\PO\ :5[_ ,_D_P#W\;_&C^TKW_G\G_[^-_C0!_3U_P +(\)?]#3HO_@P MA_\ BJS=<^-'@'PW8RW>I>-?#]C;H"3)/JD"C]6K^9?^TKW_ )_)_P#OXW^- M-DOKF9=LEQ+(/1G)% 'WG_P4^_;5T#]H*^TCP1X*N#J'AS1[AKJYU':52YN, M;5"9Y*J"_/?=QTKX%HHH **** "E9BV,G.!@5O\ @GPO+XIU>2)5_P!&L[:6 M^NF/\,$2EW/UP./^(-2FO2MQ=1I($7$(!!.0,Q$_C7XJ59CU*[AC"1W4T:#HJR$ 4 ?T_?\ M"P/"_P#T,FD?^!\7_P 51_PL#PO_ -#)I'_@?%_\57\P7]JWW_/[Q$L3P M !NY-;E?SW?\$_/!][\3/VL_ 6G23W$MM:W9U*;<[%0(%,HSST+(!^-?T(KP MH% 'SO\ M_?$0?#3]D_X@:DK[+JYLAI\ !P6:9UC./HK,?PK^>*OU^_X+5?$ M3^R_AKX+\&PR;9M3U%KZ4#O%%&RX_P"^I%/X5^0- !1110 4444 :?AG1;GQ M)XBTS2K./SKJ\N(X(HQ_$S, !7].7P_\)V_@?P/H'A^U&+?2[&&SC X^5$"C M^5?@5_P3R^'O_"QOVM_ EHZ%[?3[K^U)AC(V0_-S^.!^-?T*+]T4 .HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** $VCTK.USPUI/B:R:SU;3;74K M5NL-U$LB'\"*TJ* . T_]G_X9Z5>+=V?@'PY:W*G(FATR%6!]@[5@T44 %%%% !1110 4444 %%%% "U M^QO_ 27_:N_X3WP3-\+/$-YNUS08_,TR25OFGM"?N GJ4.?^ E?2OQQKM?@ MW\5-9^"OQ)T/QCH4[0ZAI=PLP7)VRJ#\T;>JL,@CWH _IOSE ?!,;[A:VTFJ3*#P&=C&H^N$/YU^EGP6^+FC?&[X9:'XQT*99+#4K=9- MFFP&HF6XLM$G4I+?=U:0'E8^AQU;Z=0#R M&#X+3_ _]A[6O'VO0-:>(?'EU#IFE0RKMD2Q5M\C\]-^W_OD+ZU\B5^F/_!: M#QI;0^(/AUX L=L%MIEC)J!MX@ J!V\I!@=,"$_G7YG4 %%%% !1110 4444 M %%%% !1110 4444 %%%% 'Z3?\ !%?X?'4?B/XV\8RQYATZP2PA8CI+(X8_ M^.J?SK]?FX6OAS_@D+\.F\)_LN_VY-'LG\2:E-=\CG9&QA7_ - )_&OM^ZF% MO:R2M]U%+'\!0!^(O_!7WX@_\)7^T]'H22;[?P[IL5N,'@22 2/_ # _"OAF MO3_VG/B WQ0^/_CWQ-YOG07^KW#V[9Z0^81&/P4 5YA0 4444 %%%% 'Z3_\ M$5_AW_:/Q$\;^,ID^73;**PMV(ZM*S%_R"+_ -]5^OR_=%?$7_!(WX=+X0_9 M9BUB2/;<^(=2FOA(1R8E"Q*/IF-C^)K[='% "T444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1124 +7BO[4W[3WAC]E_X_0# M)/2OY_OVDOVBO%'[2WQ)O/%'B.Y;828[*P5CY5I#DD(HZ>Y///RQQCLH%DVB:/XU2^GO M'8^LDC,?YUB9-)0 4444 %%%% !FC-==\(? \GQ*^*?A3PK$K.VL:G;V7R^D MD@4G]:_?.U_8)^!"V\2O\-M&+!0"3#WQ0!_.]D49%?T3_P##!?P%_P"B:Z+_ M -^:3_A@OX"_]$UT7_OS0!_.SD49%?T3_P##!?P%_P"B:Z+_ -^:3_A@OX"_ M]$UT7_OS0!_.S3XXWE;"(SGT49K^BNU_87^!-FP9/AGH+'_II:J_\ZZK1?V8 M_A)X=97T_P"&OA2VD7I(NC6^\?\ MF: /YRO#?PW\5>+[R.UT7PYJ>IW$AP ML=M:NY/Y"OJ#X/\ _!+/XV_$JZADU;28/!>EMRUQK$F)2O\ LQJ"2?8E?K7[ MJ:;H6G:-"(=/L;>QB'_+.WB6-?R J[L H ^0?V:O^"9_PQ^ 4MKJ]["WC'Q3 M%M9=0U*,"*%ASF*+D*<]R2:^N_+$<:JH"@= .!4E8GCCQ%#X1\&ZYKEPP2#3 M;&>\=CZ1QEOZ4 ?@;_P4:^(@^(W[7'C:>&7S;+398]-MSGH(D4./^_A>OF>M MKQIX@E\5^,-E%*JEF"CJ3@4 ?IW_ M ,$N?V-_ 7QE^%/B+Q7\0/#5OKPFU$6NG_:"P"+&I\PC!'5B/^^:^U?^'80?<;L?A M7T-F@#YK_P"'>)$E\FXL=*F:!LX_>%<*![Y(KU:O MA#_@L%\0/^$7_9GM="CFV7&OZI'%LSRT48+O^&2GZ4 ?B2QRQ).23FDHHH * M*** "I+>![J>.&-=TDC!%4=R3@5'7KO[)/@$_$S]I+X>Z!Y7GQ3:O#--'C.Z M*)O-D!]MJ-0!_0%^SGX'B^&_P/\ !'AR) @L=*@1@!CYRNYO_'F->CU#;PK; MQI&@PB*%4>@%2YH 6BDS1F@!:*3-&: %HI,BC(]: %HHHH **** "BBB@ HH MHH **** $KA/C1\9?#7P)\ ZCXL\4WJV>G6B_*,C?-(0=L:#NQQT^M:7Q*^) M7A[X3^#-3\3^)=1CTW2=/B,LLLAY.!PJCNQZ #J37X'_ +9_[87B#]JOQ\]Q M-)+8^$[!V32]*W?*B_\ /1P."Y '/;I0!A_M8?M4>)OVI?B)<:YJ\C6NCP,T M>F:4K9CMH<\?5B.2WG7A_^">7["%Y^T1XDB\6^*[62 MV\ :=(#AP5;490<^6G^P/XF^@'?'[?:/I%IH>FVVGV-K'9V5M&L4-O"H5(T4 M8"J!T H FM;2.SACBA18XD4*J*, #@"L;QYX(TOXB^$=8\.:U;K=Z7J=L] MM/"XSE6&,CW!P1[BNAI#0!_-C^T]\!=6_9R^,6M^#]31C#!(9;&X8<3VS',; MC\.#[J:\HK]TO^"FW[*A^//P@D\2:+9^=XP\,Q/<6XC'SW%N/FDA]SC)4>OU MK\+Y(VC=D=2K*<$'M0 VBBB@ HHHH **** "BBB@ HHHH ^Q/^"5'P_/C3]K M;1;Z2+S+70K:;4'.,A7"XC/_ 'T1^5?O#7Y;_P#!$[X>O#I'Q!\:RQ?+//%I M4$A']Q1(^/\ OXOY5^I% "T444 %%%% !1110 4444 %?,?_ 4>^(H^'7[( M_C:>.3R[S4H8]-M^<9,LBJX_[][Z^FZ_,/\ X+7?$1K7PGX!\%128-Y=R:I, MH/.V-#&H/MF0G\* /R6HHHH **** "G(YC=77[RG(IM% 'TMIO\ P4:_:!TC M3[>RL_'LT%K;HL442V<&%4# ^3TJS_P\L_:*_Z*%+9]7\-Z5IC2R6[6\2 SNZB/)50>@DK\FJ_9#_@ MB]\/1HOP9\5^+9(MLVM:FMLKL.3' IQCVS*WY4 ?HM7XY?\ !:+XB#6/BYX/ M\'12[X]'TUKUU4\+).Y4@^^(5/XU^QA8+U-?SK_MX>/E^(_[5WQ U2*3S+6* M^^Q0'.1LB4)Q[9#?G0!X%1110 4444 %=)\/OB+XC^%?BBV\1^%-5FT76[8, ML-Y %+H&4JV-P(Y!(_&N;HH ^@O^&_/V@O\ HJ&L?]\P_P#QNC_AOS]H+_HJ M&L?]\P__ !NOGVB@#Z"_X;\_:"_Z*AK'_?,/_P ;H_X;\_:"_P"BH:Q_WS#_ M /&Z^?:* /H+_AOS]H+_ **AK'_?,/\ \;H_X;\_:"_Z*AK'_?,/_P ;KY]H MH ^@O^&_/V@O^BH:O_WQ#_\ $5^RO_!/_6O&/B[]F/PSXD\<:U=:YK>L--=> M?=A0ZQ^8R(N% &,)G_@5?SYZ1ILNL:M96$"EY[J=((U'4LS!0/S-?TU?![PE M'X#^%GA/P]$@1=-TRWMRH'\2QC=^N: .QHHHH **** "BBB@ HHHH *P_&GC M+2?A_P"&M0U_7;V'3M)L(6GN+F=MJHH_KVQW)JSX@\0:=X:T>]U/5+N*QT^T MB:6>XF8*D: 9))^E?AW_ ,% ?V[K[]H[Q--X8\,W$UI\/M/F/E*K%6OW4X\U MQ_=_NKVSSST .<_;K_;(QDCH#GTKD_V0?V4/$7[5'Q%@TBQC>T\/6K++JFJ%#?!ND M> _#>GZ'H-E%INE6,2PP6T"A550,5NT44 %%%% $P. M#M3C4/<1F6SN-H+6]PH.QU_,@^S&@#^;&BN@\?>!]6^&_C+5_#.NVK6>JZ9< MO;3Q-_>5B,CU!QD'N"*Y^@ HHHH **** "BBB@ I:2M?PCH,WBKQ7HVBVZ[I M]1O(;1%'J[A1_.@#]Z?^":OPW/P\_9&\'K-'Y5YJRRZG.N.ID=@A_P"_:I7U M-7/?#[PW%X/\#Z!H4*[8M-L(+11_N1JO]*Z&@ HHHH **** "BBB@ HHHH 2 MOPL_X*T?$ ^,/VK;[2HY-]KH%C#9H,\!V4/)^.XX_"OW+U"Z6SLYYW.%B1G) M/L,U_,]\>/'3?$SXS>-/%)D,B:KJUS=1DG.$:1BH^@! H X.BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ K^BC]A3X?\ _"M_V5OA[I3Q>3MY<*1@ M^9+\YS^8K\!?A'X,D^(OQ0\*>%XE+/K&IV]CA1VDD52?UK^FO1K&/2])L[.- M%CC@A6-54< 4 8'Q6\71> ?AOXI\23,%CTG2[F]^ICB9@/J2,5_,GKVI2: MUKFH:C*Q>6[N))V8]268G^M?NY_P5*^(G_"!_LD^(H(I/+O=:E@TV'GJ&D5I M!_W[5_SK\%: "BBB@ HHHH **** "BBB@ HHHH **** /=/V'_A\WQ,_:H^' M>CB/?&FI+>R<';?PS:^.9?"7A[.Z\MK:V\QKML\!VR/E'IT/>OC[_AR)9_]%.G_P#!&;4100@-<73*!+=2X^:1SW)_2O3*** "BBB@ HHHH *1ONFEHH ^+? MVP?^";?A_P#:C\>6WBZWUU_"VK?9Q!>-#;"476WA&;D?,!@9] *\&_XHNXPEU(W@=\9K\V?\ AR)9_P#13I__ 7+_P#%5^I=% 'Y:?\ M#D2S_P"BG3_^"Y?_ (JC_AR)9_\ 13I__!1C )_.ODK_AR)9_]%.G_ /! XML 12 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Cover Page - shares
9 Months Ended
Sep. 30, 2023
Nov. 08, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2023  
Document Transition Report false  
Entity File Number 001-38858  
Entity Registrant Name XPEL, INC.  
Entity Incorporation, State or Country Code NV  
Entity Tax Identification Number 20-1117381  
Entity Address, Address Line One 711 Broadway St., Suite 320  
Entity Address, City or Town San Antonio  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 78215  
City Area Code 210  
Local Phone Number 678-3700  
Title of 12(b) Security Common Stock, par value $0.001 per share  
Trading Symbol XPEL  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   27,628,953
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q3  
Entity Central Index Key 0001767258  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current    
Cash and cash equivalents $ 10,374 $ 8,056
Accounts receivable, net 24,115 14,726
Inventories 92,458 80,575
Prepaid expenses and other current assets 11,091 3,464
Total current assets 138,038 106,821
Property and equipment, net 15,690 14,203
Right-of-use lease assets 14,014 15,309
Intangible assets, net 29,461 29,294
Other non-current assets 971 972
Goodwill 28,602 26,763
Total assets 226,776 193,362
Current    
Current portion of notes payable 0 77
Current portion of lease liabilities 3,650 3,885
Accounts payable and accrued liabilities 42,059 22,970
Income tax payable 836 470
Total current liabilities 46,545 27,402
Deferred tax liability, net 1,205 2,049
Other long-term liabilities 950 1,070
Borrowings on line of credit 0 26,000
Non-current portion of lease liabilities 11,523 12,119
Total liabilities 60,223 68,640
Commitments and Contingencies (Note 11)
Stockholders’ equity    
Preferred stock, $0.001 par value; authorized 10,000,000; none issued and outstanding 0 0
Common stock, $0.001 par value; 100,000,000 shares authorized; 27,628,953 and 27,616,064 issued and outstanding, respectively 28 28
Additional paid-in-capital 12,050 11,073
Accumulated other comprehensive loss (2,179) (2,203)
Retained earnings 156,654 115,824
Total stockholders’ equity 166,553 124,722
Total liabilities and stockholders’ equity $ 226,776 $ 193,362
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares
Sep. 30, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Preferred stock, par value (in dollars per share) $ 0.001 $ 0.001
Preferred stock shares authorized (in shares) 10,000,000 10,000,000
Preferred stock shares issued (in shares) 0 0
Preferred stock shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock shares authorized (in shares) 100,000,000 100,000,000
Common stock shares issued (in shares) 27,628,953 27,616,064
Common stock shares outstanding (in shares) 27,628,953 27,616,064
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Income (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Revenue        
Total revenue $ 102,677 $ 89,758 $ 290,755 $ 245,512
Cost of Sales        
Total cost of sales 61,148 53,992 169,273 149,046
Gross Margin 41,529 35,766 121,482 96,466
Operating Expenses        
Sales and marketing 7,730 6,297 22,554 18,515
General and administrative 16,170 12,162 46,180 34,859
Total operating expenses 23,900 18,459 68,734 53,374
Operating Income 17,629 17,307 52,748 43,092
Interest expense 85 391 946 933
Foreign currency exchange loss 398 372 419 833
Income before income taxes 17,146 16,544 51,383 41,326
Income tax expense 3,490 3,226 10,553 8,302
Net income $ 13,656 $ 13,318 $ 40,830 $ 33,024
Earnings per share        
Basic (in dollars per share) $ 0.49 $ 0.48 $ 1.48 $ 1.20
Diluted (in dollars per share) $ 0.49 $ 0.48 $ 1.48 $ 1.20
Weighted Average Number of Common Shares        
Basic (in shares) 27,623 27,616 27,620 27,614
Diluted (in shares) 27,644 27,620 27,634 27,615
Product Revenue        
Revenue        
Total revenue $ 81,125 $ 72,616 $ 229,339 $ 197,753
Cost of Sales        
Total cost of sales 51,876 47,225 143,613 129,646
Service Revenue        
Revenue        
Total revenue 21,552 17,142 61,416 47,759
Cost of Sales        
Total cost of sales $ 9,272 $ 6,767 $ 25,660 $ 19,400
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Other comprehensive income        
Net income $ 13,656 $ 13,318 $ 40,830 $ 33,024
Foreign currency translation (731) (1,551) 24 (2,821)
Total comprehensive income $ 12,926 $ 11,767 $ 40,854 $ 30,203
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Changes in Stockholders’ Equity (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in-Capital
Retained Earnings
Accumulated Other Comprehensive Income (Loss)
Beginning balance (in shares) at Dec. 31, 2021   27,613,000      
Beginning balance at Dec. 31, 2021 $ 84,462 $ 28 $ 10,581 $ 74,443 $ (590)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 33,024     33,024  
Foreign currency translation (2,821)       (2,821)
Stock-based compensation (in shares)   3,000      
Stock-based compensation 288   288    
Ending balance (in shares) at Sep. 30, 2022   27,616,000      
Ending balance at Sep. 30, 2022 114,953 $ 28 10,869 107,467 (3,411)
Beginning balance (in shares) at Jun. 30, 2022   27,613,000      
Beginning balance at Jun. 30, 2022 103,077 $ 28 10,760 94,149 (1,860)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 13,318     13,318  
Foreign currency translation (1,551)       (1,551)
Stock-based compensation (in shares)   3,000      
Stock-based compensation 109   109    
Ending balance (in shares) at Sep. 30, 2022   27,616,000      
Ending balance at Sep. 30, 2022 $ 114,953 $ 28 10,869 107,467 (3,411)
Beginning balance (in shares) at Dec. 31, 2022 27,616,064 27,616,000      
Beginning balance at Dec. 31, 2022 $ 124,722 $ 28 11,073 115,824 (2,203)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 40,830     40,830  
Foreign currency translation 24       24
Stock-based compensation (in shares)   13,000      
Stock-based compensation $ 977   977    
Ending balance (in shares) at Sep. 30, 2023 27,628,953 27,629,000      
Ending balance at Sep. 30, 2023 $ 166,553 $ 28 12,050 156,654 (2,179)
Beginning balance (in shares) at Jun. 30, 2023   27,620,000      
Beginning balance at Jun. 30, 2023 153,308 $ 28 11,730 142,998 (1,448)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 13,656     13,656  
Foreign currency translation (731)       (731)
Stock-based compensation (in shares)   9,000      
Stock-based compensation $ 320   320    
Ending balance (in shares) at Sep. 30, 2023 27,628,953 27,629,000      
Ending balance at Sep. 30, 2023 $ 166,553 $ 28 $ 12,050 $ 156,654 $ (2,179)
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.23.3
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Cash flows from operating activities    
Net income $ 40,830 $ 33,024
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation of property, plant and equipment 3,229 2,486
Amortization of intangible assets 3,660 3,248
Gain on sale of property and equipment, net (11) (10)
Stock-based compensation 1,144 317
Bad debt expense 216 350
Deferred income taxes (844) 7
Accretion on notes payable 0 6
Changes in assets and liabilities:    
Accounts receivable (9,483) (5,899)
Inventory, net (11,583) (18,423)
Prepaid expenses and other assets (7,288) (3,982)
Income tax receivable and payable 320 1,077
Accounts payable and accrued liabilities 18,311 (2,505)
Net cash provided by operating activities 38,501 9,696
Cash flows used in investing activities    
Purchase of property, plant and equipment (4,741) (5,534)
Proceeds from sale of property and equipment 20 66
Business acquisitions, net of cash acquired (4,697) (2,993)
Development of intangible assets (798) (1,368)
Net cash used in investing activities (10,216) (9,829)
Cash flows from financing activities    
Net (repayments of) borrowings on revolving credit agreement (26,000) 1,000
Restricted stock withholding taxes paid in lieu of issued shares (167) (30)
Repayments of notes payable (77) (304)
Net cash (used in) provided by financing activities (26,244) 666
Net change in cash and cash equivalents 2,041 533
Foreign exchange impact on cash and cash equivalents 277 68
Increase in cash and cash equivalents during the period 2,318 601
Cash and cash equivalents at beginning of period 8,056 9,644
Cash and cash equivalents at end of period 10,374 10,245
Supplemental schedule of non-cash activities    
Non-cash lease financing 1,847 5,209
Issuance of common stock for vested restricted stock units 874 222
Supplemental cash flow information    
Cash paid for income taxes 11,144 7,305
Cash paid for interest $ 1,000 $ 900
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.23.3
INTERIM FINANCIAL INFORMATION
9 Months Ended
Sep. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
INTERIM FINANCIAL INFORMATION INTERIM FINANCIAL INFORMATION
The accompanying (a) condensed consolidated balance sheet as of December 31, 2022, which has been derived from audited financial statements, and (b) unaudited interim condensed consolidated financial statements as of and for the three and nine months ended September 30, 2023 and 2022 have been prepared by XPEL, Inc. (“XPEL” or the “Company”) in accordance with accounting principles generally accepted in the United States of America for interim financial information, pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). Pursuant to these rules and regulations, certain financial information and footnote disclosures normally included in the financial statements have been condensed or omitted. However, in the opinion of management, the financial statements include all adjustments, consisting of normal recurring accruals, necessary for a fair presentation of the financial position, results of operations and cash flows of the interim periods presented. Operating results for the interim periods presented are not necessarily indicative of results to be expected for the full year or for any other interim period due to variability in customer purchasing patterns and seasonal, operating and other factors.
These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes contained in the Company’s Annual Report on Form 10-K as filed with the SEC on February 28, 2023 (the "Annual Report"). These condensed consolidated financial statements also should be read in conjunction with the Management's Discussion and Analysis of Financial Condition and Results of Operations section appearing in this report.
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.23.3
SIGNIFICANT ACCOUNTING POLICIES
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
SIGNIFICANT ACCOUNTING POLICIES SIGNIFICANT ACCOUNTING POLICIES
Nature of Business - The Company is based in San Antonio, Texas and sells, distributes, and installs protective films and coatings, including automotive paint protection film, surface protection film, automotive and architectural window films and ceramic coatings. The Company was incorporated in the state of Nevada, U.S.A. in October 2003.
Basis of Presentation - The condensed consolidated financial statements are prepared in conformity with United States Generally Accepted Accounting Principles ("U.S. GAAP") and include the accounts of the Company and its wholly-owned subsidiaries. Intercompany accounts and transactions have been eliminated. The functional currency for the Company is the United States ("U.S.") dollar. The assets and liabilities of each of its wholly-owned foreign subsidiaries are translated into U.S dollars using the exchange rate at the end of the balance sheet date. Revenues and expenses are translated at the average exchange rates for the period. Gains and losses from translations are recognized in foreign currency translation included in accumulated other comprehensive loss in the accompanying consolidated balance sheets.
Segment Reporting - Management has concluded that XPEL's Chief Operating Decision Maker (“CODM”) is the Company's Chief Executive Officer. The Company’s CODM reviews the entire organization’s consolidated results as a whole on a monthly basis to evaluate performance and make resource allocation decisions. Management views the Company’s operations and manages its business as one operating segment.
Use of Estimates - The preparation of these condensed consolidated financial statements in conformity with U.S. GAAP requires management to make judgments and estimates and form assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated financial statements and reported amounts of revenues and expenses during the reporting period. Estimates and underlying assumptions are reviewed on an ongoing basis. Actual outcomes may differ from these estimates under different assumptions and conditions.
Accounts Receivable - Accounts receivable are shown net of an allowance for expected credit losses and doubtful accounts of $0.2 million and $0.2 million as of September 30, 2023 and December 31, 2022, respectively. The Company evaluates the adequacy of its allowances by analyzing the aging of receivables, customer financial condition, historical collection experience, the value of any collateral and other economic and industry factors. Actual collections may differ from historical experience, and if economic, business or customer conditions deteriorate significantly, adjustments to these reserves may be required. When the Company becomes aware of factors that indicate a change in a specific customer’s ability to meet its financial obligations, the Company records a specific reserve for credit losses. The Company had no significant accounts receivable concentration as of September 30, 2023 or December 31, 2022.
Provisions and Warranties - We provide a warranty on the Company's products. Liability under the warranty policy is based on a review of historical warranty claims. Adjustments are made to the accruals based on actual claims data. The Company's liability for warranties as of September 30, 2023 and December 31, 2022 was $0.4 million and $0.2 million, respectively. The following tables present a summary of the Company's accrued warranty liabilities for the nine months ended September 30, 2023 and the twelve months ended December 31, 2022 (dollars in thousands):
2023
Warranty liability, January 1$234 
Warranties assumed in period446 
Payments(306)
Warranty liability, September 30$374 
2022
Warranty liability, January 1$75 
Warranties assumed in period624 
Payments(465)
Warranty liability, December 31$234 
Recently Adopted Accounting Pronouncements
In June 2016, the FASB issued ASU 2016-13, “Financial Instruments — Measurement of Credit Losses on Financial Instruments”, which requires measurement and recognition of expected credit losses for financial assets held. We adopted this pronouncement effective January 1, 2023 without material impact to our financial statements.
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
REVENUE REVENUE
Revenue recognition
The Company recognizes revenue when it satisfies a performance obligation by transferring control of the promised goods and services to a customer, in an amount that reflects the consideration that it expects to receive in exchange for those goods or services. This is achieved through applying the following five-step model:
Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, the Company satisfies a performance obligation
The Company generates substantially all of its revenue from contracts with customers, whether formal or implied. Sales taxes collected from customers are remitted to the appropriate taxing jurisdictions and are excluded from sales revenue as the Company considers itself a pass-through conduit for collecting and remitting sales taxes, with the exception of taxes assessed during the procurement process of select inventories. Shipping and handling costs are included in cost of sales.
Revenues from product and services sales are recognized when control of the goods and services is transferred to the customer, which occurs at a point in time, typically upon shipment to the customer or completion of the service. This standard applies to all contracts with customers, except for contracts that are within the scope of other standards, such as leases, insurance, collaboration arrangements and financial instruments.
Based upon the nature of the products the Company sells, its customers have limited rights of return, and these rights are immaterial. Discounts provided by the Company to customers at the time of sale are recognized as a reduction in sales at the time of the sale.
Warranty obligations associated with the sale of the Company's products are assurance-type warranties that are a guarantee of the product’s intended functionality and, therefore, do not represent a distinct performance obligation within the context of the contract. Warranty expense is included in cost of sales.
We apply a practical expedient to expense direct costs of obtaining a contract when incurred because the amortization period would have been one year or less.
Under its contracts with customers, the Company stands ready to deliver product upon receipt of a customer's purchase order. Accordingly, the Company has no performance obligations under its contracts until its customers submit a purchase order. The Company does not enter into commitments to provide goods or services that have terms greater than one year. In limited cases, the Company requires payment in advance of shipping product. Typically, product is shipped within a few days after prepayment is received. These prepayments are recorded as contract liabilities on the condensed consolidated balance sheet and are included in accounts payable and accrued liabilities (Note 9). As the performance obligation is part of a contract that has an original expected duration of less than one year, the Company has applied the practical expedient under ASC 606 to omit disclosures regarding remaining performance obligations.
When the Company transfers goods or provides services to a customer, payment is due, subject to normal terms, and is not conditional on anything other than the passage of time. Typical payment terms range from due upon receipt to 30 days, depending on the type of customer and relationship. At contract inception, the Company expects that the period of time between the transfer of goods to the customer and when the customer pays for those goods will be less than one year, which is consistent with the Company’s standard payment terms. Accordingly, the Company has elected the practical expedient under ASC 606 to not adjust for the effects of a significant financing component. As such, these amounts are recorded as receivables and not contract assets.
The following table summarizes transactions within contract liabilities for the three and nine months ended September 30, 2023 (dollars in thousands):
Balance, December 31, 2022$261 
Revenue recognized related to payments included in the December 31, 2022 balance(206)
Payments received for which performance obligations have not been satisfied2,791 
Effect of foreign currency translation
Balance, March 31, 20232,847 
Revenue recognized related to payments included in the March 31, 2023 balance(2,771)
Payments received for which performance obligations have not been satisfied3,955 
Effect of foreign currency translation(4)
Balance, June 30, 20234,027 
Revenue recognized related to payments included in the June 30, 2023 balance(3,973)
Payments received for which performance obligations have not been satisfied5,575 
Effect of foreign currency translation(4)
Balance, September 30, 2023$5,625 

The table below sets forth the disaggregation of revenue by product category for the periods indicated below (dollars in thousands):
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Product Revenue
Paint protection film$58,977 $54,230 $165,016 $146,465 
Window film18,762 15,391 54,055 42,711 
Other3,386 2,995 10,268 8,577 
Total
$81,125 $72,616 $229,339 $197,753 
Service Revenue
Software$1,652 $1,351 $4,656 $3,804 
Cutbank credits4,524 4,352 13,253 11,459 
Installation labor14,852 11,067 41,781 31,371 
Training and other524 372 1,726 1,125 
Total$21,552 $17,142 $61,416 $47,759 
Total$102,677 $89,758 $290,755 $245,512 
Because many of the Company's international customers require us to ship their orders to freight forwarders located in the United States, we cannot be certain about the ultimate destination of the product. The following table represents the Company's estimate of sales by geographic regions based on the Company's understanding of ultimate product destination based on customer interactions, customer locations and other factors (dollars in thousands):
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
United States$59,002 $51,522 $169,228 $142,275 
Canada11,471 11,046 31,914 29,773 
China10,242 11,009 24,992 27,772 
Continental Europe8,705 6,065 26,354 18,671 
Middle East/Africa3,909 3,322 11,514 8,025 
United Kingdom3,499 2,482 10,220 7,505 
Asia Pacific3,233 2,540 9,192 6,549 
Latin America2,325 1,468 6,617 4,033 
Other291 304 724 909 
Total$102,677 $89,758 $290,755 $245,512 
XPEL's largest customer accounted for 10.0% and 12.3% of the Company's net sales during the three months ended September 30, 2023 and 2022, respectively and 8.6% and 11.3% of the Company's net sales during the nine months ended September 30, 2023 and 2022, respectively.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.23.3
PROPERTY AND EQUIPMENT, NET
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
PROPERTY AND EQUIPMENT, NET PROPERTY AND EQUIPMENT, NET
Property and equipment consists of the following (dollars in thousands):
September 30, 2023December 31, 2022
Furniture and fixtures
$3,189 $2,667 
Computer equipment4,392 3,455 
Vehicles903 838 
Equipment5,279 4,728 
Leasehold improvements10,276 7,081 
Plotters3,750 2,980 
Construction in Progress351 1,745 
Total property and equipment28,140 23,494 
Less: accumulated depreciation12,450 9,291 
Property and equipment, net$15,690 $14,203 
Depreciation expense for the three months ended September 30, 2023 and 2022 was $1.2 million and $0.9 million, respectively. For the nine months ended September 30, 2023 and 2022, depreciation expense was $3.2 million and $2.5 million, respectively.
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.23.3
INTANGIBLE ASSETS, NET
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
INTANGIBLE ASSETS, NET INTANGIBLE ASSETS, NET
Intangible assets consist of the following (dollars in thousands):
September 30, 2023December 31, 2022
Trademarks
$823 $686 
Software
5,472 4,822 
Trade names1,609 1,451 
Contractual and customer relationships
34,724 31,871 
Non-compete
439 440 
Other
498 497 
Total cost
43,565 39,767 
Less: Accumulated amortization14,104 10,473 
Intangible assets, net$29,461 $29,294 
Amortization expense for the three months ended September 30, 2023 and 2022 was $1.3 million and $1.1 million, respectively. For the nine months ended September 30, 2023 and 2022, amortization expense was $3.7 million and $3.2 million, respectively.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.23.3
GOODWILL
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
GOODWILL GOODWILL
The following table summarizes goodwill transactions for the nine months ended September 30, 2023 and 2022 (dollars in thousands):
2023
Balance at December 31, 2022$26,763 
Additions and purchase price allocation adjustments1,875 
Foreign Exchange(36)
Balance at September 30, 2023$28,602 
2022
Balance at December 31, 2021$25,655 
Additions and purchase price allocation adjustments1,826 
Foreign Exchange(718)
Balance at December 31, 2022$26,763 
The Company completed one acquisition in the nine months ended September 30, 2023. Refer to Note 13 for discussion of this acquisition.
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.23.3
INVENTORIES
9 Months Ended
Sep. 30, 2023
Inventory Disclosure [Abstract]  
INVENTORIES INVENTORIES
The components of inventory are summarized as follows (dollars in thousands):
September 30, 2023December 31, 2022
Raw materials$18,741 $10,416 
Work in process3,617 6,756 
Finished goods70,100 63,403 
$92,458 $80,575 
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.23.3
DEBT
9 Months Ended
Sep. 30, 2023
Debt Disclosure [Abstract]  
DEBT DEBT
REVOLVING FACILITIES
The Company has a revolving credit facility providing for secured revolving loans and letters of credit in an aggregate amount of up to $125.0 million, which is subject to the terms of a credit agreement dated April 6, 2023 (the "Credit Agreement"). As of September 30, 2023, no balance was outstanding under this agreement. As of December 31, 2022, the Company had an outstanding balance of $26.0 million under a prior credit agreement which was subsequently repaid and terminated.
Borrowings under the Credit Agreement bear interest, at XPEL’s option, at a rate equal to either (a) Base Rate or (b) Adjusted Term SOFR. In addition to the applicable interest rate, the Credit Agreement includes a commitment fee ranging from 0.20% to 0.25% per annum for the unused portion of the aggregate commitment and an applicable margin ranging from 0.00% to 0.50% for Base Rate Loans and 1.00% to 1.50% for Adjusted Term SOFR Loans. At September 30, 2023, these rates were 8.5% and 6.3%, respectively. Both the margin applicable to the interest rate and the commitment fee are dependent on XPEL’s Consolidated Total Leverage Ratio. The Credit Agreement's maturity date is April 6, 2026. All capitalized terms in this description of the credit facility that are not otherwise defined in this report have the meaning assigned to them in the Credit Agreement.
Obligations under the Credit Agreement are secured by a first priority perfected security interest, subject to certain permitted encumbrances, in all of XPEL’s material property and assets.
The terms of the Credit Agreement include certain affirmative and negative covenants that require, among other things, XPEL to maintain legal existence and remain in good standing, comply with applicable laws, maintain accounting records, deliver financial statements and certifications on a timely basis, pay taxes as required by law, and maintain insurance coverage, as well as to forgo certain specified future activities that might otherwise encumber XPEL and certain customary covenants. The Credit Agreement provides for two financial covenants, as follows.
As of the last day of each fiscal quarter:
1.XPEL shall not allow its Consolidated Total Leverage Ratio to exceed 3.50 to 1.00, and
2.XPEL shall not allow its Consolidated Interest Coverage Ratio to be less than 3.00 to 1.00.

The Company also has a CAD $4.5 million (approximately $3.3 million as of September 30, 2023) revolving credit facility through a financial institution in Canada, as maintained by XPEL Canada Corp., a wholly-owned subsidiary of XPEL. This Canadian facility is utilized to fund the Company's working capital needs in Canada. This facility bears interest at HSBC Canada Bank’s prime rate plus 0.25% per annum
and is guaranteed by the parent company. As of September 30, 2023 and December 31, 2022, no balance was outstanding on this line of credit.
As of September 30, 2023 and December 31, 2022, the Company was in compliance with all debt covenants.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.23.3
ACCOUNTS PAYABLE AND ACCRUED LIABILITIES
9 Months Ended
Sep. 30, 2023
Accounts Payable and Accrued Liabilities [Abstract]  
ACCOUNTS PAYABLE AND ACCRUED LIABILITIES ACCOUNTS PAYABLE AND ACCRUED LIABILITIES
The following table presents significant accounts payable and accrued liability balances as of the periods ending (dollars in thousands):
September 30, 2023December 31, 2022
Trade payables$30,419 $16,689 
Payroll liabilities3,236 3,596 
Contract liabilities5,625 261 
Acquisition holdback payments394 191 
Other liabilities2,385 2,233 
$42,059 $22,970 
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.23.3
FAIR VALUE MEASUREMENTS
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
FAIR VALUE MEASUREMENTS FAIR VALUE MEASUREMENTS
ASC 820 prioritizes the inputs to valuation techniques used to measure fair value into the following hierarchy:
Level 1 – Observable inputs such as quoted prices (unadjusted) in active markets for identical assets or liabilities.
Level 2 – Inputs other than the quoted prices in active markets that are observable either directly or indirectly, including: quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active or other inputs that are observable or can be corroborated by observable market data.
Level 3 – Unobservable inputs that are supported by little or no market data and require the reporting entity to develop its own assumptions.
Financial instruments include cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and long-term debt. The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and short-term borrowings approximate fair value because of the near-term maturities of these financial instruments. The carrying value of the Company’s notes payable approximates fair value due to the relatively short-term nature and interest rates of the notes. The carrying value of the Company's long-term debt approximates fair value due to the interest rates being market rates.
The estimated fair value of debt is based on market quotes for instruments with similar terms and remaining maturities.
The Company has contingent liabilities related to future internal performance milestones. The fair value of these liabilities was determined using a Monte Carlo Simulation based on the probability and
timing of certain future payments under these arrangements. These liabilities are accounted for as Level 3 liabilities within the fair value hierarchy.
Liabilities measured at fair value on a recurring basis as of the dates noted below are as follows (dollars in thousands):
September 30, 2023December 31, 2022
Level 3:
     Contingent Liabilities$1,085 $955 
Increases in the fair value of level 3 contingent liabilities are reflected in general and administrative expenses in the Consolidated Statements of Income for the three and nine months ended September 30, 2023.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.23.3
COMMITMENTS AND CONTINGENCIES
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
COMMITMENTS AND CONTINGENCIES COMMITMENTS AND CONTINGENCIESIn the ordinary course of business activities, the Company may be contingently liable for litigation and claims with customers, suppliers and former employees. Management believes that adequate provisions have been recorded in the accounts where required. Management also has determined that the likelihood of any litigation and claims having a material impact on our results of operations, cash flows or financial position is remote.
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.23.3
EARNINGS PER SHARE
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
EARNINGS PER SHARE EARNINGS PER SHARE
We compute basic earnings per share by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share includes effect of granted incremental restricted stock units.
The following table reconciles basic and diluted weighted average shares used in the computation of earnings per share (dollars in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
Numerator2023202220232022
   Net income$13,656 $13,318 $40,830 $33,024 
Denominator
   Weighted average basic shares27,623 27,616 27,620 27,614 
   Dilutive effect of restricted stock units21 14 
   Weighted average diluted shares27,644 27,620 27,634 27,615 
Earnings per share
   Basic$0.49 $0.48 $1.48 $1.20 
   Diluted$0.49 $0.48 $1.48 $1.20 
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.23.3
BUSINESS ACQUISITIONS
9 Months Ended
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
BUSINESS ACQUISITIONS BUSINESS ACQUISITIONS
The Company completed the following acquisition during the nine months ended September 30, 2023 (dollars in thousands):
Acquisition DateName and LocationPurchase PriceAcquisition TypeAcquisition Purpose
May 1, 2023Protective Solutions, Inc. Holliston, Massachusetts, United States$5,502 Share PurchaseMarket Expansion
The following table presents the purchase price allocation for this transaction (dollars in thousands).
(Unaudited)

Protective Solutions, Inc.
Purchase Price
 Cash$5,502 *
Allocation
Cash$411 
Accounts receivable206 
Inventory267 
Prepaid and other assets10 
Fixed assets14 
Trade name150 
Customer relationships2,900 
Goodwill1,875 
Accounts payable and accrued liabilities(331)
$5,502 
* Of this cash consideration, $0.4 million was held back for settlement six months after the acquisition date, pending the completion of certain contractual obligations.
Acquired intangible assets have a weighted average useful life of 9 years. These intangible assets will be amortized on a straight line basis over that period.
Goodwill from this acquisition is deductible for tax purposes. The goodwill represents the acquired employee knowledge of the various markets, distribution knowledge by the employees of the acquired business, as well as the expected synergies resulting from the acquisition.
Acquisition costs incurred related to this acquisition were immaterial and were included in selling, general and administrative expenses.
The acquired company was consolidated into the Company's financial statements on its acquisition date. Revenue of $1.0 million and $1.6 million from this acquisition has been consolidated into the Company's financial statements for the three and nine months ended September 30, 2023, respectively. Net income of $0.3 million and $0.3 million from this acquisition has been consolidated into the Company's financial statements for the three and nine months ended September 30, 2023, respectively.
The following unaudited consolidated pro forma combined financial information presents the Company's results of operations, including the estimated expenses relating to the amortization of
intangibles purchased, as if this acquisition had occurred on January 1, 2023 and 2022 (dollars in thousands):
Nine Months Ended September 30,
2023 (unaudited)
2022
(unaudited)
Revenue$291,983 $248,899 
Net income$40,863 $33,179 
The unaudited consolidated pro forma combined financial information does not purport to be indicative of the results which would have been obtained had the acquisition been completed as of the beginning of the earliest period presented or of results that may be obtained in the future. In addition, they do not include any benefits that may result from the acquisition due to synergies that may be derived from the elimination of any duplicative costs.
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.23.3
SUBSEQUENT EVENTS
9 Months Ended
Sep. 30, 2023
Subsequent Events [Abstract]  
SUBSEQUENT EVENTS SUBSEQUENT EVENTS
Acquisitions of businesses
On October 1, 2023, we completed the acquisition of a Canadian-based automotive film distribution and installation business serving primarily automotive dealerships. On October 4, 2023, we completed the acquisition of a European-based automotive paint protection film installation company serving two OEMs. The total purchase price for these transactions was approximately $13.4 million. In connection with these acquisitions, we deposited $7.4 million into an escrow account as of September 30, 2023. This deposit is included in prepaid expenses in our September 30, 2023 Condensed Consolidated Balance Sheet.
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Pay vs Performance Disclosure        
Net income $ 13,656 $ 13,318 $ 40,830 $ 33,024
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Insider Trading Arrangements - Richard Crumly [Member]
3 Months Ended 9 Months Ended
Sep. 30, 2023
shares
Sep. 30, 2023
shares
Trading Arrangements, by Individual    
Material Terms of Trading Arrangement   On August 31, 2023, Richard Crumly, Director of the Company, adopted a 10b5-1 plan. This plan allows for Mr. Crumly's orderly disposition of 316,912 shares of the Company's Common Stock during the period from December 1, 2023 to December 31, 2024.
Name Richard Crumly  
Title Director  
Rule 10b5-1 Arrangement Adopted true  
Adoption Date August 31, 2023  
Arrangement Duration 366 days  
Aggregate Available 316,912 316,912
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.23.3
SIGNIFICANT ACCOUNTING POLICIES (Policies)
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Basis of Presentation Basis of Presentation - The condensed consolidated financial statements are prepared in conformity with United States Generally Accepted Accounting Principles ("U.S. GAAP") and include the accounts of the Company and its wholly-owned subsidiaries. Intercompany accounts and transactions have been eliminated. The functional currency for the Company is the United States ("U.S.") dollar. The assets and liabilities of each of its wholly-owned foreign subsidiaries are translated into U.S dollars using the exchange rate at the end of the balance sheet date. Revenues and expenses are translated at the average exchange rates for the period. Gains and losses from translations are recognized in foreign currency translation included in accumulated other comprehensive loss in the accompanying consolidated balance sheets.
Segment Reporting Segment Reporting - Management has concluded that XPEL's Chief Operating Decision Maker (“CODM”) is the Company's Chief Executive Officer. The Company’s CODM reviews the entire organization’s consolidated results as a whole on a monthly basis to evaluate performance and make resource allocation decisions.
Use of Estimates Use of Estimates - The preparation of these condensed consolidated financial statements in conformity with U.S. GAAP requires management to make judgments and estimates and form assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated financial statements and reported amounts of revenues and expenses during the reporting period. Estimates and underlying assumptions are reviewed on an ongoing basis. Actual outcomes may differ from these estimates under different assumptions and conditions.
Accounts Receivable Accounts Receivable - Accounts receivable are shown net of an allowance for expected credit losses and doubtful accounts of $0.2 million and $0.2 million as of September 30, 2023 and December 31, 2022, respectively. The Company evaluates the adequacy of its allowances by analyzing the aging of receivables, customer financial condition, historical collection experience, the value of any collateral and other economic and industry factors. Actual collections may differ from historical experience, and if economic, business or customer conditions deteriorate significantly, adjustments to these reserves may be required. When the Company becomes aware of factors that indicate a change in a specific customer’s ability to meet its financial obligations, the Company records a specific reserve for credit losses.
Provisions and Warranties Provisions and Warranties - We provide a warranty on the Company's products. Liability under the warranty policy is based on a review of historical warranty claims. Adjustments are made to the accruals based on actual claims data.
Recently Adopted Accounting Pronouncements
Recently Adopted Accounting Pronouncements
In June 2016, the FASB issued ASU 2016-13, “Financial Instruments — Measurement of Credit Losses on Financial Instruments”, which requires measurement and recognition of expected credit losses for financial assets held. We adopted this pronouncement effective January 1, 2023 without material impact to our financial statements.
Revenue recognition
Revenue recognition
The Company recognizes revenue when it satisfies a performance obligation by transferring control of the promised goods and services to a customer, in an amount that reflects the consideration that it expects to receive in exchange for those goods or services. This is achieved through applying the following five-step model:
Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, the Company satisfies a performance obligation
The Company generates substantially all of its revenue from contracts with customers, whether formal or implied. Sales taxes collected from customers are remitted to the appropriate taxing jurisdictions and are excluded from sales revenue as the Company considers itself a pass-through conduit for collecting and remitting sales taxes, with the exception of taxes assessed during the procurement process of select inventories. Shipping and handling costs are included in cost of sales.
Revenues from product and services sales are recognized when control of the goods and services is transferred to the customer, which occurs at a point in time, typically upon shipment to the customer or completion of the service. This standard applies to all contracts with customers, except for contracts that are within the scope of other standards, such as leases, insurance, collaboration arrangements and financial instruments.
Based upon the nature of the products the Company sells, its customers have limited rights of return, and these rights are immaterial. Discounts provided by the Company to customers at the time of sale are recognized as a reduction in sales at the time of the sale.
Warranty obligations associated with the sale of the Company's products are assurance-type warranties that are a guarantee of the product’s intended functionality and, therefore, do not represent a distinct performance obligation within the context of the contract. Warranty expense is included in cost of sales.
We apply a practical expedient to expense direct costs of obtaining a contract when incurred because the amortization period would have been one year or less.
Under its contracts with customers, the Company stands ready to deliver product upon receipt of a customer's purchase order. Accordingly, the Company has no performance obligations under its contracts until its customers submit a purchase order. The Company does not enter into commitments to provide goods or services that have terms greater than one year. In limited cases, the Company requires payment in advance of shipping product. Typically, product is shipped within a few days after prepayment is received. These prepayments are recorded as contract liabilities on the condensed consolidated balance sheet and are included in accounts payable and accrued liabilities (Note 9). As the performance obligation is part of a contract that has an original expected duration of less than one year, the Company has applied the practical expedient under ASC 606 to omit disclosures regarding remaining performance obligations.
When the Company transfers goods or provides services to a customer, payment is due, subject to normal terms, and is not conditional on anything other than the passage of time. Typical payment terms range from due upon receipt to 30 days, depending on the type of customer and relationship. At contract inception, the Company expects that the period of time between the transfer of goods to the customer and when the customer pays for those goods will be less than one year, which is consistent with the Company’s standard payment terms. Accordingly, the Company has elected the practical expedient under ASC 606 to not adjust for the effects of a significant financing component. As such, these amounts are recorded as receivables and not contract assets.
Fair Value Measurements FAIR VALUE MEASUREMENTS
ASC 820 prioritizes the inputs to valuation techniques used to measure fair value into the following hierarchy:
Level 1 – Observable inputs such as quoted prices (unadjusted) in active markets for identical assets or liabilities.
Level 2 – Inputs other than the quoted prices in active markets that are observable either directly or indirectly, including: quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active or other inputs that are observable or can be corroborated by observable market data.
Level 3 – Unobservable inputs that are supported by little or no market data and require the reporting entity to develop its own assumptions.
Financial instruments include cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and long-term debt. The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and short-term borrowings approximate fair value because of the near-term maturities of these financial instruments. The carrying value of the Company’s notes payable approximates fair value due to the relatively short-term nature and interest rates of the notes. The carrying value of the Company's long-term debt approximates fair value due to the interest rates being market rates.
The estimated fair value of debt is based on market quotes for instruments with similar terms and remaining maturities.
The Company has contingent liabilities related to future internal performance milestones. The fair value of these liabilities was determined using a Monte Carlo Simulation based on the probability and
timing of certain future payments under these arrangements. These liabilities are accounted for as Level 3 liabilities within the fair value hierarchy.
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.23.3
SIGNIFICANT ACCOUNTING POLICIES (Tables)
9 Months Ended
Sep. 30, 2023
Accounting Policies [Abstract]  
Schedule of Product Warranty Liability The following tables present a summary of the Company's accrued warranty liabilities for the nine months ended September 30, 2023 and the twelve months ended December 31, 2022 (dollars in thousands):
2023
Warranty liability, January 1$234 
Warranties assumed in period446 
Payments(306)
Warranty liability, September 30$374 
2022
Warranty liability, January 1$75 
Warranties assumed in period624 
Payments(465)
Warranty liability, December 31$234 
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE (Tables)
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
Schedule of Transactions Within Contract Liabilities The following table summarizes transactions within contract liabilities for the three and nine months ended September 30, 2023 (dollars in thousands):
Balance, December 31, 2022$261 
Revenue recognized related to payments included in the December 31, 2022 balance(206)
Payments received for which performance obligations have not been satisfied2,791 
Effect of foreign currency translation
Balance, March 31, 20232,847 
Revenue recognized related to payments included in the March 31, 2023 balance(2,771)
Payments received for which performance obligations have not been satisfied3,955 
Effect of foreign currency translation(4)
Balance, June 30, 20234,027 
Revenue recognized related to payments included in the June 30, 2023 balance(3,973)
Payments received for which performance obligations have not been satisfied5,575 
Effect of foreign currency translation(4)
Balance, September 30, 2023$5,625 
Schedule of Disaggregation of Revenue
The table below sets forth the disaggregation of revenue by product category for the periods indicated below (dollars in thousands):
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Product Revenue
Paint protection film$58,977 $54,230 $165,016 $146,465 
Window film18,762 15,391 54,055 42,711 
Other3,386 2,995 10,268 8,577 
Total
$81,125 $72,616 $229,339 $197,753 
Service Revenue
Software$1,652 $1,351 $4,656 $3,804 
Cutbank credits4,524 4,352 13,253 11,459 
Installation labor14,852 11,067 41,781 31,371 
Training and other524 372 1,726 1,125 
Total$21,552 $17,142 $61,416 $47,759 
Total$102,677 $89,758 $290,755 $245,512 
Schedule of Revenue Estimate by Geographic Areas The following table represents the Company's estimate of sales by geographic regions based on the Company's understanding of ultimate product destination based on customer interactions, customer locations and other factors (dollars in thousands):
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
United States$59,002 $51,522 $169,228 $142,275 
Canada11,471 11,046 31,914 29,773 
China10,242 11,009 24,992 27,772 
Continental Europe8,705 6,065 26,354 18,671 
Middle East/Africa3,909 3,322 11,514 8,025 
United Kingdom3,499 2,482 10,220 7,505 
Asia Pacific3,233 2,540 9,192 6,549 
Latin America2,325 1,468 6,617 4,033 
Other291 304 724 909 
Total$102,677 $89,758 $290,755 $245,512 
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.23.3
PROPERTY AND EQUIPMENT, NET (Tables)
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
Schedule of Property, Plant and Equipment
Property and equipment consists of the following (dollars in thousands):
September 30, 2023December 31, 2022
Furniture and fixtures
$3,189 $2,667 
Computer equipment4,392 3,455 
Vehicles903 838 
Equipment5,279 4,728 
Leasehold improvements10,276 7,081 
Plotters3,750 2,980 
Construction in Progress351 1,745 
Total property and equipment28,140 23,494 
Less: accumulated depreciation12,450 9,291 
Property and equipment, net$15,690 $14,203 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.23.3
INTANGIBLE ASSETS, NET (Tables)
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets
Intangible assets consist of the following (dollars in thousands):
September 30, 2023December 31, 2022
Trademarks
$823 $686 
Software
5,472 4,822 
Trade names1,609 1,451 
Contractual and customer relationships
34,724 31,871 
Non-compete
439 440 
Other
498 497 
Total cost
43,565 39,767 
Less: Accumulated amortization14,104 10,473 
Intangible assets, net$29,461 $29,294 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.23.3
GOODWILL (Tables)
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The following table summarizes goodwill transactions for the nine months ended September 30, 2023 and 2022 (dollars in thousands):
2023
Balance at December 31, 2022$26,763 
Additions and purchase price allocation adjustments1,875 
Foreign Exchange(36)
Balance at September 30, 2023$28,602 
2022
Balance at December 31, 2021$25,655 
Additions and purchase price allocation adjustments1,826 
Foreign Exchange(718)
Balance at December 31, 2022$26,763 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.23.3
INVENTORIES (Tables)
9 Months Ended
Sep. 30, 2023
Inventory Disclosure [Abstract]  
Schedule of Inventory
The components of inventory are summarized as follows (dollars in thousands):
September 30, 2023December 31, 2022
Raw materials$18,741 $10,416 
Work in process3,617 6,756 
Finished goods70,100 63,403 
$92,458 $80,575 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.23.3
ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables)
9 Months Ended
Sep. 30, 2023
Accounts Payable and Accrued Liabilities [Abstract]  
Schedule of Accounts Payable and Accrued Liabilities
The following table presents significant accounts payable and accrued liability balances as of the periods ending (dollars in thousands):
September 30, 2023December 31, 2022
Trade payables$30,419 $16,689 
Payroll liabilities3,236 3,596 
Contract liabilities5,625 261 
Acquisition holdback payments394 191 
Other liabilities2,385 2,233 
$42,059 $22,970 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.23.3
FAIR VALUE MEASUREMENTS (Tables)
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
Schedule of Fair Value, Liabilities Measured on Recurring Basis
Liabilities measured at fair value on a recurring basis as of the dates noted below are as follows (dollars in thousands):
September 30, 2023December 31, 2022
Level 3:
     Contingent Liabilities$1,085 $955 
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.23.3
EARNINGS PER SHARE (Tables)
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share, Basic and Diluted
The following table reconciles basic and diluted weighted average shares used in the computation of earnings per share (dollars in thousands):
Three Months Ended September 30,Nine Months Ended September 30,
Numerator2023202220232022
   Net income$13,656 $13,318 $40,830 $33,024 
Denominator
   Weighted average basic shares27,623 27,616 27,620 27,614 
   Dilutive effect of restricted stock units21 14 
   Weighted average diluted shares27,644 27,620 27,634 27,615 
Earnings per share
   Basic$0.49 $0.48 $1.48 $1.20 
   Diluted$0.49 $0.48 $1.48 $1.20 
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.23.3
BUSINESS ACQUISITIONS (Tables)
9 Months Ended
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Schedule of Completed Acquisitions
The Company completed the following acquisition during the nine months ended September 30, 2023 (dollars in thousands):
Acquisition DateName and LocationPurchase PriceAcquisition TypeAcquisition Purpose
May 1, 2023Protective Solutions, Inc. Holliston, Massachusetts, United States$5,502 Share PurchaseMarket Expansion
Schedule of Preliminary Purchase Price Allocation Acquisition
The following table presents the purchase price allocation for this transaction (dollars in thousands).
(Unaudited)

Protective Solutions, Inc.
Purchase Price
 Cash$5,502 *
Allocation
Cash$411 
Accounts receivable206 
Inventory267 
Prepaid and other assets10 
Fixed assets14 
Trade name150 
Customer relationships2,900 
Goodwill1,875 
Accounts payable and accrued liabilities(331)
$5,502 
* Of this cash consideration, $0.4 million was held back for settlement six months after the acquisition date, pending the completion of certain contractual obligations.
Schedule of Pro Forma Information The following unaudited consolidated pro forma combined financial information presents the Company's results of operations, including the estimated expenses relating to the amortization of
intangibles purchased, as if this acquisition had occurred on January 1, 2023 and 2022 (dollars in thousands):
Nine Months Ended September 30,
2023 (unaudited)
2022
(unaudited)
Revenue$291,983 $248,899 
Net income$40,863 $33,179 
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.23.3
SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details)
9 Months Ended
Sep. 30, 2023
segment
Accounting Policies [Abstract]  
Number of operating segments 1
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.23.3
SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) - USD ($)
$ in Millions
Sep. 30, 2023
Dec. 31, 2022
Accounting Policies [Abstract]    
Allowance for doubtful accounts included in accounts receivable $ 0.2 $ 0.2
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.23.3
SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) - USD ($)
$ in Thousands
9 Months Ended 12 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Accounting Policies [Abstract]    
Warranty liability $ 374 $ 234
Movement in Standard Product Warranty Accrual [Roll Forward]    
Warranty liability, beginning balance 234 75
Warranties assumed in period 446 624
Payments (306) (465)
Warranty liability, ending balance $ 374 $ 234
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Transactions Within Contract Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Movement in Deferred Revenue [Roll Forward]      
Beginning contract liabilities $ 4,027 $ 2,847 $ 261
Revenue recognized related to payments (3,973) (2,771) (206)
Payments received for which performance obligations have not been satisfied 5,575 3,955 2,791
Effect of foreign currency translation (4) (4) 1
Ending contract liabilities $ 5,625 $ 4,027 $ 2,847
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Disaggregation of Revenue [Line Items]        
Total revenue $ 102,677 $ 89,758 $ 290,755 $ 245,512
Product Revenue        
Disaggregation of Revenue [Line Items]        
Total revenue 81,125 72,616 229,339 197,753
Paint protection film        
Disaggregation of Revenue [Line Items]        
Total revenue 58,977 54,230 165,016 146,465
Window film        
Disaggregation of Revenue [Line Items]        
Total revenue 18,762 15,391 54,055 42,711
Other        
Disaggregation of Revenue [Line Items]        
Total revenue 3,386 2,995 10,268 8,577
Service Revenue        
Disaggregation of Revenue [Line Items]        
Total revenue 21,552 17,142 61,416 47,759
Software        
Disaggregation of Revenue [Line Items]        
Total revenue 1,652 1,351 4,656 3,804
Cutbank credits        
Disaggregation of Revenue [Line Items]        
Total revenue 4,524 4,352 13,253 11,459
Installation labor        
Disaggregation of Revenue [Line Items]        
Total revenue 14,852 11,067 41,781 31,371
Training and other        
Disaggregation of Revenue [Line Items]        
Total revenue $ 524 $ 372 $ 1,726 $ 1,125
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Revenue Estimate By Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Disaggregation of Revenue [Line Items]        
Total revenue $ 102,677 $ 89,758 $ 290,755 $ 245,512
United States        
Disaggregation of Revenue [Line Items]        
Total revenue 59,002 51,522 169,228 142,275
Canada        
Disaggregation of Revenue [Line Items]        
Total revenue 11,471 11,046 31,914 29,773
China        
Disaggregation of Revenue [Line Items]        
Total revenue 10,242 11,009 24,992 27,772
Continental Europe        
Disaggregation of Revenue [Line Items]        
Total revenue 8,705 6,065 26,354 18,671
Middle East/Africa        
Disaggregation of Revenue [Line Items]        
Total revenue 3,909 3,322 11,514 8,025
United Kingdom        
Disaggregation of Revenue [Line Items]        
Total revenue 3,499 2,482 10,220 7,505
Asia Pacific        
Disaggregation of Revenue [Line Items]        
Total revenue 3,233 2,540 9,192 6,549
Latin America        
Disaggregation of Revenue [Line Items]        
Total revenue 2,325 1,468 6,617 4,033
Other        
Disaggregation of Revenue [Line Items]        
Total revenue $ 291 $ 304 $ 724 $ 909
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.23.3
REVENUE - Narrative (Details)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Largest Customers | Customer Concentration Risk | Revenue from Contract with Customer Benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk percentage 10.00% 12.30% 8.60% 11.30%
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.23.3
PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 28,140 $ 23,494
Less: accumulated depreciation 12,450 9,291
Property and equipment, net 15,690 14,203
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Total property and equipment 3,189 2,667
Computer equipment    
Property, Plant and Equipment [Line Items]    
Total property and equipment 4,392 3,455
Vehicles    
Property, Plant and Equipment [Line Items]    
Total property and equipment 903 838
Equipment    
Property, Plant and Equipment [Line Items]    
Total property and equipment 5,279 4,728
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Total property and equipment 10,276 7,081
Plotters    
Property, Plant and Equipment [Line Items]    
Total property and equipment 3,750 2,980
Construction in Progress    
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 351 $ 1,745
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.23.3
PROPERTY AND EQUIPMENT, NET - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Property, Plant and Equipment [Abstract]        
Depreciation expense $ 1,200 $ 900 $ 3,229 $ 2,486
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.23.3
INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Total cost $ 43,565 $ 39,767
Less: Accumulated amortization 14,104 10,473
Intangible assets, net 29,461 29,294
Trademarks    
Finite-Lived Intangible Assets [Line Items]    
Total cost 823 686
Software    
Finite-Lived Intangible Assets [Line Items]    
Total cost 5,472 4,822
Trade names    
Finite-Lived Intangible Assets [Line Items]    
Total cost 1,609 1,451
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Total cost 34,724 31,871
Non-compete    
Finite-Lived Intangible Assets [Line Items]    
Total cost 439 440
Other    
Finite-Lived Intangible Assets [Line Items]    
Total cost $ 498 $ 497
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.23.3
INTANGIBLE ASSETS, NET - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Goodwill and Intangible Assets Disclosure [Abstract]        
Amortization of intangible assets $ 1,300 $ 1,100 $ 3,660 $ 3,248
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.23.3
GOODWILL - Schedule of Goodwill (Details) - USD ($)
$ in Thousands
9 Months Ended 12 Months Ended
Sep. 30, 2023
Dec. 31, 2022
Goodwill [Roll Forward]    
Goodwill beginning balance $ 26,763 $ 25,655
Additions and purchase price allocation adjustments 1,875  
Additions and purchase price allocation adjustments   1,826
Foreign Exchange (36) (718)
Goodwill ending balance $ 28,602 $ 26,763
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.23.3
GOODWILL - Narrative (Details)
9 Months Ended
Sep. 30, 2023
acquisition
Goodwill and Intangible Assets Disclosure [Abstract]  
Number of businesses acquired 1
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.23.3
INVENTORIES (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Raw materials $ 18,741 $ 10,416
Work in process 3,617 6,756
Finished goods 70,100 63,403
Inventories $ 92,458 $ 80,575
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.23.3
DEBT (Details)
9 Months Ended
Sep. 30, 2023
USD ($)
covenant
Sep. 30, 2023
CAD ($)
covenant
Apr. 06, 2023
Dec. 31, 2022
USD ($)
Line of Credit Facility [Line Items]        
Number of covenants | covenant 2 2    
Revolving Credit Facility | Line of Credit        
Line of Credit Facility [Line Items]        
Maximum borrowing capacity $ 125,000,000      
Amount outstanding 0     $ 26,000,000
Covenant, leverage ratio, maximum     3.50  
Covenant, interest coverage ratio, minimum     3.00  
Revolving Credit Facility | Line of Credit | HSBC Bank Canada        
Line of Credit Facility [Line Items]        
Maximum borrowing capacity 3,300,000 $ 4,500,000    
Amount outstanding $ 0     $ 0
Revolving Credit Facility | Line of Credit | Base Rate        
Line of Credit Facility [Line Items]        
Line of credit facility, interest rate 8.50% 8.50%    
Revolving Credit Facility | Line of Credit | SOFR        
Line of Credit Facility [Line Items]        
Line of credit facility, interest rate       6.30%
Revolving Credit Facility | Line of Credit | Prime Rate | HSBC Bank Canada        
Line of Credit Facility [Line Items]        
Basis spread on prime rate 0.25%      
Revolving Credit Facility | Line of Credit | Minimum        
Line of Credit Facility [Line Items]        
Commitment fee percentage 0.20%      
Revolving Credit Facility | Line of Credit | Minimum | Base Rate        
Line of Credit Facility [Line Items]        
Basis spread on prime rate 0.00%      
Revolving Credit Facility | Line of Credit | Minimum | SOFR        
Line of Credit Facility [Line Items]        
Basis spread on prime rate 1.00%      
Revolving Credit Facility | Line of Credit | Maximum        
Line of Credit Facility [Line Items]        
Commitment fee percentage 0.25%      
Revolving Credit Facility | Line of Credit | Maximum | Base Rate        
Line of Credit Facility [Line Items]        
Basis spread on prime rate 0.50%      
Revolving Credit Facility | Line of Credit | Maximum | SOFR        
Line of Credit Facility [Line Items]        
Basis spread on prime rate 1.50%      
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.23.3
ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Accounts Payable and Accrued Liabilities [Abstract]        
Trade payables $ 30,419     $ 16,689
Payroll liabilities 3,236     3,596
Contract liabilities 5,625 $ 4,027 $ 2,847 261
Acquisition holdback payments 394     191
Other liabilities 2,385     2,233
Accounts payable and accrued liabilities $ 42,059     $ 22,970
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.23.3
FAIR VALUE MEASUREMENTS (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Fair Value, Inputs, Level 3 | Fair Value, Recurring    
Fair Value, Option, Quantitative Disclosures [Line Items]    
Contingent Liabilities $ 1,085 $ 955
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.23.3
EARNINGS PER SHARE (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Numerator        
Net income $ 13,656 $ 13,318 $ 40,830 $ 33,024
Denominator        
Weighted average basic shares (in shares) 27,623 27,616 27,620 27,614
Dilutive effect of restricted stock units (in shares) 21 4 14 1
Weighted average diluted shares (in shares) 27,644 27,620 27,634 27,615
Earnings per share        
Basic (in dollars per share) $ 0.49 $ 0.48 $ 1.48 $ 1.20
Diluted (in dollars per share) $ 0.49 $ 0.48 $ 1.48 $ 1.20
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.23.3
BUSINESS ACQUISITIONS - Schedule of Business Combinations Complete by Year-End (Details) (Details)
$ in Thousands
May 01, 2023
USD ($)
Protective Solutions, Inc.  
Business Acquisition [Line Items]  
Purchase Price $ 5,502
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.23.3
BUSINESS ACQUISITIONS - Schedule of Acquisition Purchase Price (Details) - USD ($)
$ in Thousands
6 Months Ended
May 01, 2023
Nov. 01, 2023
Sep. 30, 2023
Dec. 31, 2022
Dec. 31, 2021
Allocation          
Goodwill     $ 28,602 $ 26,763 $ 25,655
Subsequent Event | Forecast          
Purchase Price          
Cash   $ 400      
Protective Solutions, Inc.          
Purchase Price          
Cash $ 5,502        
Allocation          
Cash 411        
Accounts receivable 206        
Inventory 267        
Prepaid and other assets 10        
Fixed assets 14        
Goodwill 1,875        
Accounts payable and accrued liabilities (331)        
Total net assets acquired 5,502        
Protective Solutions, Inc. | Trade names          
Allocation          
Intangible assets 150        
Protective Solutions, Inc. | Customer relationships          
Allocation          
Intangible assets $ 2,900        
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.23.3
BUSINESS ACQUISITIONS - Narrative (Details)
$ in Millions
3 Months Ended 9 Months Ended
May 01, 2023
Sep. 30, 2023
USD ($)
Sep. 30, 2023
USD ($)
acquisition
Business Combination and Asset Acquisition [Abstract]      
Weighted average useful life 9 years    
Acquisitions revenue   $ 1.0 $ 1.6
Acquisitions net income   $ 0.3 $ 0.3
Number of businesses acquired | acquisition     1
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.23.3
BUSINESS ACQUISITIONS - Schedule of Pro Forma Results (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Business Combination and Asset Acquisition [Abstract]    
Revenue $ 291,983 $ 248,899
Net income $ 40,863 $ 33,179
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.23.3
SUBSEQUENT EVENTS (Details) - Automotive OEM Paint Protection Film - USD ($)
$ in Millions
Oct. 04, 2023
Sep. 30, 2023
Subsequent Event [Line Items]    
Escrow deposit   $ 7.4
Subsequent Event    
Subsequent Event [Line Items]    
Purchase Price $ 13.4  
XML 69 xpel-20230930_htm.xml IDEA: XBRL DOCUMENT 0001767258 2023-01-01 2023-09-30 0001767258 2023-11-08 0001767258 2023-09-30 0001767258 2022-12-31 0001767258 us-gaap:ProductMember 2023-07-01 2023-09-30 0001767258 us-gaap:ProductMember 2022-07-01 2022-09-30 0001767258 us-gaap:ProductMember 2023-01-01 2023-09-30 0001767258 us-gaap:ProductMember 2022-01-01 2022-09-30 0001767258 us-gaap:ServiceMember 2023-07-01 2023-09-30 0001767258 us-gaap:ServiceMember 2022-07-01 2022-09-30 0001767258 us-gaap:ServiceMember 2023-01-01 2023-09-30 0001767258 us-gaap:ServiceMember 2022-01-01 2022-09-30 0001767258 2023-07-01 2023-09-30 0001767258 2022-07-01 2022-09-30 0001767258 2022-01-01 2022-09-30 0001767258 us-gaap:CommonStockMember 2022-06-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001767258 us-gaap:RetainedEarningsMember 2022-06-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001767258 2022-06-30 0001767258 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001767258 us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001767258 us-gaap:CommonStockMember 2022-09-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001767258 us-gaap:RetainedEarningsMember 2022-09-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-09-30 0001767258 2022-09-30 0001767258 us-gaap:CommonStockMember 2023-06-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001767258 us-gaap:RetainedEarningsMember 2023-06-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001767258 2023-06-30 0001767258 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001767258 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001767258 us-gaap:CommonStockMember 2023-09-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001767258 us-gaap:RetainedEarningsMember 2023-09-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001767258 us-gaap:CommonStockMember 2021-12-31 0001767258 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001767258 us-gaap:RetainedEarningsMember 2021-12-31 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001767258 2021-12-31 0001767258 us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001767258 us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001767258 us-gaap:CommonStockMember 2022-12-31 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001767258 us-gaap:RetainedEarningsMember 2022-12-31 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001767258 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001767258 us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001767258 2022-01-01 2022-12-31 0001767258 2023-01-01 2023-03-31 0001767258 2023-03-31 0001767258 2023-04-01 2023-06-30 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2023-07-01 2023-09-30 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2022-07-01 2022-09-30 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2023-01-01 2023-09-30 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2022-01-01 2022-09-30 0001767258 xpel:ProductRevenueWindowFilmMember 2023-07-01 2023-09-30 0001767258 xpel:ProductRevenueWindowFilmMember 2022-07-01 2022-09-30 0001767258 xpel:ProductRevenueWindowFilmMember 2023-01-01 2023-09-30 0001767258 xpel:ProductRevenueWindowFilmMember 2022-01-01 2022-09-30 0001767258 xpel:ProductRevenueOtherMember 2023-07-01 2023-09-30 0001767258 xpel:ProductRevenueOtherMember 2022-07-01 2022-09-30 0001767258 xpel:ProductRevenueOtherMember 2023-01-01 2023-09-30 0001767258 xpel:ProductRevenueOtherMember 2022-01-01 2022-09-30 0001767258 xpel:ServiceRevenueSoftwareMember 2023-07-01 2023-09-30 0001767258 xpel:ServiceRevenueSoftwareMember 2022-07-01 2022-09-30 0001767258 xpel:ServiceRevenueSoftwareMember 2023-01-01 2023-09-30 0001767258 xpel:ServiceRevenueSoftwareMember 2022-01-01 2022-09-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2023-07-01 2023-09-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2022-07-01 2022-09-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2023-01-01 2023-09-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2022-01-01 2022-09-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2023-07-01 2023-09-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2022-07-01 2022-09-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2023-01-01 2023-09-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2022-01-01 2022-09-30 0001767258 xpel:ServiceRevenueOtherMember 2023-07-01 2023-09-30 0001767258 xpel:ServiceRevenueOtherMember 2022-07-01 2022-09-30 0001767258 xpel:ServiceRevenueOtherMember 2023-01-01 2023-09-30 0001767258 xpel:ServiceRevenueOtherMember 2022-01-01 2022-09-30 0001767258 country:US 2023-07-01 2023-09-30 0001767258 country:US 2022-07-01 2022-09-30 0001767258 country:US 2023-01-01 2023-09-30 0001767258 country:US 2022-01-01 2022-09-30 0001767258 country:CA 2023-07-01 2023-09-30 0001767258 country:CA 2022-07-01 2022-09-30 0001767258 country:CA 2023-01-01 2023-09-30 0001767258 country:CA 2022-01-01 2022-09-30 0001767258 country:CN 2023-07-01 2023-09-30 0001767258 country:CN 2022-07-01 2022-09-30 0001767258 country:CN 2023-01-01 2023-09-30 0001767258 country:CN 2022-01-01 2022-09-30 0001767258 srt:EuropeMember 2023-07-01 2023-09-30 0001767258 srt:EuropeMember 2022-07-01 2022-09-30 0001767258 srt:EuropeMember 2023-01-01 2023-09-30 0001767258 srt:EuropeMember 2022-01-01 2022-09-30 0001767258 xpel:MiddleEastAfricaMember 2023-07-01 2023-09-30 0001767258 xpel:MiddleEastAfricaMember 2022-07-01 2022-09-30 0001767258 xpel:MiddleEastAfricaMember 2023-01-01 2023-09-30 0001767258 xpel:MiddleEastAfricaMember 2022-01-01 2022-09-30 0001767258 country:GB 2023-07-01 2023-09-30 0001767258 country:GB 2022-07-01 2022-09-30 0001767258 country:GB 2023-01-01 2023-09-30 0001767258 country:GB 2022-01-01 2022-09-30 0001767258 srt:AsiaPacificMember 2023-07-01 2023-09-30 0001767258 srt:AsiaPacificMember 2022-07-01 2022-09-30 0001767258 srt:AsiaPacificMember 2023-01-01 2023-09-30 0001767258 srt:AsiaPacificMember 2022-01-01 2022-09-30 0001767258 srt:LatinAmericaMember 2023-07-01 2023-09-30 0001767258 srt:LatinAmericaMember 2022-07-01 2022-09-30 0001767258 srt:LatinAmericaMember 2023-01-01 2023-09-30 0001767258 srt:LatinAmericaMember 2022-01-01 2022-09-30 0001767258 xpel:OtherGeographicRegionMember 2023-07-01 2023-09-30 0001767258 xpel:OtherGeographicRegionMember 2022-07-01 2022-09-30 0001767258 xpel:OtherGeographicRegionMember 2023-01-01 2023-09-30 0001767258 xpel:OtherGeographicRegionMember 2022-01-01 2022-09-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-07-01 2022-09-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-09-30 0001767258 us-gaap:FurnitureAndFixturesMember 2023-09-30 0001767258 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001767258 us-gaap:ComputerEquipmentMember 2023-09-30 0001767258 us-gaap:ComputerEquipmentMember 2022-12-31 0001767258 us-gaap:VehiclesMember 2023-09-30 0001767258 us-gaap:VehiclesMember 2022-12-31 0001767258 us-gaap:EquipmentMember 2023-09-30 0001767258 us-gaap:EquipmentMember 2022-12-31 0001767258 us-gaap:LeaseholdImprovementsMember 2023-09-30 0001767258 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001767258 xpel:ComputerEquipmentPlotterMember 2023-09-30 0001767258 xpel:ComputerEquipmentPlotterMember 2022-12-31 0001767258 us-gaap:ConstructionInProgressMember 2023-09-30 0001767258 us-gaap:ConstructionInProgressMember 2022-12-31 0001767258 us-gaap:TrademarksMember 2023-09-30 0001767258 us-gaap:TrademarksMember 2022-12-31 0001767258 us-gaap:SoftwareDevelopmentMember 2023-09-30 0001767258 us-gaap:SoftwareDevelopmentMember 2022-12-31 0001767258 us-gaap:TradeNamesMember 2023-09-30 0001767258 us-gaap:TradeNamesMember 2022-12-31 0001767258 us-gaap:CustomerRelationshipsMember 2023-09-30 0001767258 us-gaap:CustomerRelationshipsMember 2022-12-31 0001767258 us-gaap:NoncompeteAgreementsMember 2023-09-30 0001767258 us-gaap:NoncompeteAgreementsMember 2022-12-31 0001767258 us-gaap:OtherIntangibleAssetsMember 2023-09-30 0001767258 us-gaap:OtherIntangibleAssetsMember 2022-12-31 0001767258 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2023-09-30 0001767258 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2022-12-31 0001767258 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2023-01-01 2023-09-30 0001767258 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2023-01-01 2023-09-30 0001767258 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember us-gaap:BaseRateMember 2023-01-01 2023-09-30 0001767258 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember us-gaap:BaseRateMember 2023-01-01 2023-09-30 0001767258 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember xpel:SecuredOvernightFinancingRateSOFRMember 2023-01-01 2023-09-30 0001767258 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember xpel:SecuredOvernightFinancingRateSOFRMember 2023-01-01 2023-09-30 0001767258 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember us-gaap:BaseRateMember 2023-09-30 0001767258 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember xpel:SecuredOvernightFinancingRateSOFRMember 2022-12-31 0001767258 us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2023-04-06 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:HSBCBankCanadaMember us-gaap:LineOfCreditMember 2023-09-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:HSBCBankCanadaMember us-gaap:LineOfCreditMember us-gaap:PrimeRateMember 2023-01-01 2023-09-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:HSBCBankCanadaMember us-gaap:LineOfCreditMember 2022-12-31 0001767258 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2023-09-30 0001767258 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001767258 xpel:ProtectiveSolutionsIncMember 2023-05-01 2023-05-01 0001767258 xpel:ProtectiveSolutionsIncMember 2023-05-01 0001767258 xpel:ProtectiveSolutionsIncMember us-gaap:TradeNamesMember 2023-05-01 0001767258 xpel:ProtectiveSolutionsIncMember us-gaap:CustomerRelationshipsMember 2023-05-01 0001767258 srt:ScenarioForecastMember us-gaap:SubsequentEventMember 2023-05-01 2023-11-01 0001767258 2023-05-01 2023-05-01 0001767258 xpel:AutomotiveOEMPaintProtectionFilmMember us-gaap:SubsequentEventMember 2023-10-04 2023-10-04 0001767258 xpel:AutomotiveOEMPaintProtectionFilmMember 2023-09-30 0001767258 xpel:RichardCrumlyMember 2023-01-01 2023-09-30 0001767258 xpel:RichardCrumlyMember 2023-07-01 2023-09-30 0001767258 xpel:RichardCrumlyMember 2023-09-30 shares iso4217:USD iso4217:USD shares xpel:segment pure xpel:acquisition xpel:covenant iso4217:CAD false --12-31 2023 Q3 0001767258 P366D 10-Q true 2023-09-30 false 001-38858 XPEL, INC. NV 20-1117381 711 Broadway St., Suite 320 San Antonio TX 78215 210 678-3700 Common Stock, par value $0.001 per share XPEL NASDAQ Yes Yes Large Accelerated Filer false false false 27628953 10374000 8056000 24115000 14726000 92458000 80575000 11091000 3464000 138038000 106821000 15690000 14203000 14014000 15309000 29461000 29294000 971000 972000 28602000 26763000 226776000 193362000 0 77000 3650000 3885000 42059000 22970000 836000 470000 46545000 27402000 1205000 2049000 950000 1070000 0 26000000 11523000 12119000 60223000 68640000 0.001 0.001 10000000 10000000 0 0 0 0 0 0 0.001 0.001 100000000 100000000 27628953 27628953 27616064 27616064 28000 28000 12050000 11073000 -2179000 -2203000 156654000 115824000 166553000 124722000 226776000 193362000 81125000 72616000 229339000 197753000 21552000 17142000 61416000 47759000 102677000 89758000 290755000 245512000 51876000 47225000 143613000 129646000 9272000 6767000 25660000 19400000 61148000 53992000 169273000 149046000 41529000 35766000 121482000 96466000 7730000 6297000 22554000 18515000 16170000 12162000 46180000 34859000 23900000 18459000 68734000 53374000 17629000 17307000 52748000 43092000 85000 391000 946000 933000 -398000 -372000 -419000 -833000 17146000 16544000 51383000 41326000 3490000 3226000 10553000 8302000 13656000 13318000 40830000 33024000 0.49 0.48 1.48 1.20 0.49 0.48 1.48 1.20 27623000 27616000 27620000 27614000 27644000 27620000 27634000 27615000 13656000 13318000 40830000 33024000 -731000 -1551000 24000 -2821000 12926000 11767000 40854000 30203000 27613000 28000 10760000 94149000 -1860000 103077000 13318000 13318000 -1551000 -1551000 3000 109000 109000 27616000 28000 10869000 107467000 -3411000 114953000 27620000 28000 11730000 142998000 -1448000 153308000 13656000 13656000 -731000 -731000 9000 320000 320000 27629000 28000 12050000 156654000 -2179000 166553000 27613000 28000 10581000 74443000 -590000 84462000 33024000 33024000 -2821000 -2821000 3000 288000 288000 27616000 28000 10869000 107467000 -3411000 114953000 27616000 28000 11073000 115824000 -2203000 124722000 40830000 40830000 24000 24000 13000 977000 977000 27629000 28000 12050000 156654000 -2179000 166553000 40830000 33024000 3229000 2486000 3660000 3248000 11000 10000 1144000 317000 216000 350000 -844000 7000 0 6000 9483000 5899000 11583000 18423000 7288000 3982000 320000 1077000 18311000 -2505000 38501000 9696000 4741000 5534000 20000 66000 4697000 2993000 798000 1368000 -10216000 -9829000 -26000000 1000000 167000 30000 77000 304000 -26244000 666000 2041000 533000 277000 68000 2318000 601000 8056000 9644000 10374000 10245000 1847000 5209000 874000 222000 11144000 7305000 1000000 900000 INTERIM FINANCIAL INFORMATION<div style="margin-bottom:12pt;padding-right:6.75pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying (a) condensed consolidated balance sheet as of December 31, 2022, which has been derived from audited financial statements, and (b) unaudited interim condensed consolidated financial statements as of and for the three and nine months ended September 30, 2023 and 2022 have been prepared by XPEL, Inc. (“XPEL” or the “Company”) in accordance with accounting principles generally accepted in the United States of America for interim financial information, pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). Pursuant to these rules and regulations, certain financial information and footnote disclosures normally included in the financial statements have been condensed or omitted. However, in the opinion of management, the financial statements include all adjustments, consisting of normal recurring accruals, necessary for a fair presentation of the financial position, results of operations and cash flows of the interim periods presented. Operating results for the interim periods presented are not necessarily indicative of results to be expected for the full year or for any other interim period due to variability in customer purchasing patterns and seasonal, operating and other factors. </span></div><div style="margin-bottom:12pt;padding-right:6.75pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes contained in the Company’s Annual Report on Form 10-K as filed with the SEC on February 28, 2023 (the "Annual Report"). These condensed consolidated financial statements also should be read in conjunction with the Management's Discussion and Analysis of Financial Condition and Results of Operations section appearing in this report.</span></div> SIGNIFICANT ACCOUNTING POLICIES<div style="margin-bottom:12pt;padding-right:6.75pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Nature of Business</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> -</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The Company is based in San Antonio, Texas and sells, distributes, and installs protective films and coatings, including automotive paint protection film, surface protection film, automotive and architectural window films and ceramic coatings. The Company was incorporated in the state of Nevada, U.S.A. in October 2003.</span></div><div style="margin-bottom:12pt;padding-right:6.75pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The condensed consolidated financial statements are prepared in conformity with United States Generally Accepted Accounting Principles ("U.S. GAAP") and include the accounts of the Company and its wholly-owned subsidiaries. Intercompany accounts and transactions have been eliminated. The functional currency for the Company is the United States ("U.S.") dollar. The assets and liabilities of each of its wholly-owned foreign subsidiaries are translated into U.S dollars using the exchange rate at the end of the balance sheet date. Revenues and expenses are translated at the average exchange rates for the period. Gains and losses from translations are recognized in foreign currency translation included in accumulated other comprehensive loss in the accompanying consolidated balance sheets.</span></div><div style="margin-bottom:12pt;padding-right:6.75pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Reporting - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Management has concluded that XPEL's Chief Operating Decision Maker (“CODM”) is the Company's Chief Executive Officer. The Company’s CODM reviews the entire organization’s consolidated results as a whole on a monthly basis to evaluate performance and make resource allocation decisions. Management views the Company’s operations and manages its business as one operating segment.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of these condensed consolidated financial statements in conformity with U.S. GAAP requires management to make judgments and estimates and form assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated financial statements and reported amounts of revenues and expenses during the reporting period. Estimates and underlying assumptions are reviewed on an ongoing basis. Actual outcomes may differ from these estimates under different assumptions and conditions.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounts Receivable - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable are shown net of an allowance for expected credit losses and doubtful accounts of $0.2 million and $0.2 million as of September 30, 2023 and December 31, 2022, respectively. The Company evaluates the adequacy of its allowances by analyzing the aging of receivables, customer financial condition, historical collection experience, the value of any collateral and other economic and industry factors. Actual collections may differ from historical experience, and if economic, business or customer conditions deteriorate significantly, adjustments to these reserves may be required. When the Company becomes aware of factors that indicate a change in a specific customer’s ability to meet its financial obligations, the Company records a specific reserve for credit losses. The Company had no significant accounts receivable concentration as of September 30, 2023 or December 31, 2022.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Provisions and Warranties - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We provide a warranty on the Company's products. Liability under the warranty policy is based on a review of historical warranty claims. Adjustments are made to the accruals based on actual claims data. The Company's liability for warranties as of September 30, 2023 and December 31, 2022 was $0.4 million and $0.2 million, respectively. The following tables present a summary of the Company's accrued warranty liabilities for the nine months ended September 30, 2023 and the twelve months ended December 31, 2022 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.948%"><tr><td style="width:1.0%"></td><td style="width:77.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.280%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, January 1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">234 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranties assumed in period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">446 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(306)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, September 30</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">374 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.948%"><tr><td style="width:1.0%"></td><td style="width:77.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.280%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, January 1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">75 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranties assumed in period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">624 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(465)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, December 31</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">234 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently Adopted Accounting Pronouncements</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU 2016-13, “Financial Instruments — Measurement of Credit Losses on Financial Instruments”, which requires measurement and recognition of expected credit losses for financial assets held. We adopted this pronouncement effective January 1, 2023 without material impact to our financial statements.</span></div> <span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The condensed consolidated financial statements are prepared in conformity with United States Generally Accepted Accounting Principles ("U.S. GAAP") and include the accounts of the Company and its wholly-owned subsidiaries. Intercompany accounts and transactions have been eliminated. The functional currency for the Company is the United States ("U.S.") dollar. The assets and liabilities of each of its wholly-owned foreign subsidiaries are translated into U.S dollars using the exchange rate at the end of the balance sheet date. Revenues and expenses are translated at the average exchange rates for the period. Gains and losses from translations are recognized in foreign currency translation included in accumulated other comprehensive loss in the accompanying consolidated balance sheets.</span> Segment Reporting - Management has concluded that XPEL's Chief Operating Decision Maker (“CODM”) is the Company's Chief Executive Officer. The Company’s CODM reviews the entire organization’s consolidated results as a whole on a monthly basis to evaluate performance and make resource allocation decisions. 1 <span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates - </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of these condensed consolidated financial statements in conformity with U.S. GAAP requires management to make judgments and estimates and form assumptions that affect the reported amounts of assets and liabilities at the date of the consolidated financial statements and reported amounts of revenues and expenses during the reporting period. Estimates and underlying assumptions are reviewed on an ongoing basis. Actual outcomes may differ from these estimates under different assumptions and conditions.</span> Accounts Receivable - Accounts receivable are shown net of an allowance for expected credit losses and doubtful accounts of $0.2 million and $0.2 million as of September 30, 2023 and December 31, 2022, respectively. The Company evaluates the adequacy of its allowances by analyzing the aging of receivables, customer financial condition, historical collection experience, the value of any collateral and other economic and industry factors. Actual collections may differ from historical experience, and if economic, business or customer conditions deteriorate significantly, adjustments to these reserves may be required. When the Company becomes aware of factors that indicate a change in a specific customer’s ability to meet its financial obligations, the Company records a specific reserve for credit losses. 200000 200000 Provisions and Warranties - We provide a warranty on the Company's products. Liability under the warranty policy is based on a review of historical warranty claims. Adjustments are made to the accruals based on actual claims data. 400000 200000 The following tables present a summary of the Company's accrued warranty liabilities for the nine months ended September 30, 2023 and the twelve months ended December 31, 2022 (dollars in thousands):<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.948%"><tr><td style="width:1.0%"></td><td style="width:77.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.280%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, January 1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">234 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranties assumed in period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">446 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(306)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, September 30</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">374 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.948%"><tr><td style="width:1.0%"></td><td style="width:77.520%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:20.280%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, January 1</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">75 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranties assumed in period</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">624 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(465)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Warranty liability, December 31</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">234 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 234000 446000 306000 374000 75000 624000 465000 234000 <div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently Adopted Accounting Pronouncements</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU 2016-13, “Financial Instruments — Measurement of Credit Losses on Financial Instruments”, which requires measurement and recognition of expected credit losses for financial assets held. We adopted this pronouncement effective January 1, 2023 without material impact to our financial statements.</span></div> REVENUE<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes revenue when it satisfies a performance obligation by transferring control of the promised goods and services to a customer, in an amount that reflects the consideration that it expects to receive in exchange for those goods or services. This is achieved through applying the following five-step model:</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the contract, or contracts, with a customer</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the performance obligations in the contract</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Determination of the transaction price</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Allocation of the transaction price to the performance obligations in the contract</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Recognition of revenue when, or as, the Company satisfies a performance obligation</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company generates substantially all of its revenue from contracts with customers, whether formal or implied. Sales taxes collected from customers are remitted to the appropriate taxing jurisdictions and are excluded from sales revenue as the Company considers itself a pass-through conduit for collecting and remitting sales taxes, with the exception of taxes assessed during the procurement process of select inventories. Shipping and handling costs are included in cost of sales.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues from product and services sales are recognized when control of the goods and services is transferred to the customer, which occurs at a point in time, typically upon shipment to the customer or completion of the service. This standard applies to all contracts with customers, except for contracts that are within the scope of other standards, such as leases, insurance, collaboration arrangements and financial instruments.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based upon the nature of the products the Company sells, its customers have limited rights of return, and these rights are immaterial. Discounts provided by the Company to customers at the time of sale are recognized as a reduction in sales at the time of the sale. </span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Warranty obligations associated with the sale of the Company's products are assurance-type warranties that are a guarantee of the product’s intended functionality and, therefore, do not represent a distinct performance obligation within the context of the contract. Warranty expense is included in cost of sales.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We apply a practical expedient to expense direct costs of obtaining a contract when incurred because the amortization period would have been one year or less.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under its contracts with customers, the Company stands ready to deliver product upon receipt of a customer's purchase order. Accordingly, the Company has no performance obligations under its contracts until its customers submit a purchase order. The Company does not enter into commitments to provide goods or services that have terms greater than one year. In limited cases, the Company requires payment in advance of shipping product. Typically, product is shipped within a few days after prepayment is received. These prepayments are recorded as contract liabilities on the condensed consolidated balance sheet and are included in accounts payable and accrued liabilities (Note 9). As the performance obligation is part of a contract that has an original expected duration of less than one year, the Company has applied the practical expedient under ASC 606 to omit disclosures regarding remaining performance obligations. </span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">When the Company transfers goods or provides services to a customer, payment is due, subject to normal terms, and is not conditional on anything other than the passage of time. Typical payment terms range from due upon receipt to 30 days, depending on the type of customer and relationship. At contract inception, the Company expects that the period of time between the transfer of goods to the customer and when the customer pays for those goods will be less than one year, which is consistent with the Company’s standard payment terms. Accordingly, the Company has elected the practical expedient under ASC 606 to not adjust for the effects of a significant financing component. As such, these amounts are recorded as receivables and not contract assets.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes transactions within contract liabilities for the three and nine months ended September 30, 2023 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.867%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.933%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue recognized related to payments included in the December 31, 2022 balance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments received for which performance obligations have not been satisfied</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,791 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, March 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,847 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue recognized related to payments included in the March 31, 2023 balance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,771)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments received for which performance obligations have not been satisfied</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,955 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, June 30, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue recognized related to payments included in the June 30, 2023 balance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,973)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments received for which performance obligations have not been satisfied</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,575 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, September 30, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,625 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify"><span><br/></span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the disaggregation of revenue by product category for the periods indicated below (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.611%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Product Revenue</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Paint protection film</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">58,977 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54,230 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">165,016 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146,465 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Window film</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,762 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,391 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,711 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,268 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,577 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">81,125 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">72,616 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">229,339 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,753 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Service Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,652 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,656 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cutbank credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,524 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,352 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,253 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,459 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Installation labor</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,852 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">41,781 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,371 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Training and other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">524 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,726 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,125 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,552 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,142 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,416 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,759 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102,677 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,758 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">290,755 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">245,512 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because many of the Company's international customers require us to ship their orders to freight forwarders located in the United States, we cannot be certain about the ultimate destination of the product. The following table represents the Company's estimate of sales by geographic regions based on the Company's understanding of ultimate product destination based on customer interactions, customer locations and other factors (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.611%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">59,002 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51,522 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">169,228 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,275 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Canada</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,046 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,914 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,773 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,242 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,009 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,772 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Continental Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,705 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,065 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,354 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,671 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Middle East/Africa</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,909 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,322 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,514 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,025 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,499 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,482 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,220 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,505 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,233 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,192 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Latin America</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">304 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">724 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">909 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102,677 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,758 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">290,755 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">245,512 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">XPEL's largest customer accounted for 10.0% and 12.3% of the Company's net sales during the three months ended September 30, 2023 and 2022, respectively and 8.6% and 11.3% of the Company's net sales during the nine months ended September 30, 2023 and 2022, respectively.</span></div> <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue recognition</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes revenue when it satisfies a performance obligation by transferring control of the promised goods and services to a customer, in an amount that reflects the consideration that it expects to receive in exchange for those goods or services. This is achieved through applying the following five-step model:</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the contract, or contracts, with a customer</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Identification of the performance obligations in the contract</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Determination of the transaction price</span></div><div style="margin-bottom:3pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Allocation of the transaction price to the performance obligations in the contract</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Recognition of revenue when, or as, the Company satisfies a performance obligation</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company generates substantially all of its revenue from contracts with customers, whether formal or implied. Sales taxes collected from customers are remitted to the appropriate taxing jurisdictions and are excluded from sales revenue as the Company considers itself a pass-through conduit for collecting and remitting sales taxes, with the exception of taxes assessed during the procurement process of select inventories. Shipping and handling costs are included in cost of sales.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues from product and services sales are recognized when control of the goods and services is transferred to the customer, which occurs at a point in time, typically upon shipment to the customer or completion of the service. This standard applies to all contracts with customers, except for contracts that are within the scope of other standards, such as leases, insurance, collaboration arrangements and financial instruments.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based upon the nature of the products the Company sells, its customers have limited rights of return, and these rights are immaterial. Discounts provided by the Company to customers at the time of sale are recognized as a reduction in sales at the time of the sale. </span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Warranty obligations associated with the sale of the Company's products are assurance-type warranties that are a guarantee of the product’s intended functionality and, therefore, do not represent a distinct performance obligation within the context of the contract. Warranty expense is included in cost of sales.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We apply a practical expedient to expense direct costs of obtaining a contract when incurred because the amortization period would have been one year or less.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under its contracts with customers, the Company stands ready to deliver product upon receipt of a customer's purchase order. Accordingly, the Company has no performance obligations under its contracts until its customers submit a purchase order. The Company does not enter into commitments to provide goods or services that have terms greater than one year. In limited cases, the Company requires payment in advance of shipping product. Typically, product is shipped within a few days after prepayment is received. These prepayments are recorded as contract liabilities on the condensed consolidated balance sheet and are included in accounts payable and accrued liabilities (Note 9). As the performance obligation is part of a contract that has an original expected duration of less than one year, the Company has applied the practical expedient under ASC 606 to omit disclosures regarding remaining performance obligations. </span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">When the Company transfers goods or provides services to a customer, payment is due, subject to normal terms, and is not conditional on anything other than the passage of time. Typical payment terms range from due upon receipt to 30 days, depending on the type of customer and relationship. At contract inception, the Company expects that the period of time between the transfer of goods to the customer and when the customer pays for those goods will be less than one year, which is consistent with the Company’s standard payment terms. Accordingly, the Company has elected the practical expedient under ASC 606 to not adjust for the effects of a significant financing component. As such, these amounts are recorded as receivables and not contract assets.</span></div> The following table summarizes transactions within contract liabilities for the three and nine months ended September 30, 2023 (dollars in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.867%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:18.933%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, December 31, 2022</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue recognized related to payments included in the December 31, 2022 balance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments received for which performance obligations have not been satisfied</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,791 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, March 31, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,847 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue recognized related to payments included in the March 31, 2023 balance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,771)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments received for which performance obligations have not been satisfied</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,955 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, June 30, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue recognized related to payments included in the June 30, 2023 balance</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,973)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payments received for which performance obligations have not been satisfied</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,575 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Effect of foreign currency translation</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance, September 30, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,625 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 261000 206000 2791000 -1000 2847000 2771000 3955000 4000 4027000 3973000 5575000 4000 5625000 <div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below sets forth the disaggregation of revenue by product category for the periods indicated below (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.611%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Product Revenue</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Paint protection film</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">58,977 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54,230 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">165,016 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146,465 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Window film</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,762 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,391 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">54,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,711 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,386 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,268 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,577 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">81,125 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">72,616 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">229,339 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,753 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Service Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,652 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,656 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cutbank credits</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,524 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,352 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,253 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,459 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Installation labor</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,852 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">41,781 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,371 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Training and other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">524 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">372 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,726 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,125 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,552 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,142 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,416 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,759 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102,677 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,758 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">290,755 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">245,512 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 58977000 54230000 165016000 146465000 18762000 15391000 54055000 42711000 3386000 2995000 10268000 8577000 81125000 72616000 229339000 197753000 1652000 1351000 4656000 3804000 4524000 4352000 13253000 11459000 14852000 11067000 41781000 31371000 524000 372000 1726000 1125000 21552000 17142000 61416000 47759000 102677000 89758000 290755000 245512000 The following table represents the Company's estimate of sales by geographic regions based on the Company's understanding of ultimate product destination based on customer interactions, customer locations and other factors (dollars in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.611%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.880%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.201%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.204%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">59,002 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51,522 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">169,228 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,275 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Canada</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,046 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,914 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,773 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,242 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,009 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,772 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Continental Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,705 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,065 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,354 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,671 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Middle East/Africa</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,909 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,322 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,514 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,025 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,499 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,482 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,220 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,505 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Asia Pacific</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,233 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,192 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Latin America</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,325 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">304 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">724 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">909 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">102,677 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">89,758 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">290,755 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">245,512 </span></td><td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table> 59002000 51522000 169228000 142275000 11471000 11046000 31914000 29773000 10242000 11009000 24992000 27772000 8705000 6065000 26354000 18671000 3909000 3322000 11514000 8025000 3499000 2482000 10220000 7505000 3233000 2540000 9192000 6549000 2325000 1468000 6617000 4033000 291000 304000 724000 909000 102677000 89758000 290755000 245512000 0.100 0.123 0.086 0.113 PROPERTY AND EQUIPMENT, NET<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment consists of the following (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.957%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.970%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.972%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,189 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,667 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,392 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,455 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Vehicles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">903 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,728 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,276 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,081 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Plotters</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,980 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction in Progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">351 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,745 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,140 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,494 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,450 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,690 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,203 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense for the three months ended September 30, 2023 and 2022 was $1.2 million and $0.9 million, respectively. For the nine months ended September 30, 2023 and 2022, depreciation expense was $3.2 million and $2.5 million, respectively.</span></div> <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment consists of the following (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.957%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.970%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.972%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,189 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,667 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,392 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,455 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Vehicles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">903 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,728 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,276 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,081 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Plotters</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,750 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,980 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction in Progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">351 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,745 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,140 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,494 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: accumulated depreciation</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,450 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,291 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,690 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,203 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 3189000 2667000 4392000 3455000 903000 838000 5279000 4728000 10276000 7081000 3750000 2980000 351000 1745000 28140000 23494000 12450000 9291000 15690000 14203000 1200000 900000 3200000 2500000 INTANGIBLE ASSETS, NET<div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets consist of the following (dollars in thousands): </span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.521%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.688%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.690%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trademarks</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">823 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">686 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,472 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,822 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-6.75pt;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contractual and customer relationships</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,724 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,871 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-compete</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">440 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">498 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">497 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total cost</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,565 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,767 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated amortization</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,104 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,473 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intangible assets, net</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,461 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,294 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>Amortization expense for the three months ended September 30, 2023 and 2022 was $1.3 million and $1.1 million, respectively. For the nine months ended September 30, 2023 and 2022, amortization expense was $3.7 million and $3.2 million, respectively. <div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets consist of the following (dollars in thousands): </span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:62.521%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:1.0%"></td><td style="width:16.688%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.690%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trademarks</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">823 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">686 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Software</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,472 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,822 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;text-indent:-6.75pt;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade names</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,609 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,451 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contractual and customer relationships</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,724 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,871 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-compete</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">439 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">440 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-6.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">498 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">497 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total cost</span></div></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,565 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,767 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated amortization</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,104 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,473 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intangible assets, net</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,461 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">29,294 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 823000 686000 5472000 4822000 1609000 1451000 34724000 31871000 439000 440000 498000 497000 43565000 39767000 14104000 10473000 29461000 29294000 1300000 1100000 3700000 3200000 GOODWILL<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes goodwill transactions for the nine months ended September 30, 2023 and 2022 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.957%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.843%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,763 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additions and purchase price allocation adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,875 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign Exchange</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,602 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,655 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additions and purchase price allocation adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,826 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign Exchange</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(718)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,763 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company completed one acquisition in the nine months ended September 30, 2023. Refer to Note 13 for discussion of this acquisition.</span></div> <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes goodwill transactions for the nine months ended September 30, 2023 and 2022 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:84.957%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.843%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,763 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additions and purchase price allocation adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,875 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign Exchange</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(36)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28,602 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at December 31, 2021</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,655 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Additions and purchase price allocation adjustments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,826 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign Exchange</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(718)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,763 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 26763000 1875000 -36000 28602000 25655000 1826000 -718000 26763000 1 INVENTORIES<div style="margin-bottom:12pt;padding-left:27pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of inventory are summarized as follows (dollars in thousands):</span></div><div style="margin-bottom:12pt;padding-left:27pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.230%"><tr><td style="width:1.0%"></td><td style="width:60.294%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.650%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.779%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,741 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,416 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work in process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70,100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">63,403 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">92,458 </span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,575 </span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:12pt;padding-left:27pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of inventory are summarized as follows (dollars in thousands):</span></div><div style="margin-bottom:12pt;padding-left:27pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:94.230%"><tr><td style="width:1.0%"></td><td style="width:60.294%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.777%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.650%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.779%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,741 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,416 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work in process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,617 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70,100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">63,403 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">92,458 </span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80,575 </span></td><td style="background-color:#ffffff;border-bottom:2pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 18741000 10416000 3617000 6756000 70100000 63403000 92458000 80575000 DEBT<div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%">REVOLVING FACILITIES</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has a revolving credit facility providing for secured revolving loans and letters of credit in an aggregate amount of up to $125.0 million, which is subject to the terms of a credit agreement dated April 6, 2023 (the "Credit Agreement"). As of September 30, 2023, no balance was outstanding under this agreement. As of December 31, 2022, the Company had an outstanding balance of $26.0 million under a prior credit agreement which was subsequently repaid and terminated.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:36pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Credit Agreement bear interest, at XPEL’s option, at a rate equal to either (a) Base Rate or (b) Adjusted Term SOFR. In addition to the applicable interest rate, the Credit Agreement includes a commitment fee ranging from 0.20% to 0.25% per annum for the unused portion of the aggregate commitment and an applicable margin ranging from 0.00% to 0.50% for Base Rate Loans and 1.00% to 1.50% for Adjusted Term SOFR Loans. At September 30, 2023, these rates were 8.5% and 6.3%, respectively. Both the margin applicable to the interest rate and the commitment fee are dependent on XPEL’s Consolidated Total Leverage Ratio. The Credit Agreement's maturity date is April 6, 2026. All capitalized terms in this description of the credit facility that are not otherwise defined in this report have the meaning assigned to them in the Credit Agreement.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Obligations under the Credit Agreement are secured by a first priority perfected security interest, subject to certain permitted encumbrances, in all of XPEL’s material property and assets.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The terms of the Credit Agreement include certain affirmative and negative covenants that require, among other things, XPEL to maintain legal existence and remain in good standing, comply with applicable laws, maintain accounting records, deliver financial statements and certifications on a timely basis, pay taxes as required by law, and maintain insurance coverage, as well as to forgo certain specified future activities that might otherwise encumber XPEL and certain customary covenants. The Credit Agreement provides for two financial covenants, as follows.</span></div><div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of the last day of each fiscal quarter:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">XPEL shall not allow its Consolidated Total Leverage Ratio to exceed 3.50 to 1.00, and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">XPEL shall not allow its Consolidated Interest Coverage Ratio to be less than 3.00 to 1.00.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:24.75pt"><span><br/></span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also has a CAD $4.5 million (approximately $3.3 million as of September 30, 2023) revolving credit facility through a financial institution in Canada, as maintained by XPEL Canada Corp., a wholly-owned subsidiary of XPEL. This Canadian facility is utilized to fund the Company's working capital needs in Canada. This facility bears interest at HSBC Canada Bank’s prime rate plus 0.25% per annum </span></div><div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and is guaranteed by the parent company. As of September 30, 2023 and December 31, 2022, no balance was outstanding on this line of credit. </span></div><div style="margin-bottom:12pt;padding-right:6.75pt;text-align:justify;text-indent:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023 and December 31, 2022, the Company was in compliance with all debt covenants.</span></div> 125000000 0 26000000 0.0020 0.0025 0.0000 0.0050 0.0100 0.0150 0.085 0.063 2 3.50 3.00 4500000 3300000 0.0025 0 0 ACCOUNTS PAYABLE AND ACCRUED LIABILITIES<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents significant accounts payable and accrued liability balances as of the periods ending (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:60.919%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.489%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.491%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade payables</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,419 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,689 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payroll liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,596 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contract liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,625 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisition holdback payments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">394 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">191 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,385 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,233 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,059 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,970 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents significant accounts payable and accrued liability balances as of the periods ending (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:60.919%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.489%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.601%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:17.491%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade payables</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,419 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,689 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Payroll liabilities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,596 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Contract liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,625 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">261 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Acquisition holdback payments</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">394 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">191 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other liabilities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,385 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,233 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,059 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,970 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 30419000 16689000 3236000 3596000 5625000 261000 394000 191000 2385000 2233000 42059000 22970000 FAIR VALUE MEASUREMENTS<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820 prioritizes the inputs to valuation techniques used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 – Observable inputs such as quoted prices (unadjusted) in active markets for identical assets or liabilities.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 – Inputs other than the quoted prices in active markets that are observable either directly or indirectly, including: quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active or other inputs that are observable or can be corroborated by observable market data.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 – Unobservable inputs that are supported by little or no market data and require the reporting entity to develop its own assumptions.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments include cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and long-term debt. The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and short-term borrowings approximate fair value because of the near-term maturities of these financial instruments. The carrying value of the Company’s notes payable approximates fair value due to the relatively short-term nature and interest rates of the notes. The carrying value of the Company's long-term debt approximates fair value due to the interest rates being market rates. </span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated fair value of debt is based on market quotes for instruments with similar terms and remaining maturities.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has contingent liabilities related to future internal performance milestones. The fair value of these liabilities was determined using a Monte Carlo Simulation based on the probability and </span></div><div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">timing of certain future payments under these arrangements. These liabilities are accounted for as Level 3 liabilities within the fair value hierarchy.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Liabilities measured at fair value on a recurring basis as of the dates noted below are as follows (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.153%"><tr><td style="width:1.0%"></td><td style="width:62.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.633%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.734%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Level 3:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">     Contingent Liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,085 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">955 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Increases in the fair value of level 3 contingent liabilities are reflected in general and administrative expenses in the Consolidated Statements of Income for the three and nine months ended September 30, 2023.</span></div> FAIR VALUE MEASUREMENTS<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 820 prioritizes the inputs to valuation techniques used to measure fair value into the following hierarchy:</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 – Observable inputs such as quoted prices (unadjusted) in active markets for identical assets or liabilities.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 – Inputs other than the quoted prices in active markets that are observable either directly or indirectly, including: quoted prices for similar assets and liabilities in active markets; quoted prices for identical or similar assets and liabilities in markets that are not active or other inputs that are observable or can be corroborated by observable market data.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 – Unobservable inputs that are supported by little or no market data and require the reporting entity to develop its own assumptions.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments include cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and long-term debt. The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, our line of credit, and short-term borrowings approximate fair value because of the near-term maturities of these financial instruments. The carrying value of the Company’s notes payable approximates fair value due to the relatively short-term nature and interest rates of the notes. The carrying value of the Company's long-term debt approximates fair value due to the interest rates being market rates. </span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated fair value of debt is based on market quotes for instruments with similar terms and remaining maturities.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has contingent liabilities related to future internal performance milestones. The fair value of these liabilities was determined using a Monte Carlo Simulation based on the probability and </span></div>timing of certain future payments under these arrangements. These liabilities are accounted for as Level 3 liabilities within the fair value hierarchy. <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Liabilities measured at fair value on a recurring basis as of the dates noted below are as follows (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.153%"><tr><td style="width:1.0%"></td><td style="width:62.400%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.733%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.633%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.734%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">September 30, 2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:8pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Level 3:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%">     Contingent Liabilities</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,085 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">955 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1085000 955000 COMMITMENTS AND CONTINGENCIESIn the ordinary course of business activities, the Company may be contingently liable for litigation and claims with customers, suppliers and former employees. Management believes that adequate provisions have been recorded in the accounts where required. Management also has determined that the likelihood of any litigation and claims having a material impact on our results of operations, cash flows or financial position is remote. EARNINGS PER SHARE<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We compute basic earnings per share by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share includes effect of granted incremental restricted stock units.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles basic and diluted weighted average shares used in the computation of earnings per share (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.153%"><tr><td style="width:1.0%"></td><td style="width:36.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.466%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.466%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.466%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.902%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Net income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,656 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,318 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,830 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,024 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Weighted average basic shares</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,616 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,620 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,614 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Dilutive effect of restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Weighted average diluted shares</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,644 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,620 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,634 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,615 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Earnings per share</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.49 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.48 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.48 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.20 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Diluted</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.49 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.48 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.48 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.20 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles basic and diluted weighted average shares used in the computation of earnings per share (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.153%"><tr><td style="width:1.0%"></td><td style="width:36.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.466%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.466%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.900%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.466%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.902%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Numerator</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Net income</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,656 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,318 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,830 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,024 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Denominator</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Weighted average basic shares</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,616 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,620 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,614 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Dilutive effect of restricted stock units</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Weighted average diluted shares</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,644 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,620 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,634 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,615 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:100%">Earnings per share</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Basic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.49 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.48 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.48 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.20 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">   Diluted</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.49 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.48 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.48 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.20 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 13656000 13318000 40830000 33024000 27623000 27616000 27620000 27614000 21000 4000 14000 1000 27644000 27620000 27634000 27615000 0.49 0.48 1.48 1.20 0.49 0.48 1.48 1.20 BUSINESS ACQUISITIONS<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company completed the following acquisition during the nine months ended September 30, 2023 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:10.598%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.130%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.842%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.521%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.486%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Acquisition Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Name and Location</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Acquisition Type</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Acquisition Purpose</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">May 1, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Protective Solutions, Inc. Holliston, Massachusetts, United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,502 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Share Purchase</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Market Expansion</span></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the purchase price allocation for this transaction (dollars in thousands). </span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.547%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.921%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.565%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(Unaudited)<br/></span><span style="font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><br/></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Protective Solutions, Inc.</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Allocation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">411 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventory</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid and other assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fixed assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">150 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,900 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,875 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(331)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,502 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:2pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">* Of this cash consideration, $0.4 million was held back for settlement six months after the acquisition date, pending the completion of certain contractual obligations.</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired intangible assets have a weighted average useful life of 9 years. These intangible assets will be amortized on a straight line basis over that period.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill from this acquisition is deductible for tax purposes. The goodwill represents the acquired employee knowledge of the various markets, distribution knowledge by the employees of the acquired business, as well as the expected synergies resulting from the acquisition.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquisition costs incurred related to this acquisition were immaterial and were included in selling, general and administrative expenses.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The acquired company was consolidated into the Company's financial statements on its acquisition date. Revenue of $1.0 million and $1.6 million from this acquisition has been consolidated into the Company's financial statements for the three and nine months ended September 30, 2023, respectively. Net income of $0.3 million and $0.3 million from this acquisition has been consolidated into the Company's financial statements for the three and nine months ended September 30, 2023, respectively.</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following unaudited consolidated pro forma combined financial information presents the Company's results of operations, including the estimated expenses relating to the amortization of </span></div><div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">intangibles purchased, as if this acquisition had occurred on January 1, 2023 and 2022 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.925%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.246%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.247%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023 (unaudited)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(unaudited)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">291,983 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">248,899 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,863 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,179 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited consolidated pro forma combined financial information does not purport to be indicative of the results which would have been obtained had the acquisition been completed as of the beginning of the earliest period presented or of results that may be obtained in the future. In addition, they do not include any benefits that may result from the acquisition due to synergies that may be derived from the elimination of any duplicative costs.</span></div> <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company completed the following acquisition during the nine months ended September 30, 2023 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:10.598%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:43.130%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.842%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.521%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.486%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Acquisition Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Name and Location</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Acquisition Type</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Acquisition Purpose</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">May 1, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Protective Solutions, Inc. Holliston, Massachusetts, United States</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,502 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Share Purchase</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Market Expansion</span></td></tr></table></div> 5502000 <div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the purchase price allocation for this transaction (dollars in thousands). </span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:78.547%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.921%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.367%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:1.565%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(Unaudited)<br/></span><span style="font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"><br/></span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Protective Solutions, Inc.</span></td><td colspan="3" style="padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Cash</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Allocation</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">411 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Inventory</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">267 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Prepaid and other assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Fixed assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">150 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,900 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,875 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accounts payable and accrued liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(331)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,502 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-bottom:2pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">* Of this cash consideration, $0.4 million was held back for settlement six months after the acquisition date, pending the completion of certain contractual obligations.</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td></tr></table></div> 5502000 411000 206000 267000 10000 14000 150000 2900000 1875000 331000 5502000 400000 P9Y 1000000 1600000 300000 300000 The following unaudited consolidated pro forma combined financial information presents the Company's results of operations, including the estimated expenses relating to the amortization of <div style="margin-bottom:12pt;text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">intangibles purchased, as if this acquisition had occurred on January 1, 2023 and 2022 (dollars in thousands):</span></div><div style="margin-bottom:12pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:64.925%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.246%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.441%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:15.247%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023 (unaudited)</span></div></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">(unaudited)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">291,983 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">248,899 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,863 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,179 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 291983000 248899000 40863000 33179000 SUBSEQUENT EVENTS<div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Acquisitions of businesses</span></div><div style="margin-bottom:12pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 1, 2023, we completed the acquisition of a Canadian-based automotive film distribution and installation business serving primarily automotive dealerships. On October 4, 2023, we completed the acquisition of a European-based automotive paint protection film installation company serving two OEMs. The total purchase price for these transactions was approximately $13.4 million. In connection with these acquisitions, we deposited $7.4 million into an escrow account as of September 30, 2023. This deposit is included in prepaid expenses in our September 30, 2023 Condensed Consolidated Balance Sheet.</span></div> 13400000 7400000 On August 31, 2023, Richard Crumly, Director of the Company, adopted a 10b5-1 plan. This plan allows for Mr. Crumly's orderly disposition of 316,912 shares of the Company's Common Stock during the period from December 1, 2023 to December 31, 2024. August 31, 2023 Richard Crumly Director true 316912 EXCEL 70 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( +9":%<'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 " "V0FA79X@@F.X K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)OITE!EM#-1?&D(+B@> O)[&ZP^4,RTN[;V];=+J(/X#$SOWSS M#4QGDC0QXW.."3,Y+#>C[T.1)FW9D2A)@&*.Z'6IIT28FON8O:;IF0^0M/G0 M!P31-+?@D;35I&$&5FDE,M59(TU&33&?\=:L^/29^P5F#6"/'@,5X#4'IN:) MZ33V'5P!,XPP^_)=0+L2E^J?V*4#[)P$6W:9_-K>W>\>F!*-:"O.JV:SXZT47(K-^^SZP^\J[*-U>_>/ MC2^"JH-?=Z&^ %!+ P04 " "V0FA7F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M +9":%?*N;)+SP4 ,X> 8 >&PO=V]R:W-H965T&UL MM9EK<^(V%(;_BH9V.NU, $L.EVP),X1-VDRS61+2[6X[_2!L 9ZU+5>6(?S[ M'AFPDU0^4,_R)?'MO.C1T>65-%A+]35="J')-J2 MB8CAS5RJB&NX58MVFBC!_3PH"MO,<;KMB =Q8SC(GTW4<" S'0:QF"B29E'$ MU>9*A')]V:"-_8/'8+'4YD%[.$CX0DR%_CV9*+AK%RI^$(DX#61,E)A?-D;T MW=AE)B#_XE,@UNF+:V)09E)^-3>W_F7#,242H?"TD>#P;R7&(@R-$I3CGYUH MH_A-$_CR>J]^D\,#S(RG8BS#/P)?+R\;_0;QQ9QGH7Z4ZU_%#JAC]#P9IOE? MLMY^>W[>(%Z6:AGM@J$$41!O__/G746\#* 5 6P7P-X$T*I?<'3N1J*\(J1"[(!QGK94JN8U_XK^/;4*"B5&Q?JBN&"DY%TB*N<9X^+U=G&]XW$GL%>U[ GF/JP_?2RZ"?:O*T282-% ^G M3O/!AH1&U43J%$B=XY >,JZT4.&&/(I$*FW#PZ6TRFR5,D:C:N)U"[SN<7@3 MH0+IFUY(8#"P)@]7*OI=9<=#XVMR]@K.WI$M4W&81_)IH#J/N-:4C^#)+JT0I7[/49[5A)3^&5:&F6*.YQ\O8Z@B5O-1@NP*B]6Y["&M'2&U'< MT-Q)#_(U6Z<%YHDDL-3+%\+62CB%@Z*EA:*X M]P'CZP?Q@DPWT4R&5O;#YLG*=0K?Q$K?Q'!GL\\FN7[VECQ>B$IO>$#H?C1] M/[*N/_' NH2E36)'V:1QII19P6R7+7DJ84;)K'LN!Q2_6'=JQGA47<[2'K&C M[-%M#,OL[1:=68KR/;B5$U>LXCR%"V*E"V)'N2"S5 -?#Z9@(95U,#J@<\<5 MM/:1YPD0 AE_*VDE/H458J458D=9H6G$PY!<92F\3NWM%M>I7'GC<77Y2@?$ MCG) UY%0"],Q?P$%O023$"4\MJ<6%ZP&/84!8J4!8KA_V2=R*2"1&!XN4XUW M"B/$2B/$< ^S'VE?S?+3?&>;?,PTV-K8S*%6XF]D<7;UL%7KY&KF.&4U9+TN MZU]TW$%[96,LS1##+5!H?A_F0_/]X$J;&S M7P2X,VP[\X!D"L:K,6#ZO+ M6'H>%WY3?&0.F L3;V!?/Y#=A'5 /2#FP M^NAU>\R^=8L'_U_.]HL30S/AY0>I*?',!N7V\+!X6AS6CO(CRG;Y^?:D]P,W M\V5*0C&'4*?5@P%/;0]/MS=:)OGYXTQJ+:/\%'4NE?RF1K(I"E8_7?)YC@0Z?G1!9_TSM>/^]<_HO[7)0S)W3/(KD?^=I6IS,8MG*.5KUN3J MBWCXG7<)!3I>(G+9_DH:212A2=,R@HLG+WR1Z[0NPY$'_"@78.]+D. M7N?05FZQ4]:F=B3*%1 M>(K@2HH\2YF"FTN6LS+AZ%8'EN@$?;N]1F]?OT.O45:BKQO12%:F\GRA0(.. MM$BZYUWNGDTBG$0]D8' M,OU>IN^4^2%)1 .J8')(.$B\R_D?"1D:18>9_! M..\43I:S"W0PWI=^..Z=5C,PG!"ZATCB%/IG.X9*49X<[Z5=J(,)(#*$VHSH MA,P!9<1)D=5'(=*'+,^MLJA9FCC$="S,8A9&X427) .!B!M!NS'NJ)IG/A<> M'(5C?:8=67I>.%6[@3W$_Z_K .+$UDL7 K\JVF&> [R(FUY=GJ@2=;N*%FOH MUPI84;$G35QK 4Q:C6I3$3!D6*/SMY@4BOVC'%J&OF3 @>R$3?:#E<*QXII4LL/ W^\1K28T!&W7"[YFL..M.VG#^E/DT2CIKH(M#T([$6*XK]"1#3@6_T.7S+17E_ MHGA='*LLM=#+&%X6(X*GN@#=VZZY&7H0 PVI>RNV&VC'-)K; M*UA0F!HM9G'H3Y5W(!D]0C)1%)G2J_#=1N=*E KZ!2\3T(O>?@:J(4+>694[ M(]L9C*R[^O\?Z##[@8TT=*Y7;I5(OF]$GO):OGD%VYOHK-V6J"=KPD[0OO@L MXQ=%.TQ]("QU$Q:VN=W4*G41YN@U/L68 +-JM&5YP\\0:]0&=NC_@ W!Z/?YGB$:S4,:SY>!U^:H;TDXQZ$_D?D<082*MZ>IN;WWF#"GXUVW MV^:P$@/OJ9OW'U*8U6':A+E('VR<9#"ALBJ#N&_BP\&N*)F]/3[M#%U' -CH(^\MS/A"V@_<3*:?P' >+_JL9I.'!=[ M?L_-_B]<,?@J19S5I>:J5:,%YD$(JZFQ2(L="6(ZL0/W!NQ[;NSO@"1?-.EY M)M<): [&@++943^B$TM ;^_8]3F;WCV*MD/OA4F8)ZW6C;'%SKHQ7NR]*="O M:?Y@]7U62EB5K,$1GT90AGKWYF-WHT35OCRX$TJ)HKW<< ;BM0'\OA8 VNY& MOX_HWS^M_@502P,$% @ MD)H5T_NN#7[ @ 6PH !@ !X;"]W;W)K M3'(A5ITXLPUT^_6[3M*,T/#5C0=B._<>"!+1-M!NQPE-,ES$!_R:<2>W;-$K,4,L5$ M1B0LQM:->SUQ'0,H(KXRV*BM-C%6YD(\FLZG>&PY1A%PB+2AH/A8PP0X-TRH MXV=%:M5S&N!V^YG]OC"/9N94P43P;RS6R=@:6"2&!5UQ_2 V'Z$RU#-\D>"J M^">;,C;H6R1:*2W2"HP*4I:53_I4)6(+X';W +P*X)T*\"N 7Q@ME16V[JBF MX4B*#9$F&ME,H\A-@48W+#/+.-,2WS+$Z7 BLA@7!6*"+24XBZG&SBWE-(N MS RQ(A=3*B'3"6@647Y)WI.WQ"8JP5$ULC7J,&QV5,UY6\[I[9ES!GF'^,X5 M\1S/;X%/#L/O($*X6\"])MQ&]W4*O#H%7L'G[Y.CT3)6IB9B0>Y9AL89Y60J M%"LJ[?O-7&F)]?:CS6K)W6WG-IOP6N4T@K&%NTR!7(,5OGOC!LZ'-N/_B:R1 M!K].@W^(/9SB_@$I;]L\%M70WZWU=\_17U4GH2N=",E^X[BQ48ZV:B_I>UNJ M7*?\[<@_(;#AH%<[Z+W& 5-J=5Q][X6H7=F'(AIZ@UIO\!J]>%@H3;.89_A"DM\5^ M@H7VR#8/]M;);ZY=GZE&PO=V]R:W-H965T&ULK5IKE;U,>&Q!:SO_ON)A6*2+LD[TQ0;VZ,#1O9+.%9P_EM77 M>L>Y0$]Y5M07BYT0^[/ELM[L>)[4[\H]+^0O=V65)T*>5O?+>E_Q9-LVRK,E M<1QOF2=IL5B=M]>NJ]5Y>1!96O#K"M6'/$^J;Y<\*Q\O%GCQ?.%3>K\3S87E MZGR?W/,;+K[LKRMYMAQ8MFG.BSHM"U3QNXO%>WP64]HT:!'_I/RQ/CI&C93; MLOS:G%QM+Q9.\T0\XQO14"3RWP-?\RQKF.1S_->3+H9[-@V/CY_9_VC%2S&W M23<[/ET(^:G/#Y:9_K,ONLRBX9^(L_]=$F,A#=\_PY1YRTB#J' \ZQ/;TX@.3]W]_B'[S[I##HD#6WY MZ S?)_[ BP.'PMHU=.&&S:QW5N^3#;]8R&FMYM4#7ZQ^_05[SN]0G]HDBVR2 MQ9;()KWO#KWOFMA7GTN19'*2GHU!U]QKFS<+Q<,*.\3S_?/EPW'OZK @]%DP M144ZBH2.S]@4%@,PES%,!MA$*AND,F.BK1,2*!*AE@2^3QTE[7201T)EXH]T$"&,N4K2Z2@<,,S@ MI,/.Z#<=\_#BAD'UEM?,),6@[CCAO&74\U"1(-'4VX#L.!RT)5N [S I^J(0=@ MC%+?G1%.1N'$*'R<:KI* A1,="6^I\VK((PZ:HH#,$9\=3F* 9A+G7#&M>#1 M'V.C 5Q=%8++B4(\AQ@43+5[!TQ5JV-HB%6M.BAT/54I *)T1N?H1+'9BLI: M75;BA2Q4JXH7FV]2[V:7%/<<97(1!56[@"+5)4 @7QO,.LC%H2I;!P6SLD=7 MBHV&:]77P[?\3NJ7E6Y[)I*GF:',@)3%:H36$,QCKJO*UF$,TT#U1@#,Q93, M> 8\FD%L=H-7@UAC;NO6C$IKIBH&4(2H'@E 88[.J!DJX[0*EMDE2VVQ38-Q^@*L=D67B9UND&OTP)MRRQ+JJ.XO $#T]$% M1VGAO'.U]1-$:9FHH["&BD'4S(@CHT$D9H,8I=FAV8(\77E/^!WE,$I5#J MY2!J3OGH#PDV#L!_VUUM*?W]@_1+,AOI7)9=J_+/"\+=-/NM8)]8+2> M+QV65MDBJVRQ+;9ID$8O2\Q>=AR6W<8WG)&ZKR32S%(U)4$85E? &39U79AA MFUD7R&AFB=G,'@](DV;=8G M; (;WCGT[2=O$S F:D$+P'P"S'@ZC!!9KZKE'8##H>^SF0J/C+:?^#_WXH$8 MRX879YY-ML@J6VR+;1J)L2HA1IM]ZNN'GF5:%@>^6HD!,-?'K;IMLD56VV!;;- 9C:41/V3HWK#\4V"_'C"F;AFL UNS%J7N+ $P: M:769B@&8*U>?F1<%=*PQ*/FYU8<::Y07YYU-ML@J6VR+;1J)HP]=S+7/B:M/ MSW+L0T*B[EBO 93G>^JK"P!%F.>IU1X PZ%[](*H4[P\^C0LY]5]^TU>+14= M"M%]\#-<';[[>]]^[:92OGG2_' M2=5]M]>=B'+??IAV6PI1YNWACB=;7C4 ^?M=68KGD^8&P]>3J_\!4$L#!!0 M ( +9":%<\AKPK P, ,4) 8 >&PO=V]R:W-H965T&ULK59=;]HP%/TK5E9-G;0VWX$RB-0"T_K0K2KM]NPFAEA-[,PVT/[[73LA M@Q 0VOI"_''.\3WW&MO#-19T@-V/"SQ@LR(>BKO!?3L1B6E!6&2 'Y2LI9; M;:2=/'/^HCNWZ:Z%((S?M:;5+*F)V^V-^E?C';P\ M8TG&//]%4Y6-K+Z%4C+'RUP]\/4W4OL)M5["_UGG8(H!.-\&K"5Z;$!P@^#7!/W6%H"8$IZX0U@1CW:Z\F\1-L,+Q4/ U M$AH-:KIALF_8D"_*]#Z9*0&S%'@J'G.60M5)BJ E>4Y3K* S4_"![: DXG.8 M*F 39GIWK BZ90DO"#I_8GB94D!_0A?H:39!YV>?T!FB##UF?"DQ2^705A"C M7LE.ZGANJGB\ _'XZ(XSE4DTA;C2#O[D./_J"-^&W#0)\C8)NO&."LY(>8E\ MYS/R',_OB&=\.MWKLO-_JT__>?6=9/C-;O&-GG] [X?*B$#)SG:@9CMT5;K2 M"KJU] $XD"5.R,@"-4G$BECQQP]NY'SI2O-[BDW>4VSZ3F([!0F:@@3'U./O M<),<+D#%C0Q77QBKV/6C,!K:J^W,=J%\M[^+FNRC J?O.[NHZ3[*]QTO:% [ M)L/&9'C4)-P(<-XS. Z%("QY0TI@)G.L;YHNVY5:N!7$1<]W6ZX[0&X8ME"3 M?=26F>TZ=Z#<7M1K.=Y'09W# MMNE]%)39\5NF[:U[J2!B81X$$FPMF:H.G6:T>7-< MJTU'+]"\W.(_4$L#!!0 ( +9":%?-A.-/N0< #(^ 8 >&PO=V]R M:W-H965T&ULO5O;;MLX$/T5P2VZ#;"N15(WMXF!UA;1+O82 M).WNPV(?5(N)A>KB2G+2_OU2LF*9(LV(Z: OB67/G*'F#"D>CGU^7Y1?J@UC MM?4M2_/J8K*IZ^WKV:Q:;U@65:^*+;&KTR1GEZ55[;(L*K^_8VEQ?S%!DX0M>DV)WSBT%G\G[+XZ>FTUM_*Y M*+XT%Q_BBXG=C(BE;%TW$!'_=\>6+$T;)#Z.KQWHY!"S<3Q^_8!.VYOG-_,Y MJMBR2/])XGIS,0DF5LQNHEU:7Q7W[UEW0VZ#MR[2JOUKW7>V]L1:[ZJZR#IG M/H(LR??_HV]=(HX<$#GA@#L'/-:!= YDX(#]$PY.Y^ ,(P0G'-S.P1TX.-X) M!Z]S\-K<[Y/59GH5U='BO"SNK;*QYFC-BY:NUILG.,F;RKJN2_YIPOWJQ;+( M8UXG++;XJZI(DSBJ^<5US?_Q JHKJ[BQEILHOV65E>3\@V+]95.D,2NK%\\" MC/PW5OAUE]3?K9>?\F@7)]S]S)I:GZY7ULOG9];SQNOCIMA541Y7Y[.:#[H) M/5MW WRW'R ^,<"/11VE"K>EWFU99%G1#5?AO=)[OXWY??#"CU+K,DKB:9)/ ME]$V48\DU&-=L9I/<)[3,"KS)+]5Y8 ^,ISU>I?MTI:9O^H-*SE9&5](-LT, MOV/6AWQ=9,QZ^7M156(9\NPW M*J;W8&X+UJR4=POL>XC8MGT^NSLF%3)J" E&@< $-LF!36+(YA@&]YC>4=(# MQ_&PF/&E;(6# 2FR";+= (E6H6SE.XY#1"LJ6TW=>5\%0GJ<0WJ3?.^3? MT^:?SR6^^?OBI&/.F.ICC @]5DJ8UIR@@D6 @) M1A]+AL"(?V#$US+2+GS39K<>6WQ>< E3M6P<[P%4S&A135<^7RY<^7$/&3&$ M!*- 8 )_P8&_X$G\J3@+Y)U5,'A^+[713.?2B( A9$ *!"8P,3\P,=:Q M9@]]S;9\!V:W.S"L(D<+;CJAYLH]M"=/*LBH(208!0(3J$1VKY-M$S+'$-@A M'B<=(6?N#G:UR\Y.NXM68=F!-Q_,':69[WC^X)&OL)L2!YUX=*"CTP3T8\KQ MMUW^2-*T 4S+OD,;H1U!XX:@:!0*322U/PU ILW[P^K'(ZI? MA>5[]K#Z9;.YPV?\#]57NIAC9=#63JK]@2@TA\4C4*A MB33VAP3H::<$2NID-8_L^7!F00KPU9B0(6A("H4F$M*K?J27_3\H-O7HQM-+ MH?/5E5O*B>Q+)*EMK$^I#$KH"(?%(WJLR%2TBM\K%?X3Q62>ECCA5"6 MR5_))@10R! U)H=!$ M0GIIC_72?KR2)$J.9.G--\DXD%7("X?Q5 @ M[Z4]SY7YD>WDO;2L]!&VW6%G1F7F\IC27EJVFV+DST\\+'HMC?5:VJ@OJ4X: M:#L>*_OQV%:4/FA#'A2-0J&)7VOMI3\QE?YCB"2*%KE+B#WLP9 177D5%O*' MF]=09>;@^7S8,U'839'C!.KJ)[WD)N@G*DD"VJ$'15N!HH6@:!0*32R"_CB! MZ+OX>B5)%!UVXKG><%* ZGY0M'#<+5"HH"(-1U_&UPMZ4R5)9'T\]7]3%MOU![>>BKHNL?;EA$=]%-P;\ M\YNBJ!\NFM_H'GXFOO@?4$L#!!0 ( +9":%?.R!P3F@< HB 8 M>&PO=V]R:W-H965T&ULK9IO;]LX$H>_"N%;'%J@J252EJ5< M8J!)KWM]L8N@N>Z^EB7:YE42O23M-/?I;TC9DBW^27(P4#26/1S_..3,,Y1\ M\\3%#[FA5*&?3=W*V\E&J>WU="K+#6T*^9%O:0N?K+AH"@678CV56T&+R@QJ MZBF.HG3:%*R=+&[,>P]B<<-WJF8M?1!([IJF$,]WM.9/MY-XL*A1N'XX < MTD>9&'_$%V4=P)4)X$KP!D$6BD*Q=MUM8Z88=4:M\YJXO>H,OY;;HJ2W$TAA M2<6>3A9__UN<1O]P3?E"SLX"D/0!2$+>%[]#06)MR1OJFF8W-C5C==W9+Y(H M(]'-='^JW[8B),));W4F;-8+FP57YE/U'TBR;JA&W@N\9[%&T?':NXK5K?K-++N.%G)U%*^VCE0:7\3,%IR4K3 6&P@#1@!BH MYP]H6Q>M0I#]B/ZU8UL=4%STS7$.!\MM&V$DRQUK_.\5SX/*O_4<*'8 M?WOEK%5%NV9+6.E"2JJWU:;I>%LZC$"N6VW6J\V":G\%_B(0*@O0=Q+G M\P!_T-O2I3NS)%W%\4BVRR9RJ\Y[U7E0]:/BY8\K#=4*0>) IR%-O%T2<^OK MXSA)1AIM(Q+/W1KC: !>%%1Y5U3 ^:5"]*=6Z"Q(!Q=G6S!.1^H<1F3F"6%\ MPN/XA11;42$@@L?B4_QTL^'@YVP%,RN$#BM?!/$@$8=SJ2P%[1*I12U75*)M M\5Q +CEU8DO!.(4<)IYTCP?BQB\@=P/Y#NT")O9'R)"/C17*8S;(\]RS4 . X2*S%UW8/ MM8R+9V\Y.S@8U;.9K=!EER68>"0.U(O#V'L0=%NPZE@QNJW$U8:* #QB&V-7 MM!GM!90:G;T+&^=NFV:Q1FQF.XIDWB@(8Y>>S+924,=^+>G\A7"<9"S;ZV5E_)V'H=*#?0 MN?Q?72UVH#B9)^,E=)G-9L1S@L$#CW&8QP^"EY16A[-EN&=TRK?Q:R6]PR;U M;;Z!T3@(P,7=3L([$NII"?HDTSV%-!C0$S 993X1XWL"!]W$$?8TGX^E.\QP MGGNH@ >\XC!>/],]K;F)ZJM/%-@!T7D^9H++*B:IYU"!!]3B,&K[.O7F5'>1 M-;);8I<=L,S3(^ !P#A]T_V3%6L+.*:_K#O(]3>7J MY.P_"0'0<)KI>O7>Z M$WD^WIA[CY9<@!\(A$3FMNJ>UWL=%FC0*P:5:RTH]::]S?$KG$:1E?HNWD>> M@PX>>(_#O/\&.T^P4M]ME/K@B)Z8VFQX76G]YM2#3-,%V[1F=&=23$K=#,A- M(3SK[3K5IE9!<%@1WWR&)@"'FX!OIROS\K$(VSR_FEM*'48D\@"##- GX2-P M7P?>'0K!^[/.Y;791>P#,&P@;)U!'7:I#QYD(#8)$]M,PASR]!;I8 &D,R\T M[O; P=9=A8D-8AQ9N'98S8B'&F2 -0G#^@L7E*U;.$LBP2D_Z MX_-I#/@F87S?>Z47"BWIFK6MGH#NI/SZ;5!GT6Q,18=5GB:^+!YH3L(T#TZ MZA-J4+J-ZC@B'3J_ M8.VY*-DOY>T\& /9R0MD/\ZY-GG5UU_GQ!TTSA(K\6VK&8X\?1@9F$W"S/X* M 9I9J%*WC3Z%K5A]XH+I%M) (@8$#+ F^>NW M7WGL+J&B=0_&/3>M2; #>/.FNY"W\P=R0Q.0A)L 4SY,AZ47[Z6[S8G-\-AQ MQ]YA-B>^&RS)P/HDS/JQ5D7U+G/JC*VGA+'=TCJL@2P/-;TC9+; ..FZ#&FL2PTVW L _R'>U3JY-NDBZ.]^M' MZEZ<%':0;E_LDT0^)!^^2(.-L=]Z(P&N5CC OV7?&9IU6E0$IFA=M)HL+@:1N/>^>4IRP>!WR1N MW)-OX$B6QGSCQ3091EUV"!7&GA$$_3W@!)5B('+C[PHS:DRRXM/O&OTZQ$ZQ M+(7#B5&_R\2GP^@L@@17HE!^;C:?L(KG'>/%1KGP"YM*MAM!7#AOLDJ9/,BD M+O_%8\7#:Q3ZE4(_^%T:"EY^%%Z,!M9LP+(TH?%'"#5HDW-27\VG-W ]O1W?3J;CSS"]O;Z;WXSOIW>W@XXG$RS8B2NXRQ*N?P#N%[@Q MVJ<.KG2"R7/]#KG6^->O_;OLOPBXP+P-)]T6]+O]DQ?P3IIX3P+>R0&\.[L6 M6OXCN"1:,#':&24345:(3F!FT:'VY899P;740L=2*%C0)E(Y>@=_CI?.6RJH MO_8Q5#IPNM\!;K)SEXL8AU'.MNP#1J.W;WKONQR0 M1_M@*L<8B^8=> K0IQ8Q[&@B![*RO)'+&Z@X?15!5:%!D$.A&!ZP#(+2G O+ M'&SAC]G5YQ9,==R&H[=OSOK][@5OA<_>!50VJY-)R6QU>$P!!;IM$IC<2)^& M=:$]DY];2>'D"AVL4:,52FWYG'UD,@+R%QVH";4<0AUGQ%$L0K@U83MFI"[' M?FB6O+"N$-J#-P'+%FR+ [:X+E20"IA\N,"XL-++2N+J,4Z%7B-U7)9)%T9Z M3<#B:E*'V(;9Z&AR9T'2I,4SK,'[E!)!'()*O M-.ZK:N9*E2[DE;!*IRE^XM3R'J75%D*1H*8>QQW?;DJB+,M"LL)";'K+1@ZL=]9 MA:1 !GD@(V(IE?1LJ;I;29K*FFK3A182E%9;4>!0.*.%:M7<,.^T7]I8T?0W MUK5Y"%*1_LB,<:DI5,)!\2LJ^&+TUT*7SY30UAS@*X95Z D5!+C0'>MP4^RJ M^LD(Z7VX<##6FNH&YI@;ZX',\=,&>MV??^71MY**5!L/J#&#""ZIV*C"^F?5 MD#OBT^@95G3\7ZB@$C:OY>.F::B?''RDEB[*,<(LC"E/6VJ8YSZ);,;! M?%?L=[MB=_7K,,^IECC'@3F"LB&N]KY+N?/DO44EM ZO2F:?1G'Y]&IVFX?K MN'RO[<3+5^^-L&M)?BA%=!+9\298+;_+P>EL:3_4:/E.B"2T+T#E/ MN7K!!IKG_.A?4$L#!!0 ( +9":%=S\VDQMP@ 'H5 8 >&PO=V]R M:W-H965T&ULI5AK;]LX%OTKA&@).FW0R: M!^IFL\!B/] 2;7$JD1J2BN/Y]7ONI23+C=/![ )%8TF\[W//O=+)VKIO/E,J MB*>$KXI"NLVYRNWZM'?8:VY\T:LLT(WAV4DI5VJNPGUY MYW U;+6DNE#&:VN$4\O3WNSP_?F4SO.!?VJU]IW?@B)96/N-+J[2T]Z('%*Y M2@)ID/CSJ"Y4GI,BN/%[K;/7FB3![N]&^T>.';$LI%<7-G_0:^]Z(E5+ M6>7ABUW_0]7QO"%]BQDW!-)Y8,M:F%X4&@3_\JG.@\=@7>C%P3& MM<"8_8Z&V,L/,LBS$V?7PM%I:*,?'"I+PSEMJ"CSX/!40RZ>KBZO+^E3-1I#VWAE7M4O;-??CH\&AW_ MP-MIZ^WT1]K_E_K\7PK%C0R54\(NQ7GE(>N].!!?,R4N;%%*LQ':M$X.=F-<(#$Y95UHG0XP]X#G""9RK&_4H4]D7]X/Y8#:@ MQ[=)L OE@-K19"#.I4?>.BT^SV5WO=5TJ*H'B*&648?]#)RM\#K?7F86- [LV,."KA=>IE@Y] M-1!7)BB7-.<;/22(=C->&<=%&;]%[5]G,M%SK7@=H?<2F99/3W63PP!F8W.W%Q M&3B O$9#L%3ZVI87U#DK=DH])9DT*R4(-T*&>!/VZUPN9(XJ TD\@:GR _%% M/2I3J>BG>BH)',]LUJJ0.(?AN6O'MRDJE=,6J?R$YJGCMIZT+9TM6G5< ]+O M5&)71O\1P=6$WB:^<[X!"!]$8:NBBGY9F'6"2NY41L,;E26;37GOWEQD6FU%+>( MG7M9?%")YB7B6GZ#;Z]^^>G=>#PZOKC]<,T_#X]?-QBJ(=4JN7Q22<4<-5';2MO7Q M^R!L3)BM@5*PC.>.6#2C &Y:HYJCR*V/11J(>\]$>.F#+AB"D=PB646'(N3] M7V.\?237(7'%*?JO254V:U$:M7W1%ZH@,JJ*, 3-\Y'*) M^<"Y<8PY:K.BI;X7R*-NQ+2>!"$R^I_QN$GWVG![6S^M7,,GKFV&IK4O=R*K MD%F7CO[DC&XPP)$15W,%5VZ; M1C94GZ"T[UCC:6Y2'2+\9@WQ?U&)TH]R 90?;.^Z[5WRTV=@7F% AY1TPY!> M,]R)U2@I"64MP0C4H>$S,IG::A&65;XSL'X>#<98G/.DBF0*4&9]4AI8T OT>"4^>:/ MIJ1R1;^X^$T>L /%W9^RW^*G36E?9%BMK-,)W\V;5QS*#>83S/19,[FD8A8W M? [^T?9#P46>!M\;2WM/G/DIC#H,6,QEZ[:@V)IXCHN.)UWSK&_9ZN]O*00U M;&/;@@1L%0C0/"8]IHX&W4H3\@UTI;]!(#8.NCLBL5ZUHT,+U5 !&N(!8V=G M/UBH"&FYEG&SK>.+78^H88F&LZA'*$TT074F'UIG6YZ,K;]AHJ&A3?7=%LDN MV?0LK]*4U$$A^)G,9Y,NWCB01'WQCC"Q'1Z).[D)M;UU61T]'JO MSFX44#MY.XW._9G]MV]^;/YH/.V8GQZ]V6^^DY4Z*)IFQ%# I7W^<@7BP[M+ M/>^OC/BU0EG&H\.C2 L?9_-S-(&G>J?&VLUV>.LKB8L)O CC*5$P/3 (PI">AG8H9M,H3B-8MVZK9*-2AIN\,"(FC#<*15 _@) MKW38;O=N4H-]WUB&G>]A8.X5?_6CQ1O%B9_&VKOMA\59_)ZV/1Z_2EY+MZ)7 MIUPM(3H:O'W3$RY^Z8L7P9;\=6UA \8$_\P4>,G1 3Q?6AN:"S+0?FX]^R]0 M2P,$% @ MD)H5X^74W\:# )!\ !D !X;"]W;W)K&ULK5E_C]LV$OTJQ%[:2P#5:\FR;*?) IO-'JYW;6^139H##O<' M+=$V6UET22H;]]/?FR$ER][=)!<4"#:R1,[/-V^&THL[8W]S&Z6\^+BM&_?R M;./][OGYN2LW:BO=R.Q4@R;NY5EZUMUXH]<;3S?.+U[LY%K=*O]N=V/Q MZ[R74NFM:IPVC;!J]?+L,GW^*J?UO. 7K>[-U)_QO[#E^6TJDK4[_7E=^\/)N?B4JM M9%O[-^;N[RKZ,R5YI:D=_Q5W86T^.Q-EZ[S9QLVP8*N;\+_\&.,PV# ?/[(A MBQLRMCLH8BM?2R\O7EAS)RRMAC2Z8%=Y-XS3#27EUEL\U=CG+]Y<_W+]\[OK M%^<>PNC6>1DWO@H;LT:8^J*958F7-5ES!5@L$(+I^(ZXXKLJ*_UPN'=__ M[T,!"/+SA^53M3QW.UFJEVU?TF+\_2>LSWOK\T])_U1>OFBC MZ-RWJC3K1G,)O-TH1&*[D\V^N_^']=BN-)U+LE.7*;THE MS++6:\F2EGN!N#5NI:S5S5J4%%^ UZR$AY(=8JZ=JL3:F IBFDI0@'0)F=Y M;!DSD B-RL2_K6D;C[W24ZE3S3J6!,%.5\H&M?P<%JJ/N[#"D!\*=4URU,=R M(YLU4FXLEAJGHG[\[-2/$ 3M!/[)(65UK3KC9"[7;TG9TCORM3@*_JU M@O3OG%<[L365JI^+;_\RS[+B>_%#I1JO5[H,MD77RXBTA+1V/UP2@'=P_#-2 M'@Z[(R^'2GHIKY57%O1P)(0S) /[[2R\[Y=?PKGR,VL1VZ^QY,T ;Y ]Q!:' M1"(6?H##+P#;$+9KU1 8L-RUJ%V)V,FZW@O\(77:'^#,A=]G("2@"S\E9*-@ MAQ6LL2;3]'97:U6-Q*VL":CR(_Z"8 F-P$F0UPD0TE)Q;;6G9S%8@) U"!\, MI.T$GU];JUVERQ UJ@3:"*C6;=4)=:ROLUNZHP!U%>#(.56O*$[2N>\ZV.)Y MU:(F5HPW-I;TDJ9@'OUR!X\B%$D%K%"['@7L+B0K1Y5;M;:K!?A4MI %H/(U M%M"&T%H!!)CMC=547+<;O=MUZE&,51W8P?D0,-U$OP$?NLMRR+911U@NA 1Z MJA;2CZ@C>!$"']FK"JQUPC\/T XJOF>L0\(./'2WT>5&F!*>8J>G*!O=>,8Y MIA" =K]#D1+6VATBYN I1^1$4BA[($D-RRN:$=F'<%M)6S'EZ,B) /#C8 V9 MBCGN%C$;4C1H=:Q'5V)>(ZV&P=UI@@C7PC]@JU888AP1KVLME5K"L)%+$TE6 M6DLL2LZ%&*[ *TV).J,]WK;\9"1>2<()!X,T@WL DD$'H/P=0QF(J4DS;A_J M:"/!WK4&4B'-TA#E G% '"B##( ,<'E\QC#"! G"@TDC\5K#YY9LA<=N [190D+@)(VD"'B&P$WO%6#C<>C,1[#IG?'Q$D*LF4 MQ 35H>!86]P:K?NK.\2*[,"VD);O #BD-HAFD'3IEF+=2KJK3L--))S.OB=V M]JIA?FD;]D+6&O8AF,R^:+'&(O&5$8VACLL33$.HK[0#8Z#R'B'C =8(B>JC M/^U\@WA0GVZ0.NJXCU?^>Q5Z+]4<": RXZV5C@76R:FT);<_M T:C2'1]4GWHHJ@\BOR)XF'3K8QR#!2D@Z0V M5%%FBXV!)/ SUM[]@2O EN-+(XH3:P2&I.#^(=HC\4/3DT 9"&KHK56_M\@] MXB/WS+HT-E8?@MLK)F-N.S'&,+]CZZ2/.Q$OK8L%21+$"L?&2NY1>BO/*5*] M M>-EA4'PZG!TT,3LE4@C!Y]M99+C6*CBC5]G50$WXI[N:EUQ:RPE#7;'P[? MW60PK!-9=LPF]W))1$6+RM*V>#Y4]/1G@XEC\0QX<9^8VLBIG;0=ZCJ38X:( M[)$YO0;=UW'$#H- /RE201PG[CXH0T^K(BW=+^> S,O;*U&,"X*.(0""=LK: M@/IX$%I+QCP-,+&^'\$YR(.J_8CM8Y=W!RQ&<+I'#R&#I%>MHEZY_)6(QA,_ M\GC(V W=2(=:H*SJ0*V4:*@F3*UCX^4@<0A Z'(=B!J-HT=FKS-4A0T'%QI] M8,$Q1\"*R9AA"L968$*.3007=PD([^>/,/C5(3[ .S#A#[D&O,+(=YRX_D"U MB4TNLF.T&M3H[U0,=!=@>AA"?#H"D0EW75[ZNSNJL].CV9W&W+-4#R(KC&3: MA1$81[#&'UIIM+SO>/U,=137SQ"HBJ/]%V.5$B^K7^%2] 1#]&K%H>.:IY- /53S802+@ LYI!G=NT#1AW.J M9X8(+]?X6#\XTKF.\1ZDJ_8<B9MN8\?;[%@ T6-MDOL2!9=[?W<6K426S!:IN.;44F9I7$)J M!0\531E9)A292 \N_R3113L#)Q SSV=?Z^^)K(.SR6R6_KGN3I+%=/JE[C[- MGQT<_D<+I/20R)-Q]M7^'HOJW85ML\F?Z^XTF M6R[AX9M9\3/5\M&= $TJH,/53;2@R]V-U.&T[^/K\Y6NM^3K'.F8T46>9.A* M3T1:3)-Q6M!57B1Y,17O82ULY!WI/)D5F4BGR00%A4UC "T'A--4_(L[Y229 MS M4RF(Q%>DXR8JYF",_,_'6>)#Q$S%/DQ3Q?2)F65*PHBQ;))/)@E0N9LEL M.D%>N+'WYM^:E;\C4L62I)AF_/]DFN+_'+])R"29CW-QU?JE;'X3)"/>DDR2 [39-\NL" BA931U#P<1D.)W-:ER;C8B;R-)G-4RK8R2P5 M;VUW,@&?AIF )$]F6)_,LD($KSHGLS29!C-G29K310&U[&U.+B[ZE>D88> 4 MS!=X,*?-BS&N*$19#FRGF7@53SU;ZG3W#IQT.K3A72%$'@X#<$J2E0QFTX+19)ELVY:+,D QM>R496DL$.]!*D\X*PO$ASX LM M9R*N,$%(KM$\@'Z\ .!0N- -C +9])E%TZ #6%VWEEY%H?['4U&@0J9H_JBK MG#BA@(Z?=%4AD=?2^?/+E06_41^"3#!"Q@JFT#U'2YEV'OT3.:DP(D^2? '= M23[/V)YL+&;)%'HNG9;@KI)F,*S*)M2#I_E8+)(49A:X7H@?D8E&7"(MI#.# M-C /F&N.YT4ZHRZ&?8&=,K#6!#PQ0^V2;?]7%?[[YOI'0 JY70,S@_DXG.MB M#TO'H_$W#(LT&TV^N5^NC?(1R8.7LF%8^]R,1E()$@E@[VC$1^>L^3V0F(^* MJ#7]Q\\&72T1FS=]G:>!'>,)'S/YN_PGX,GSY/"P/WX\Q M+N'D2N\W5]@Z'LVF9^&58??#FQU_!UT:CS3PY49)5#LMP/.50;.+/TA!_V'\ MXG]02P,$% @ MD)H5UN77BIA P ?0< !D !X;"]W;W)K&ULG55M;^,V#/XKA%<,&V#$[TF<)0'ZDF('K%W6]FX8AGU0 M;"8V3I9\DMRT_WZ4G/AR0U-L^V)+%/F0%,E'\[U4GW6%:."EX4(OO,J8=A8$ MNJBP87HD6Q1TLI6J88:V:A?H5B$KG5'#@S@,QT'#:N$MYTZV5LNY[ RO!:X5 MZ*YIF'J]0B[W"R_RCH*'>E<9*PB6\Y;M\!'-QW:M:!<,*&7=H-"U%*!PN_ N MH]E5:O6=PJ<:]_ID#3:3C92?[>9#N?!"&Q!R+(Q%8/1[QFODW )1&%\.F-[@ MTAJ>KH_HMRYWRF7#-%Y+_GM=FFKA33TH<,8@/!K&+NW?DHKQAABWG2NY!66U"LPN7 MJK.FX&IAB_)H%)W69&>6ZX=?UZN'IS_@\OX&5K]]_+"^6]T_^7"_>IH'AAQ8 MM: X@%WU8/$9L!SNI#"5AI4HL?S6/J# ANCB8W17\;N C]B.( E]B,,X>0GJEMK,P)^7&VT4](Z=O(]O9 MF>F6%;CP:#@TJF?TEM]_%XW#G]Z).QWB3M]#_Z]5^M]@<+P@=S,XW$PA:0JU MT2"W8"J$K>0TS;78P0\E+9G24 LZD9TF0_WC#*AR!IL-JJ%\<(/%01(Y20RW MG1*UZ10Z=]OZQ:XU7$#B1].<_K$_'D_@6C9M9\CP:T"IG^0QJ:59!I^PJ@M. M=GF8P#29GE0T\^-)3LJ3> J_( UO)7D)==,J^8Q60T,4DLX8)GXXC:@KI"%' MFI G64CN\VE([@6U1=>S"*5)=[2C,$DIBR#R)VD&3](P#NW;EQ=/_2@E,(HV M3RD,K6=$1D77=)P9+(E#J&.*FCG\**:<0LC].(_.5,,'061] 5'FC_/0+E(_ M#NW]GN#@"]&VMI52KF*F4HC0]..)=CS?*I'UXRJS9U2&:!03Y7#NV)-.+L)1 M?A3XQ,BZ1<>I_'4$MP<_@IKM7[OQO\W]&+-SGOS3>3S*SCA_:\""$TIL4.T< M\6MJY$Z8GAT'Z?"V7/:4^E6]?YCNF-K50@/'+9F&HTGF@>K)OM\8V3J"W5#S MR,8M*WH?45D%.M]*:8X;ZV!X<9=_ U!+ P04 " "V0FA7]R<*5?T" !, M!@ &0 'AL+W=OS@S9?;8GHX'LEE9T'I7/U-(IL7F+%[:VN4='-3IN*.SJ:?61K@[QHG2H9 MI7$\C"HN5+"8M;IGLYCIQDFA\-F ;:J*F[]6*/5A'B3!2?%)[$OG%=%B5O,] MKM']5C\;.D4]2B$J5%9H!09W\V"93%?,V[<&OPL\V#,9?"5;K;_ZPV,Q#V*? M$$K,G4?@]/J&=RBE!Z(T_CQB!GU([W@NG]!_;FNG6K;6*>KHS-E4 G5O?GW8Q_.',;Q"P[I MT2%M\^X"M5G><\<7,Z,/8+PUH7FA+;7UIN2$\D-9.T.W@OSXLH/^*L.IST!9P)?-3*E18>5('%?_TCRJE/+#TE MMDJO JZQOH4L#B&-T^P*7M87FK5XV0MX[[4N#D)*X*J 1^6XVHNM1%A:B\[" MO;"YU+8Q")^76^L,?2Y?+K6AB\(N1_$K-+4USW$>T(Y8--\P6+Q^E0SC=U=J M8'T-[!KZ#PSK*L[E+"^#G[>*=ZW*-:VD=:!WX$J$G9:TV4+MX4U!(C<6A*(; MW5AJM7T[!1JEPVJ+II\GW&-^U"2M)H6-X07Q#7$1W,"83&Y@.!["6N_<@=-4 M!B$;I<#"\ :WHVYVQ^*8E!R3P*V%+6%C(6C ME/G0XU$"3UK]E.NJ1H? L@DP%L.O5)@!-AG3;P0;[0@PUU0SR\+!< #9)!P- M1_ !K9W",L^;JJ$ 6 "OM''B[S88)"Q,8@9)3*EG_V]D"(I(]P;22D M$P:7/I3H;,.IH'W+8WX4C7+=LO?:GBJ7'4/\:][Q[$=N]D)9D+@CU_AV- C M=-S5'9RN6[[8:D?=:\62Z!Z--Z#[G=;N=/ !^C^0Q3]02P,$% @ MD)H M5R#)'J?[ @ Z08 !D !X;"]W;W)K&ULG55M M;],P$/XKIX 0DZHF3=:NC+92NPV8Q-BT\?(!\<%-KHF98V>VLPY^/6>["T7J MJHDOB5_N>>ZYN]QELE;ZUE2(%AYJ(N:Z5\+%&H]C0;1X\$U M+ROK#N+9I&$EWJ#]TEQIVL4=2\%KE(8K"1I7TV@^.%X<.GMO\)7CVFRMP46R M5.K6;L>3U (1T0R[C:<4>?2 ;?7C^SO?.P4RY(9/%'B M&R]L-8W&$12X8JVPUVK] 3?Q#!U?KH3Q3U@'VV$60=X:J^H-F!347(8W>]CD M80LP3IX I!M ZG4'1U[E*;-L-M%J#=I9$YM;^% ]FL1QZ8IR8S7=_5B,$K>[HGAL(OA1+ M2$>]HU$&\Z+@08)C;5J=5]1ST&CNH!1%SD(W%S^I.6@Z4"4'O?'1$*A)J04E MG#T01)8(K[/1P;;7'D%MT1H_ M<]6*R+C9=M#?]4W'6^.G1EWZ(6M(92MMF$3=:3?'YV%\_34//X$+IDM.J16X M(FC2/QI&H,-@#1NK&C_,ELK2:/3+BOY%J)T!W:\4Q;+9. ?=WVWV!U!+ P04 M " "V0FA70)%&@)(" ""!0 &0 'AL+W=O:V(NUX5UB6 ZKL4:%VB_U[>&1T''DLL*%4FMP.!JXIU%HUGJZIN">XE; MVHO!=;+4^M$-KO*)%SI!6&)F'8/@WQ.>8UDZ(I;Q:\?I=4LZX'[\ROZEZ9U[ M60K":L[]83*:O,"%Y*R4M/&(/PX6Y(U M?!U^'NJX)4P/$SJ+C*@6&4X\]@"A>4)O^N%=U \_'Y&;=G+38^S_.XRCX,/2 M]ACAKD#(=%5KQ7M"H%<@N^T1O"^M+^5OS$$0K'3)AB7XF',@#'$QV$)O2*B< M/HV C\IBM433G1=<8+;+1$TFAKG8\F6U:*0H"=Y#-/0':>2"T$^C/CRP8QUQ M;72&1)#X_6@ ?7_0Z\,7J23?ZQS66N<$@]"/PA#ZB9^&"3. MH >'MC_8\T6%9MVXGW@3-LJV%NFRW0-SUOKJ;WG[.ET+LY:*H,050\.30<\# MTSJ^'5A=-RY;:LN>;<*"'TDTKH#G5UK;UX%;H'MVIW\ 4$L#!!0 ( +9" M:%?10)-1]P8 $40 9 >&PO=V]R:W-H965T<^]/7<\YF!MW5=?$ 5Q76KC#WM%"-6;X=!G!972#VQ%!BM+ MZTH9\.I60U\YDGD4*O5P/!KM#TNI3._H('[[Y(X.;!VT,O3)"5^7I70W,])V M?=C;Z;4?SM6J"/QA>'10R15=4/B]^N3P-NQ0OYD9W_T]A%+=SM+=Q]#?S !_RTE MSD\^?SS[?/K;K^+=='YZ=GIY>G(A+@L2,H0JGQKO[;2 ,'D0E,(Y+RPRQ9$H:+P;[5RM)*! MA"QM;0)OJ"L1K'BZ,]X;C$!9K5%]?;$N5%8(Y5'^BR\H2=X38"M@RX@K6V0) M2$+=!Y$#.!?3RBDM]A,WQ L6ZLW3UFF[M?=R(*81!DP*5"[(=73J"V-1N5J: MC,0:(4%O\@%>L8LU".Q@" SK]+90QY0U2#L1:=R/%F^BFW,(MM%:+1!^.M[? MN-^HD8BX0J2_KSSZBW\JT+,"[Z#(IQ!J)6:TT(*@$Z\ MD"_%# U/G/,JS'ZQ>"FF^1N2"$)F%0GJ;"E&@_'H&:O P]XS47%(C:G+ M2%\&KDWM85ME730&:8C&="3= N>@,H$WAN)0@JJ[&D>MQCT\L)Y-2,ZZ\MAI MM^UTV[X/5-H/;%&Q,3K 7QD]/W!Y%D?9/ 5Q3-,WS '0A&= M:ZS>\J-)P:VX)PX5=#>\$GIRP@F?\Q>$[!9'YM9XJU4JPTL;0(\SNB*'TYHC MH.P@M9L[Z?S)PZI0.VXQ+,M5OUW$^XB!UB*3E0*D^H?RI@O CUB)8$+F5+6= MP[NM*Q1,7%AO+.QFOJZ59U^6Z)1YAX0* A=0JE>4HD72<'*E]VK%&U.PRB3P MO2L#\7&AU8I]-8]6&YO2-M#%#7B\5 ZQC_4>6RVY);*'U;B+/VUJCSSQ?C)972X<]Q7?CVT7L4-4;F4*\2:GD!^T=(@"/?+;>\+(%I/4]=G' M"K!3+Y>P'Z!@6T0R7#_\DMDK,M($GS+@T#240UFC_2.L,1$<>?2F?K20?>+9 M,*)JH&A!UPJ%P6V2D1WQ,ONULA;1:5IIGYE:H0>NT8RVV:WE&M =I,PR/G>A]3.I9&YC"EIF98(&..15F&[JP;8@_D!:;OYV:YY$X\0F.J8%DV;8$_1 M#*.40A0Z0_ 1&IL6#%+4S2G1! 6-G.]4T874K-$(*/<; QOD#I"'#K\Y>L#F M]Q>S>6OO3)JO723[AT:4TOP5;Q MHKBP 6TE/A:XYY/C#5A?6AO:%U;0_>7@Z%]02P,$% @ MD)H5XB=+\;T M @ = 8 !D !X;"]W;W)K&ULI55M;]LX#/XK MA&\8=D!0VW*2-;TD0))V6(!N"YKV#H?#/B@V$PN5)4]2EO7?CY(=+P7:8,!] ML26*?/CP1=3XH,VC+1$=_*BDLI.H=*Z^BF.;EUAQ>Z%K5'2RU:;BCK9F%]O: M("^"425CEB3#N.)"1=-QD*W,=*SW3@J%*P-V7U7=_K!X6_!1[LR1I\)!NM'_UF M64RBQ!-"B;GS")Q^WW&!4GH@HO&MQ8PZE][P='U$_Q!BIU@VW.)"RW]$X^MTU1H3@TJHYL]_M'DX,;A, M7C%@K0$+O!M'@>4U=WPZ-OH QFL3FE^$4(,UD1/*%V7M#)T*LG/3V6+QY>'S M_1I6LW]G\]L;F'V^!A+>/=Q+N^7-^MQ[,B;MXGS%GG>(+-7D$?P M22M76KA1!1;/[6-BV5%E1ZIS=A9PC?4%9$D/6,*R,WA9%WH6\++70L]SO5?. MPHH_\8U$X*H $IH]%G K^$9(X01:^&^VLG&"[4#%[(; M8'RZK=@IL14Y5XXN95N#^J0&O*V!;&OP1/=.T M2(>]X>7(=X@A_(Z1[XJLQ[(A?0>C(2RHTWV#/%,8](9L &R84E-]VPLKPA@J MM2PV/'_T[JJ0CVS4AW24PA<*RSQ#8+WLDA#(449<^JR7##PIQGJC]PF\U#_Q MR22HT.S"O+,0DMP,A4[:C=19,TE^J3?S^!,W.Z$L2-R2:7+Q?A"!:69&PO=V]R:W-H965TU*E/F"77: D8 %=:6E73'+]J'J@Y/7$WEQ5Q;:'0]R[ZO9<.C2G$KI=DU%&F^6QI;2X]&N MAJZR)+-PJ"R&D]'H[;"42@_F1V'OLYT?F=H72M-G*UQ=EM)N3JDPZ^/!>-!N M7*E5[GEC.#^JY(H6Y*^KSQ9/PPXE4R5IIXP6EI;'@Y/Q['2/Y8/ 5T5KUUL+ MMB0QYAL_?,R.!R,F1 6EGA$D?F[IC(J"@4#CIL$<="KY8'_=HE\$VV%+(AV= MF>)WE?G\>' P$!DM95WX*[/^A1I[]ADO-84+_\4ZRD[W!B*MG3=E$TR"G-05EXB[<* MY_S\XN3CE?AZ\NGZ7%R>GRRNK\XOSW_]LC@:>H"SR#!M@$XCT.09H/?BTFB? M.W&N,\H>GA^"5,=LTC([G;P(N*!J5TQ'.V(RFDQ?P)MVEDX#WO0Y2Z6RXJLL M:A(?E$L+XVI+3OQQDCAOD1Q_;K,Y0NYMA^2"F;E*IG0\0$4XLK.\E]'\3FO\$)$X69^)@,A*55<8JK_Z&.WQ.0NFJ]E@:<0MWR5 ] MGM)P52B:J@%WD=AO=DT[WQZC0@*P%8ZD#[8=ZGZJ" MH!<2-IM[ZJ0"1J8L&DVQ8 [3:ZN*F,;1+#V4:4V?-=$RM8)ET>=(0%ZT%ZL\0./)6: MFF417U+!AMYF)3=QQ]2$THERITQV,V:I(U'(5C;F%/Q M'826VWSZR,0(V\"=F;*2>A/RXMVAXTRDSH(^)=?GE.&OZ3*6"LF)BZKKF:69 M&P5CT8\(C=D+&U!:,UC/=Q#[T3V*U_=P>J0R(49O737%A0P9 #YI$ M\&IL\5].CXBQFVGJ1\.A^'NV36M!Q; V2HRZAG;77#H=#WAYG;,!!I;WS5H1%RY MM;5L LQ$L&67FEE(&AUZ?,(3W()#Z@/\2=<=B9M$;-D 5=Y/N M>B:+F#<&;)Z^B0M10 *.*D( 988 *IZ[PKU#=_C&Z"D"/6<*E84T7'C\Q*A" M*TB9DD*46-+GEF*I:^YU91Q!B4?0+2[9W3:5#7O#-G07SPI@JC>&(\!ONPS/$E198% M\'YI$/GF@15TWV;S?P!02P,$% @ MD)H5VGC3MH* P B@8 !D !X M;"]W;W)K&ULI55+;]-,%/TK5T9BA>+4:7F4)%*; MEN_+(J$B!1:(Q<2^B4<=>\S<<4+^/6?&;BA26PFQ2>9QS[G/.1[OK;N3DMG3 MS\K4,DE*[YOS-)6\Y$K)P#9]+7TX2*?C1FUYQ?YS<^.P2X\L MA:ZX%FUKGP3X:?-&\EP=K"IFLK;T+FWDQ288A(#:<^\"@\+?C M&1L3B!#&CYXS.;H,P(?K>_8/,7?DLE;",VN^ZL*7D^1M0@5O5&O\)[O_G_M\ MS@)?;HW$7]IWMF=90GDKWE8]&!%4NN[^U<^^#@\ ;X=/ +(>D,6X.T4=;C5P?CK[N%C,;Q?7R]L572RO:/9Q>3M? M_G>]G,VO5^/4PT4P3/.>[K*CRYZ@>T<+6_M2Z+HNN/@3GR*T8WS9?7R7V;.$ M*VX&-!J^HFR8C9[A&QWS'46^T5/YVJK2'E/EA51=T SAZGK+=:Y9Z$I+;JRT MCNG;Q5J\P]!\?ZP*G9/3QYV$AW0NC#]\_D\+I,873 MY]C_OF7_0#>OR9=,UA6ZQINEW+9.L-_0NA40B73O2GN4[U6T184;51\PI =: M,Q!]@;TYD-%J;9B@)5AZO57=RT0?N^ U8Z+/_B5$0L*P9OW[/ 4 8^N H'1=W!?6EN$VH3T'\\/ M(: 8I% =D&AE2*-:N2>8H;3P+) 3"23071?Q*$.NI*0-!!0WCC;H!>85X,:* MCBZT %I9SX/'!BQ]H \HX#:JH%#,N9.*X^E1:"\Z??EMWJGT0KFM1BT-;P = M#MZ<)>0ZY>LVWC91;=;6HXEQ6>)CP2X8X'YC$66_"0Z.GY_I+U!+ P04 M" "V0FA7T7>;#U # #.!P &0 'AL+W=O(6S%L@.'[&3?-; -VXZU]:V_(P[$&^X_F$Z*2;I(O; M_WZ49+N7Q3'V(I&2^/$C)5+3@])/ID&T\+45TLRBQMKN+HY-V6#+S%AU*&FG M5KIEEE2]CTVGD57>J!5QEB23N&5<1O.I7UOK^53U5G"):PVF;UNFORU1J,,L M2J/3PH;O&^L6XOFT8WO=W#D6=XSR^93K0Z@W6E"/C_\MH7U:@/;3XO-:AI;PG6[<7G$6 :,[ V,#_!%2=L86,D*JY?V M,?$YD\I.I);95< M=F/(DQ%D299?P8>+W\K2*8EEWL#:]2P;9A&^&NQ M,U;3F_C[4KP!KK@,Y^KDSG2LQ%E$A6!0/V,T__&'=)+\,RP]? \(A0JK;K+;JGS4O 4Z8ZRI3QF=I]@XH_\XJ605*7X)),_+)M$ [^ MV6,%[!DU53'(OMV1K:H=_'!5C>&>B][!O" P M1'!^15\1$M8UE;3SL-=,.B/:TDB=PC)!C8+NE9=NF8JG?()>D)#GHR0KX!ZEHN;BX1[_&W=(S3'Z[/UHXIS0E$Z"E@2M M"'=(/79P0Y=O [(4"B"+]+6W4_H'_HIBZ"@/6GH#J]?I7GJN[R 9%Q_"Y,)- M3Q-!G![:M3.7JC@>]%C*_-[_)(9>0"]M:+?GU?-GM0@]^OOQ\--]87K/I0&! M-9DFX_CP>P3%JLYW[)VRU/^]V-"'B]H=H/U:*7M2G(/S%S[_%U!+ P04 M " "V0FA7GM8?]($& #2#P &0 'AL+W=OUV_&8Y<5 M5$DW,C5I?%D:6TF/5[L:N]J2S,.FJAQ/D^1P7$FE!VW&GIV8QI=*TXT5 MKJDJ:3<75)KUZ6 RZ!8^J%7A>6%\=E++%2W(W]4W%F_C7DNN*M).&2TL+4\' MYY,W%W.6#P*_*5J[G6?!D:3&W//+57XZ2-@A*BGSK$'BYX$NJ2Q9$=SXV.H< M]"9YX^YSI_V'$#MB2:6C2U/^KG)?G Z.!B*GI6Q*_\&L?Z(VG@/6EYG2A?]B M'64/Y@.1-+J^NUB(B1FR5!,D^GL M&7VS/LY9T#?[4IR-PXISXM)4J=(R0D+GXMPY0/\\^]@HI\+J'^>I\Q9P^?.I M/$0S\Z?-< N]<;7,Z'2 'G%D'VAP]O57D\/DNV>"F/=!S)_3_L^+]2_4B-N" M.#FUU!N1X;8@$- Z** " &@$#Y/%4IV;Z& MXF4.-=(ZH30VF<8A^^[5F[W4 \(DKF5%H32_F"S6Z::Q68'6$S=69;2WXW93 M[R] MC80?2)!,Q:*0EK8.O9/V'O!Y^XBT!9ZZWQ=R M57=;ZQ"+A&@;)1@6$@IB%LID9*VGLS82+^^T;'+V\-5SX7V2N4OIBCZ4;\7Y MUGC[93Z9()N9:=A=2QFIAQ#"-#F$P@=$8>Q&3 ]?0R'54N6A4 :!62&YDYR8 M).(']8C,=>]S<6ME#I1P72<'B;@,M(8=ELI@W16J=F(Z/$X2\:,Q^5J5)8IW M]/I@ZTPM-\$3MB>SS#:P4"J9JA)U1X%>SF:35SNQO5_&9&8<6 8;*B<;K W% MBV0T!YFB\HA\+9THJ,Q![ME]* (#H"1,'B^<>NR +9>>;"CA7A< '4.!$9EW MS=#V#G\T2Y&1]1B-[$'@E$:6PJ2E6L7 1Q&[%L$H[:5>J1!CS%PA45$IUF&R M<$(?$,&*!!"Z;$I$OR0V<2PV!(2,&'NH].=Z0CI3O%;&>O47-#'W"28YUBR8 M'WBT(5OF(<0H/4*RRN2C;3V6UE0QI;OQXQ7]W@!];#! 6#XRR+D)HT]BU:D M9'9;07:A$S)F-D3B7IMU2?DJQ,4B#Q)>- X3C_L,J,[1K%:E >0[XNDFB'>* M7+>_-Y&V_#]$4I!1.".C$_18HW<@X3::[(JA!!\QT[F>;P#'"G @)$(]IKQJW_$?ZAA7#VCYR)OHDH[5B.G%=5,->AL65S_AXSTM*-[*AP M2TRNGX)YZ$>U?"K=H*FL;2N\_RQU@UM#/],YA7B8?O%<<A@_T),CR?#XZ,9/\V/AD?'Q[MXPM1,AD>'_'4V&TY>'XLYHR5^0JBS304EQ7KG6AL@)WH :C+$R. %:3\OBA/.3ST^'5PKD[ MZ\F>-E-:*:VYENT"!DP):NS&0@<=+HUEF^W4FE MJKHK 'QG Z6/GCJNCW?N63B_K,)MDLD6)Y1XY>I7^POK>;RG;<7C M;1<'1Z38B9*6V)J,7A\,A(TWR/CB31UN;:GQ."R%QP*7;K(L@.]+@T-?^\(& M^FO\V=]02P,$% @ MD)H5[D0KBHN P &P< !D !X;"]W;W)K&ULE55-4]LP$/TK.R[34QLG3LI7D\P0FDXY4"@!>NCT MH-B;6(,L&:V,X=]W)3LFS 2&7FQ][+Y];Z5=C6MC[RA'=/!8*$V3*'>N/(YC M2G,L!/5,B9IW5L86PO'4KF,J+8HL.!4J3OK]_;@04D?3<5B[M-.QJ9R2&B\M M4%44PC[-4)EZ$@VBS<*57.?.+\33<2G6N$!W4UY:GL4=2B8+U"2-!HNK270R M.)Z-O'TPN)58T]88O)*E,7=^ M<7N\0?\>M+.6I2 \->JWS%P^B0XCR' E*N6N3/T#6SU?/%YJ%(4OU(UMO,# JIF[]X;/.PY7#8?\4A:1V2P+L)%%A^$TY,Q];48+TUH_E!D!J\ MF9S4_E 6SO*N9#\W7=S,%O-?-_.?US"_Y>]B'#N&]9MQVD+,&HCD%8@C.#?: MY01SG6'VTC]F.AVG9,-IEKP)N,"R!\/^)TCZR? -O&&G<1CPAJ_A54O"^PJU M@_D#?PG^G"S)6;X1?W?);=!&N]%\E1Q3*5*<1%P&A/8!H^G'#X/]_M$B=6:)%@9-PC]!C9":HE3H M, .7(Y=.Y^_=!9P*+3(I]&=?$!F(BJ^I\>4%*ZD*R"1G5RZKINYT!E*3$TJ) ML+")#CYW4J^AM)(;@E1/VT 9"H666Z9!E[@V&O1%7LU)LT(,S'TWKEDHM7=[";"FB(#C#TO"P=/",P M<6L!3D]&> C M-WY_17C-5'8'#IP:KGCM<\LC,DIFPG.;"24TYV/ANU)O5U'$6PVK0+L.;9D@ MT&YZ5[?:=?Z3IN$]FS?/QKFP:SXX4+ABUW[OX$L$MFG%S<29,K2_I7%\_F&8 M\^N%UAOP_LKP+6@G/D#W'D[_ 5!+ P04 " "V0FA7XKLD@7P" "X!P M&0 'AL+W=O]\S_/XSM9=M.7B M7N8 "CV4!9,3)U>J&KNN3',HB;SD%3"]L^*B)$J;8NW*2@#)+*@LW,#SAFY) M*'/BR/H6(HYXK0K*8"&0K,N2B,I"W?#M M-VCS&1B^E!?2?M&VB1T,')364O&R!>L3E)0U?_+0UF$/X!\#!"T@> H(CP!P M"\#G*H0M(#Q78= ";.IND[LM7$(4B2/!MTB8:,UF%K;Z%JWK19EY)TLE]"[5 M.!4OR"/:2+0 8=\<2P$E5*8%E[4 ]!'=+A/T[N(]ND"4H9\YKR5AF8QG\G_K\Q>H'Q<#=*\"6#[_D%?1==D,7]M.9WC:6%4EAXNCF M)4%LP(G?OO&'WI>^2K\F6?*:9/-7(CNXD["[D_ 4>_Q##PG*4E[V7D"#'5JL MF06;V,?#P3!R-_N5[8O"_N@P*GD>%7HC[!U&S9]'8>P%81?5).GNM:(2Q-K. M (E27C/5O,?.VXV9*]M=G_BG_GCF]_@3/9::*?*/OIEIUT2L*9.H@)66\BX_ MZ4XIFCG1&(I7MA'><:7;JEWF>K2", %Z?\6YVAE&H!O6\5]02P,$% @ MMD)H5VQ.:/&! P " P !D !X;"]W;W)K&UL MK5;;;N,V$/V5@0IL7[S6+78NM0TX3HOFP6V09-N'H@^T-):(2*)*4O;F[W.5MYBU:P]R,1.-+GB%#Q)44Y9,OMYB(?9S M+_0."X\\R[59\!>SFF7XA/I+_2!IY@\L*2^Q4EQ4('$[]Y;AS2H,#* ]\0?' MO3H:@Y&R$>+%3.[3N1<8C[# 1!L*1G\[7&%1&";RXY^>U!ML&N#Q^,#^2RN> MQ&R8PI4H_N2ISN?>E0Q_Q5[01/#EXA"M;^P[\Y.)AXDC=*B[,'D M0 :Z"#P!Q#XA;H9UGK:P[IMEB)L4>I#E-;&;0 MQJ9%DQI>F30^:4F[G'!Z<4\)25'"LV0IKS)82LFJ#"E16L%G>.1)SF0**]F4 MQ2O\M<9R@_+OF:_)MF'PD][.;6,A*W-+&']#:LC&"S2O<5RG? M\;1AA2T%'>F%G=0\"#>J9@G./:IXA7*'WN+3#^$T^,DF_'\B.]%_,>B_<+$O MUDRCY*R 9Y2E K&UW4];!)RT_S8";A]_KV#99%2A$(==_D?ORF4$=US2\$<* MA:1JI4I,N:J%XNU32.1Q.!U=AU%_ ]^9(QB-2CKYI$7R FDC32C-B9K"+%+8 M2E'"'29M=4,O![1X6^LU7HP=V9T,V9TX(_<;*]&6/#?J-+:V?#GQ9][8Z:!I MZO3NF>O"*LH-.UP0FQPG\DPYEX.<2W>PFP(/5_.HY W5N;4#>AEHTM/"LG MZDR15X/(*Z=/K1A30/3EM.;N._#3ZK>IYZ4'?M=N\H;7>-9$:I3:2; M)9Y.(66OUD^C$WFFNC!X:UP"M[XLDYA1YF"Y8[Q@&WO]]2R3EL4TM;L%/9;T M5L[\W4G[\=USG9_^4:]5HLS:%E1!(II*=VW7L#JTNEIY:59@\ (TK 9 >&PO=V]R:W-H965TUGT$=2;[0&'^X&6:)NM M+&I)*:GWK[]O9DA*GIC?.?P]*85GU9575XMK=L MV^;QP4$HEF:EP[YK3(U?YLZO=(NO?G$0&F]TR3>MJH/CP\.'!RMMZ[WG3_G: MI7_^U'5M96MSZ57H5BOMUR],Y6Z>[1WMI0L?[&+9TH6#YT\;O3!3TUXUEQ[? M#K*4TJY,':RKE3?S9WNG1X]?'/$-O.)W:V["X+.BH\R<^TQ?+LIG>X>DD:E, MT9((C3_7YLQ4%4F"'G]$H7MY3[IQ^#E)?\6'QV%F.I@S5WVT9;M\MO=H3Y5F MKKNJ_>!N_FGB@7XB>86K O^O;F3MCR=[JNA"ZU;Q9FBPLK7\U5^B(08W/#J\ MXX;C>,,QZRT;L98O=:N?/_7N1GE:#6GT@8_*=T,Y6Y-7IJW'KQ;WM<^G%Z_? M7;RZ.#M]]YLZ/3M[?_7NMXMWK]7E^S<79Q?G4W7OTE6VL";F'-]_ #VSLL=)V1?'.P5.3;.O3@XGZOCP^&2' MO)-\^!.6=W*'O-.B<%W=VGJATC'5OT]GH?4(EO]L.[#(^W&[/,J@QZ'1A7FV MAQ0)QE^;O><__.WHX>&3'=K^F+7]<9?TYR]TL$&YN;HDV76K*:RW*?D7Q*@' MZK>E486#I^I@2OH48))2M_@RM[6N"ZLK%;#<("G;H+0W"J=L\+=4MJ8[""1L MNT8(MTMU55NZ=TIW!/7:U,;KJEHK&-TT],O0^MY"?E-AX;V]J_WIOGI]>GJY M=U_IFF0755<:U4)!+?>P_O3]S*T:7:]E'2[?+!WV>.!N:FP0NEFPI=4>?MU7 M%W5K?)'6)SET(]Q=!\TH$=127QLU,Z96IK)(.#+ /AMGWM6\!F8H.N]-7:P5 M3CS2 Y:EK^.SRY%PFA+*:2_2= @F[E]9/;.5;2G\<"ZCBR7]O74>; :0J4?G M8C?P 2IVE:U;I[!=W"NH+I"!22GSI5CJ>F&4QTJE6[F(_:,M9[J"EXV2:D"> MWUM/:,H&,X#R,?[A&RBQGCK8,K7*!7QW"Z0M+EWJRR. M?4#RO2GFL)R57VK/\- ]W[XVZ/CX\,G9^]? MON6/1T_NIT".<9V%G'\Q14=U5+V?SVUA8C#'973WT<]/L!BBX,%KJJ$QS%H+ MIX(]:/B4W987CRP/3$(]10C@'T<_;H)7U8HJ"=!CQNB%&#?7NNHHD'$L)B?D M+XJJ%0Y%8ESGZ4I5N4+"I(S'WNG/A]F?#WN7$1HIV3/>M$W$D>0U:T: M25&.+SV?@URQ@ST')8'!*@/T'1 7X8*.D*#G&ZI-76[=PV\%J++S"?5\SI8$ M0.>CDW6PK*\8 H;G$PBB "8@003"&_7"T3(.P7V4K[:#CF"Z0!&VZ%J5%A;Q M$='8<[T9>:.X@LP^VJUFSY:V_5I\_ISC\^>=T76:"MP'4QA[K6>5V1:BWRT$ M49JO^OXJF2LL4:94C=I!OJ\Y]6XX+:D$D&\*5:/J M_O?#_6,0WJIB[HY5XPN\9DI$8C4S7CA68H:\'" W_.F(?SJ>$#*0(H"P:CT" MKXPH@EBZ1*IH5)I8B?-I@IH1W]#5^L\48WI!GS@:DT7")+)W"H<N@'V@4GU#*&\ID[5:VB%2IQ*8>O 1T MQOD^2OLM;@?J0)/A]BQOGN5/U(RHA$'YA#?SV?JH!;ZVE&',+@**M46!T'5; MK2&K_(0;)),!-Y(:D2&+0C.3L D9^A'5>D2K9D9R3-]0H,$<\7P"0S@U=B). MHR+S("*@R,^D0U8V5QS!HC4C'W$=\F_O)#>K[$*8R&2D!5$27X:AZ'@&CO!1 M8._*X4BA!^.IT^@)6#1W=-[WB7QXU(" 3N1P MR!\_46^-#IV7>@\OG$FHOA$,AC&WWAW)X 0\S*(EZ;G#0)C49:;JB;+<@?24 M(GV216ZP-!7E.\&MF*1%@%"H]<90AED&<9=0Q/OG4\\MU21@4IMT AT1QX L@(FP;@ M4Y@SFQH1X!Z[J$IQDP2<]['!:;VK$N6"C5>64FGA7"FH0%!FJ<#!?CJCYH31 MM(ZD2Q#7FSF5DY#)&\ CZK*" +\ M0R-L<7"*"N^ZQ5+IIA&J1OO.'95D^C:'] >A-0W:A-)4CR4G'CY1%R4U'E2' M!GQ:+($XF7 EBU^ ]>2!PD#(8/0 C^#T>?EI MW[C6*,)4T["HU5],2.2&6@>6EP1$$H\^B)$E M%I(&D0_S$5_ [10^G] M!%"(GHO3C0A5::59:.#]DMYZU!WG# AT.%/-R4X MN <8F. PZBU@3];8(<:^X18O<-Z')(RY J#"L"$;ISKIJIH9USN\XAGHC0-Y0D-/>>(O3?$U=(I M1$HOOW$8K5)5WEGP;:P[B!M94! /DW!MQE1/!Y"D'1%G "F MP!O?RN;&#_N)\:Y' (E,D%_6@SIW=LL#!%RFOAPDR=U: M+4)#/ M6FUKQIN^$@F-J7F:6U)WI[L0!_PKFM;(A#!.;-2-ZZIR,)AW(,9KHSF/H1W4 MN^(^A(/VSOP<13GE',&Y+CGV0!I (7R&-,X8IBV-3#.R((J%SH/$T/3.ES0 M)1;O2YR0.MWA+C21K=V=Y;G;HC1U ]5&]J&*(O/(\AL;#XMNZ4S@0#'TF$,> M P#C<&/NNE.3=XMP2=BR?8FB!+6 85IN['1O;7J"DD&@$( :=\>Q/6CTFE&7 M:&-Y+<>>,QASV8DVAOH)K2?9[@2\M"XF)+?Q8MN\CD#=((*CZA M"6;P:U^$?"F D:-O]+PEY\FV >OXD4AB!AO/&R*RZ;5,PF@1-:MF//6\]\Z! M?C/1ZM=!#CMTXMY)]KA)=0OK'CXJ LD;5R*=U\*I0YU_D[>\GO#J]^*!^/WUS=:[>GI].KSZDWQ;*V?U!KT 6A[G%(I.:DO8RQ MN2B-.W?T]UZCJJT?JS=H+BIU)".KHR?J_8P49$R-6R9Z_$?G*"*X!P:P=K6X MVY3W!9%Y5K32_C--F"@&+#?P13]V(N+08_-^W/LX[WTA&V[@Q'C?VUME]N=Z MU8UE&<**P)](FSI]F\12 DL\WI!.:@<4VTK[NYZCW5+@R189_=&_2>"MHW V MR2X0( 9)$;#EN-3\P%HSJJC>.VY8A.T/%LDF,K*-IC_)IK^JW2W'YYU"U\1' M@) (K5O9LG9#F1%>F8UL/ (D6[21\6%;US#5HL=6@Z=Q^X-IZ*";RN^A@/LL MY8D=?:!]$-ZT8M*S@1X<)KED_]#S_Z=!6,)2HL*,'$A)&F1F\H6?8P[S.?'VV%S4J ARZXKZS/P^B\#H M'1WJZ(CY:=>VZH%(- .:U:L4ACI198XH(Q66GO,-CQ5[8'E:ABL&=4*F5>D8 MM,\W*(9.8.RO;]%I8\N9(>DQ=OF2;)R>&I=#,=B>MQD^6HFW<>FY#,1Q1H20.R)0Z"B1LGC MZ/@ <67I52=Y:TGS"X102_O*J:GE%WMXMIW.'QOK67H@15'VK_8+>8*K,'+<>[O_\TY[, M/=*7UC7\ON7,M6!5_'&)1M-X6H#?YP[.BE]H@_P&[O/_ E!+ P04 " "V M0FA7.&GRG>@" "5!@ &0 'AL+W=OD*3!#R*5T20_C[KF3C MT@RA+[8NYYP]*VO7W:72SV:!:.$U%]+T@H6UQ6D8FG2!.3.'JD!).S.EA*32RS)-R$<91U ESQF70[_JUL>YW56D%ESC68,H\9WIUAD(M>T$K6"_< M\_G"NH6PWRW8'"=H'XNQIEG8J&0\1VFXDJ!QU@L&K=.SQ.$]X ?'I=D8@\MD MJM2SFXRR7A Y0R@PM4Z!T>L%ARB$$R(;OVO-H GIB)OCM?JESYURF3*#0R6> M>&87O> D@ QGK!3V7BV_89W/D=-+E3#^"P M03B)WB'$-2'VOJM WN4YLZS?U6H)VJ%)S0U\JIY-YKAT'V5B->URXMG^9'1U M.[H<#0>W#S 8#N\>;Q]&MU#4<7$]A[8%.!9K\;6HKF.&%:*Y]5RO$[ MRE_@1DF[,' A,\S^Y8?DLK$:KZV>Q3L%)U@<0CLZ@#B*VSOTVDWJ;:_7?D=O MD*:JE);+.8R5X"E' S\'4V,U795?VQ*N])+M>JY\3DW!4NP%5!\&]0L&_4\? M6IWHZPZW2>,VV:7>GU Y9J5 4#,8:Y65J84GIC63=@77G$VYX':US?5.W>VN M'Q8(,R6H8MWI6'\%P&]+"VQ=P10Y063J\^&:BS5)6:P7!L3M3%WMM1! M/%R2 \BKNX'N;@!]68OY%'7S>8')S(/M$L7+&_@YIC6ZY=$Q[&5DEFD#7!)+ ME8;H9O^TDGIZ:V9U -^9+%T&+?@(<3M98YQ-9B@]BD)2!6JN,DB2#HS9BEJ1 M-;#7CCK[6S4WLR#9]G%2F?M?_..CW>$[<;(1/ND<;0^_<2IU4MMN7;C1*G+4 M<]\0#?A*J+I&L]KTW$'5:O["JX9]P_2<2P,"9T2-#H^/ M!5$ZPF5A6^\4R5 MI3;FAPOZ;Z!V -J?*677$Q>@^1/U_P!02P,$% @ MD)H5RVAT+,4!@ M$0\ !D !X;"]W;W)K&ULK5==;QLW$/PKA!JT M,4!$1]ZW:QNP';=-FZ1&[*0/11^H.THB2?)267!2/,B\>ZX ML[/V&64N/+U-B%\'BTL[%; M6BG::+3HQCQ)BO%"*#TZ.XGOKNW9B5GY3FEY;8E;+1;"WE_(SJQ/1VRT>?%. MS>8^O!B?G2S%3-Y(_WYY;?$TWJ*T:B&U4T83*Z>GHW-V?%&$^7'"!R77[L&8 MA$@FQGP,#Z_:TU$2",E.-CX@"/S=R4O9=0$(-/X>,$=;E\'PX7B#_E.,';%, MA).7IOM#M7Y^.JI&I)53L>K\.[/^10[QY &O,9V+OV3=S\W3$6E6SIO%8 P& M"Z7[?_%I6(<'!E7RB $?#'CDW3N*+%\*+\Y.K%D3&V8#+0QBJ-$:Y)0.2;GQ M%E\5[/S9NZL/5V_?7Y'GMV+227=T,O9 #=_&S8!PT2/P1Q!J\L9H/W?D2K>R M_=Q^##9;2GQ#Z8(?!+R1RQB7)U)H%N017 MBU+ ,OLYN8P++"WY\WSBXON_]BU CY_MQP^R.79+TP&,FQ7G21F2FZMT$[$\DFY?# >] M[(_A=HY%,QUTJ_2,^% @@WC5/](1_Y#-NF?3;-AT.S; L,0#R\^ME$3HEFBX M)XN^;&0H&X*D>[F8(!6;S)/G+7P+ZPAP_=RL'"S=T3&Y$)W0C:3DI6P&$Q9- M.'E&>,'()N%6-F:FP;7%L!,>_]Z0I;A'4_$!MNE6P7?$EWO@)KTG\IPGQ1&Y MWA@"5Z*5M#&P]5PU<[*4-C;(,-M,.C43_;+,Q9TDVG@RD5(3A[=NJF#):5DS M%NT<& MSP!7\)P M[D_D;6@]G[WIE13TOAM=#PPVI7:-XXT/O/QPFIBJ;A%24Z%ZRC#(*$\3#%B1 MTX058905-"MR-&K=@F.T8!4M"TY83E/H'T8)=)%!<8R1WQ$A\D[3JH"PZSHG M+*&\J$B%DU?:@<]0PYV8($,LHU68QVA2E"1CM*Q8Z"]IR<+6I7381D+[-S'2@)R6 MF$]+7I ^JDV0G-&\IUE2EH5! ;,ZP2@L$<\@ M1<8/::?8:J=XLG8VRWKEO,+!,-;LS]+,K%BB7Y!SG([W[L$'/3Q]#[8R?@_- M*HCBTBR60M__@*UTPP<O.],,_7*7^RFF&>CUFPOWO5:A+=QX MT'9!ES5-DE _.2HJGA!845/.JRA03CD:]:70HA6QL%&IH7RS(M1MS3+4$G;# ME%SB<".B'K.^P),:Q061PC?J$54J;9'(*^'\^'QJT(Q.:G",MP2>'-W09 M=*D*WPM6A@T6=GTGXNA0*7I""9T&;O];<>,'UQ0PF,7+F,.9<:5]?V/9OMW> M]\[[:\YN>G]9Q-EEIE!1G9S"-'E18H>R_06L?_!F&2\]$^-1A7$XQYU5VC ! MWZ<&K7QX" ZVM^"S?P%02P,$% @ MD)H5W$2.68B P E 8 !D !X M;"]W;W)K&UL?55MC]HX$/XKH[0ZM5*T>2&!A .D M?:%JI>X>MTM[.IWZP20#L>K8J>TLVW_?<0(I)[%\BH%#[N1=YQX-'OJNL.P@6LX;M\ GMEV:E:1<, M*"6O41JN)&CJ[VWPJYU[H"*' PCH$1LLS MWJ(0#HAH_#A@>H-+9W@J']$_=+%3+!MF\%:)?WAIJ[F7>5#BEK7"/JK]1SS$ MDSJ\0@G3?6'?ZR:Q!T5KK*H/QL2@YK)?VO:..Y1VS M;#'3:@_::1.:$[I0.VLBQZ4KRI/5=,O)SBY6CW^MEH_K?^'ZX0Z6?W_YM+I? M/JQ]>%BNX=V:;02:][/ DB>G'Q0'U)L>-7X%-8=[)6UE8"E++/]O'Q##@69\ MI'D37P1\PN8*1J$/<1B/+N"-AK!''=[HM; UM;6V/WU8"28M,%G"\D?+&^HW M"_]=;XS5U##?SH7>(R?GD=TCFIJ&%3CWZ)48U,_H+?YX$XW#/R_P3@;>R27T MQ1,]RK(5"&H+%V,X1_PB]'GB1Q\=. X)*A2]2F.-HV$KA*T2]+JYW,&[DD2F M#7!)-ZHU9&C>3X$*:+'>H!ZJ"'=8'$ZB[B2&#ZV6W+8:.W=;_N)D V]AY$=9 M3FOLC\<3N%5UTUHR_$TH\4=Y3&I)FL)7K'A!?0MY.()LE)T4-O7C24[*DSB# MSTB/N5*B!%XW6CVCTS 0A:0SAHD?9A$E5EER9 AYDH;D/L]"^Z>6BHGJVT M_= 83H>1>]U/FM_J_;R^9WK'I0&!6S(-KR:I![J?@?W&JJ:;.QO*H:H[L:+? M!FJG0/=;I>QQXQP,/Z+%+U!+ P04 " "V0FA70N3>A@L# !%!@ &0 M 'AL+W=O1A47 M*EC,VKUGLYCIQDFA\-F ;:J*FV\KE/HP#Y+@M/%![$OG-Z+%K.9[7*/[JWXV MM(IZE$)4J*S0"@SNYL$RF:Z8]V\=_A9XL&"5;K3_[Q6,Q#V)/""7FSB-P M>GW!.Y32 Q&-?X^809_2!Y[;)_0_6NVD95^\>8+E>/VS6 M(3P];.#5AF\EVM>SR%$2[QKE1\!5!YB^ #B!]UJYTL*#*K#X?WQ$Y'J&Z8GA M*KT*N,;Z%K(XA#1.LRMX6:\X:_&R%_#>:%T?G"]4P[NR=HU#60Q*[KO? MEJ*VD+%PE#*?>CQ*X$FKWW)=U>@06#8!QF+XDX098),Q_4:PT8X 5 TEP )XI8T3W]MDD+ PB1DD,5'/X*>+#$'1M+V! M=!*R8=(9Z83!I0\C.FMM$K1O!Y@O1:-3U5I!9=XJ\&4><[TSR4* MM9MY/6^_<,?3S+H%?SXM6(IKM)^+6TTSOV5)>([2<"5!XW;F+7J39=_%5P%? M..[,P1B3WB!0C@BDO&CX?3:E YX.-ZS?ZB\ MDY<-,WBAQ -/;#;SQAXDN&6EL'=J]PD;/P/'%RMAJB?LZMA!Y$%<&JOR!DP* M (0-(*QTUXDJE2MFV7RJU0ZTBR8V-ZBL5F@2QZ6[E+75 MM,L)9^Q4*;4"%\7&V,U?2G?CAU#G:5_/(NKGHDI6(PSC\K#H'Y";_[F M56\8O#OAH=]ZZ)]BGZ^I&I.21*LM[/T$3AJ#?N_./!'/O(_(/&D*-.J_9G(%:EM'6/:%?; M#KNH&\N?\+H]7S.=6%54;6:C+#6M:IC17P*U"Z#] MK5)V/W$)VO_._#=02P,$% @ MD)H5XXI@X*? @ B04 !D !X;"]W M;W)K&UL?53;;MLP#/T5PAN&%C#J6V[-$@--+U@? MVA5)USX,>U!L)A8J2YXD-^V^?I2=>!F0YL4F*?+H4-+A9*/TBRD0+;R50IJI M5UA;C8/ 9 66S)RI"B6MK)0NF257KP-3:61Y4U2*( [#05 R+KUTTL0>=#I1 MM15/&[-G@.EDJ]>*\5+%,(!$8W? M6TROV](5[ML[])NF=^IER0Q>*O',Q<;;[AMI^^P\N4,,T7 M-FUN$GN0U<:J]VHX;E%;,LG6BU >VR M"NF73]$@_'J$;J^CVSN&GBY(>WDM$-0*.NJ'2!Z%.4SRL4#(5%DI2;#&[<"[ MPV%T*JT\^1_,@1E8*4&Z-7"2D\&TH62PA:H-D[DY'0-=E,5RB;J[+;C";!N) MFD@,<[:A-VM1&ULC55MC]HX$/XKH[2J6@EMWH N M>X $[%:'M&W1PO9T.O6#209BK6.GME.Z__[&3DA9B47]DMCCF>=Y9N*9C ]* M/YD"T<*O4D@S"0IKJYLP-%F!)3-7JD)))SNE2V9IJ_>AJ32RW >5(DRB:!B6 MC,M@.O:VE9Z.56T%E[C28.JR9/IYCD(=)D$<' T/?%]89PBGXXKM<8WVL5II MVH4=2LY+E(8K"1IWDV 6W\S[SM\[?.-X,"=K<)ELE7IRFV4^"2(G" 5FUB$P M>OW$!0KA@$C&CQ8SZ"A=X.GZB/[)YTZY;)G!A1+_\-P6D^ Z@!QWK!;V01W^ MQC:?@'Q[A;NE[/Y\GZY6=ZMX?V&;06:#^/0$JT+#K.68MY0)*]0C."SDK8P M<"=SS%_&AR2WTYP<-<^3BX!KK*X@C7J01$EZ 2_M:I!ZO/2U&F29JJ4UL&+/ M+DE@,@-J5B&DX"ZQZ#^ MB<'TW9MX&/UU(85^ET+_$OIT3!/TSF7PT66\SEL"H2=$M3=7.[! M>D9_ZB08OI=\QS,F+35@JZLZT<5:7:+5]4P])IC,J-K,N&PLP5>HNT MB(>]X?7(54T3?J?(??BTEZ1#>@Y&0UC0979WX(7#H#=,!I ,8RKTCYH;[D=. MH42^9=F3HRM]/=)1'^)1#%\I+?T"(>FEUX1 1"EIZ2>]:.!$)4EO]#&"SS8#OLC- .BLW?B<-5/CMWLS>S\SO>?2@, =A497'P-1NK M*C]#MLK21/++@GX!J)T#G>^4LL>-(^A^*M/_ 5!+ P04 " "V0FA7>H+Q M3J4" "Q!0 &0 'AL+W=OG.326#AV9CLM^_<[)VDH4NE+[#O? M]]UWCN_&6Z5?38YHX:T0TDR\W-IRY/LFR;%@YER5*.DD4[I@EDR]]DVID:4U MJ!!^& 07?L&X]*)Q[7O4T5A55G")CQI,511,_YNA4-N)U_-VCB5?Y]8Y_&A< MLC6NT#Z7CYHLOV-)>8'2<"5!8S;QIKW1;.#BZX 7CENSMP=72:S4JS/NTXD7 M.$$H,+&.@=&RP6L4PA&1C+\MI]>E=,#]_8[]MJZ=:HF9P6LE?O'4YA/OTH,4 M,U8)NU3;.VSK&3J^1 E3?V';Q%X,/$@J8U71@DE!P66SLK?V'O8 E\$G@+ % MA+7N)E&M\H99%HVUVH)VT<3F-G6I-9K$<>E^RLIJ.N6$L]'M]'X)+].'YSDL MYM/5\W*^F/]\6L')$XL%FM.Q;RF+B_63EG'6,(:?,%[!0DF;&YC+%-./>)_4 M=1+#G<19>)1PA>4Y](,S"(.P?X2OWY77@,*7KG)$I68(3CUK#H-Z@%WW[TKL(?AP1/.@$#XZQ1ROJ MQ+02""J#=_%G\,!9S 6WG-0OD+DR4J"7OL2DTIK+-90.4<3'BYG/UNQ MR\8L9$[1IKY.UV74J;OLL*KJDU7()N2D?_ 5!+ P04 M " "V0FA7A&4B"1,# #X!@ &0 'AL+W=O2O6@*T0#OYM:Z$E0&=->A:'.*VR8/I,M"CHI MI6J8(55M0MTJ9(5S:NHPB:)1V# N@NG8[2W4="P[4W.!"P6Z:QJF_LRQEMM) M$ >[C27?5,9NA--QRS:X0O.M72C2PCU*P1L4FDL!"LM),(NOYIFU=P;?.6[U M@0R6R5K*!ZM\*29!9!/"&G-C$1@MC_@!Z]H"41J_>LQ@'](Z'LH[](^..W%9 M,XT?9'W/"U--@HL "BQ95YNEW'[&GL_0XN6RUNX+6V\[C +(.VUDTSM3!@T7 M?F6_^WLX<+AXS2'I'1*7MP_DLKQFADW'2FY!66M"LX*CZKPI.2[L3UD91:>< M_,ST9K:\_7+[:06+FR6L/L^6-W!ZQ]8UZG?CT% :Q;F/=C<@R6O@%W"5RE, MI>%&%%@\]P\IL7UVR2Z[>7(4<(7M&:31 )(H28_@I7NVJ<-+7V/+E.!BHV&! M"E854P@_9FMM%!7'SY?X>KCL93C;,%>Z93E. NH(C>H1@^G;-_$H>G\DV6R? M;'8,?;JB!BRZ&D&6\'_B Y@SS7-@HH!K7G?FWPOW!(Z&>)G 7850RIK:E2*" ML<5 [9=+D7,J"]L#?=C"AX6M*WT2V",JZF30-D$-G:8]+L 08"Z;MC/,=2+Q MP1V?EO@XX*[BJ%^*RP@,K"8+,F5UL;MT3JZ'G74%I& M*E=%]I,<2+_FIY][(V0BU$\MW#4]/D#=((;0HDA M _*(_X^VN_Z#>%EV&"CU6CQ\*I^GZ_;5,'TS[W?U8G_EI]F3NWX2O3&VXT%!C2:[1V?DP .7GK%>, M;-UL6TM#D]*)%3U-J*P!G9=2FIUB ^P?N^E?4$L#!!0 ( +9":%?(?[&> MSP0 #P+ 9 >&PO=V]R:W-H965TR,= 2IGT! MZW+NWW=TKC;:/-L,T<%K+I6=M#+GBLM.Q_(,)XV$G9T*UIE=A;VZF5[IT4BB<&[!EGC/S=HU2;R:M;FN[\46L,^ZIF!M:=1HMJ1 MNFS2&K4@Q14KI?NB-Y^PCF?@]7$M;?B%375WF+2 E];IO!8F#W*AJG_V6N=A M3V 4OR.0U ))\+LR%+S\D3DVO3)Z \;?)FW^(X0:I,DYH7Q1%L[0J2 Y-[U^ M6MP]W"X6,+OY]>EN/;"G1GE]U'-GP-SN\UG==Z4O>T3>&>ZU< M9N%6I9@>RG?(M\;!9.O@=7)2X0*+-O3B")(XZ9W0UVL"[@5]O?<"+BWM6 LW M.E\*Q2ILJ!1FUA('9OQK*:P(NW_,EM89PLV?Q_)0F>D?-^.Y=&D+QG'2(K)8 M-"_8FG[[37<8_W BB'X31/^4]NF"N)F6$D&O?!R%1(?ION_VF,>G=3YF&'0Q M]0:\T>EH=Z4E<5>H-7%HEYVT-'[+7U"D"O*J[NCK#E0UA_D235,Z.$M)#3,6 MA"(A75I*NCV_/,@X01CA@>48*O*+YE5YYJ7A&5$/YD9P/)!X?"L.-^ANH>GJ M/7N#;FUZ;K3#0']8:%F&!$5PIW@;/I%3@EBF(I*PEO&L)!@X.GY2PB=@X<@G M"Q]@$ WB!!89,[ASZ)Z99T+-[2NES?>I$[4=-+4=_.?:S@U*0:RG=OFO)%!- MZO3LA7^L[*?-/1X4V'G>0T"L#KD_ZW2[%SW7IW37(4;R$$))X2 I?* I- MN4N&%SZ7!1-I0):FP PPSW@+W1@^BE4( MUFTF"@M)-(YC^$GK=".D)+2-+@8[9PKV%CSQ]ACGIB0+4K"ED%0I0M19K]<] MWXOM\ZI*)O>!<;(A4C3!6@0?XG:?NC]!E2+?, L9RI1>(_X2@=6 MO&Z9R%8.32CA 6T)SA'0FYYNV5N3W1\2Y#@:1V^Y]R#TOI))T$LIUE7@[1,( M'S8('_X/A&L(SRM5JQHQWD'Q297'V^TAM,LM_D)RM10^$RFA6D,P[/- #P)M MK8APB@L*7.Q\.B1%W2B_\YBS- !8'PM-2E7!",Q"<5DV*4;K1![,X2NEWJ*M MH>3/=56C7!LG_F+;.@CEF%H+_PPW%$PCPBB(&BC[5N?F2I] MT]AV0 ]"^DC>[<(/OH7O/]U'6WBYXW"E;6_C"Q+;2B1$)^-N-![U_%=_%(W& M8WB@'DD9(0YYRL;1:.A/>[VH>S&&8XCJ[$TT1+QUF-N(&YY:U7#3[#:CX:R: MB';7J[F26O1:* L25R0:MR^H'YIJ5JL63A=A/EIJ1RP/GQF-MVC\!3I?:>I6 M]<(;: ;FZ=]02P,$% @ MD)H5UE+E#E @ O00 !D !X;"]W;W)K M&UL?53;CMHP$/T5*Y6J5FI)""QM:8@4LK=(71;! M;OM0]<$D0V*M8Z>V ]N_KR\AI1+P$GO&<\Z<<68<[;EXD16 0J\U97+F54HU M4]^7>04UE@/> -,G6RYJK+0I2E\V G!A037UPR"8^#4FS(LCZUN*..*MHH3! M4B#9UC46?^9 ^7[F#;V#8T7*2AF''T<-+F$-ZKE9"FWY/4M!:F"2<(8$;&=> M,IS.QR;>!GPGL)='>V0JV7#^8HRLF'F!$004GU* M SS>']AO;>VZE@V6D'+Z@Q2JFGF?/53 %K=4K?C^'KIZK@Q?SJFT7[1WL9/0 M0WDK%:\[L%90$^96_-K=PQ$@/ <(.T!H=;M$5N4U5CB.!-\C8:(UF]G84BU: MBR/,_)2U$OJ4:)R*U]G=(KO-TF3QA)(T?7Q>/&6+.[1\_):EV*L!*]NP:%"97O(U]I"8;(S[MT MZP\/^N?A1<(U- ,T"CZ@, A'2#JM%WA'_;V,+._H#&^2Y[QEMMPEIR0G(-'/ M9".5T'WTZU3ACF]\FL_,UE0V.(>9IX='@MB!%[]],YP$7R^H'?=JQY?8XT5; M;T @OD5Z6@6VLKN[D*>T.K8KRV;&=AF\_ MFXEKR7_A;K ?L"@)DXC"5D.#P2>=5[AA<8;BC6W0#5>ZW>VVTN\+"!.@S[>< MJX-A$O0O5OP74$L#!!0 ( +9":%=9 BV?60( $D% 9 >&PO=V]R M:W-H965T>[&VR5?C)K $N>2R'- M,%A;6UV%H6%K**GIJ0HDGBR5+JE%4Z]"4VF@A0>5(HRCZ#(L*9=!.O![4YT. M5&T%ES#5Q-1E2?6?:Q!J.PSZP6YCQE=KZS;"=%#1%!#(1P1!C& M[Y8SZ*YTP/WUCOW&:T._ M9-OZ1@%AM;&J;,$80RN87/C4>C&B[=*\ZMQE...)O.\]M)?I-GH\D#&679_>/D(9_S)B3-72&C(#!GQ#%P+(Z1@LY<*&2W'$A\'7, M(+08G+LB9&T@UTT@\6N!0-4C2?2.Q%&<'(!GQ^%C8 CO>WC\$AYB2KJ\Q%U> M8L^7O,+7JN9R1:9*<,;!D)^CA;$:"^_7(7D-W_EA/M>,5Z:B#(8!=IL!O8$@ M??NF?QE]/B3V/Y&]D)YTTI-C[.E(8&M3R8#@D""%JA=V60MLN+8.N&2B+J!P M[]UMZJXX#N6FN?"3O]#-E4T:]?"5-ON2C_LT2L*]0G=#YH[J%9>&"%@B*NI] MN B(;AJW,:RJ?.TOE,5.\LLUSCK0S@'/ETK9G>':J9N>Z5]02P,$% @ MMD)H5\^^HGTR P H0D !D !X;"]W;W)K&UL MK59=3]LP%/TK5H8FD("D29M2UD;J![!* RH*XP'MP4UN6PO'SFRWA7\_VPFA MT+0#B9?6=NXY/O?#UVZON'B49*Y6=NJZ,YY!B>DT3-.\Z)@Q*8X@55-WSU$PI_&H8OYE3:7[0J;#T'Q0NI>%J M8*4L/P? M/Q5Q6 -HGFJ 7P#\]X!P"R H (%U-%=FW1I@A:.VX"LDC+5F,P,;&XO6WA!F MLCA60G\E&J>B\?#B:G@^['>O;E&WW[^^N[H=7EV@T?6O87]X-D9':"3XDIBD M2819@NZQ$)@I A+M#T!A0N6!MKH;#]#^W@':0X2AVSE?2&TLVZ[2&LU.;ESH MZ>5Z_"UZ6NB2,S67Z(PED%3@^[OQ-7\'@:N#4T;(?XE0S]_).(;L& 7>(?(] M/Z@2M!L^@%C#:Q;N[Y 3E D++%^PA:\;QWRAX\]F:,0IB4TB'KH3J80^$7^J M I[SU:OY3)/H-B!!+,&)OG^KA=Z/*F>_B.R-Z_72]?HN]J@HO6=$ M"9X02M1SE;LY1V@Y3 ];1D&SWG:7ZUYLVOC!J\T;<8U27&-G7B[Y$G1W4Z;^ MQTH7/Q:).3O)(E:H5*ZS)Q:8HH<;3BG2C6BES2JSUOC*K'T1V9O A&5@PD]F M[1!-8$88,S4\P12S&*HBD-,VMB0I=VS3IMFHSF.SE-O\B%QSK+#4=QLD)J,9 M",*KVE&ON:&@7@_?J=RT"?TMY792RCS9*7.$GTVU57;8DXWMC@+OO:8*HWJX M)7:M4E3KTZD&EOPGSZT/'-A-F\T#ZZ[=@BF(F7T<2&3;97XAEJOE^Z-KKUWW MU3Q_O%QBH0M4(@I3#?6.FSI.(G\0Y!/%,WNG3KC2-[0=SO4;"H0QT-^GG*N7 MB=F@?)5%_P!02P,$% @ MD)H5S;/8N5O P +PH !D !X;"]W;W)K M&ULK59=CYLX%/TK%EM5K;0=")"0F2:1FB&KW=6V M&F4Z[<-J'QRX!*O&9FTGZ>ROWVL@- &2[DI] 6S..;[G^N-Z=I#JB\X!#/E: M<*'G3FY,>>>Z.LFAH/I&EB#P3R9500TVU=;5I0*:5J2"N[[G3=R",N$L9E7? M@UK,Y,YP)N!!$;TK"JJ>E\#E8>Z,G&/'FFUS8SO@NGEI\!?C$X*!/OHEULI'RBVW\ELX=SP8$'!)C%2B^]G / MG%LA#./O1M-IA[3$T^^C^B^5=_2RH1KN)?_,4I//G:E#4LCHCINU//P*C9^Q MU4LDU]63'!JLYY!DIXTL&C)&4#!1O^G7)@\G!-09)O@-P>\2P@N$H"$$_Y40 M-H2PRDQMI6:Q7GU8?GE;D M#?FHJ-"TF@U-/C.3,T'NI3 *^\@?C&X89X:!)J]B,)1Q_1I)3X\Q>?7B-7E! M$/TQESM-1:IGKL'0[ !NTH2QK,/P+X01D/2"_8,K1 &G M!M]&DI(^VP4T:*O6'9\$\R:XC8*.KP&4'T6CCK$AE#<9=C9IG4VN.GMH8K?6 M *M$2K#G;'NR5+;G_1" M'H^C<<=]'Q3.)W9ZDE!:@MM651&.T.V'JZM/VMK>>=U6Q[_0O\3947UZ^R=17*2P.>/!H MPB%#2>\FPN2J^GI2-XPLJX*]D0;+?_69XXT.E 7@_TQ*&PO=V]R:W-H965T;UN=MB,><[ MD28YNRV,%/#([2IQD M+"\3GAL%6UW-WJ-+2NJ$.N)+PO;EP6>CZLH#Y]^J@P_QU=N8A*MD-3[\FL=AEVP=517D*^,._;(\ATSWH9,1$E: MOI-1G^]#X^V;=\8;(\F-3QN^*Z,\+N>FD-=2$4YSC",*L)LQT&X"QMTU>FZZFB[>EOP M>+<43[-/U5DMX-0)!PD+(6$4"#:H@MM5P3V3&KB0Q8&$A9 P"@0;%,?KBN.] M3@V:=.?P-D<(C^[?FVF4AUWDCL1@&H5Q0$@P$H-I& H\SR%J,?"[GOIZ,9#+ M7F%L"R[:1>8J23-5C[684V<=)"R$A%$@V* 605>+X$R2$$ 6!Q(60L(H$&Q0 M'&3UBWKK=:+0YA_>HH[\]1\O$51A-B;62!848JD Z6%H#0*11O6 ?=UP&>2A18,52)(6@A*HU"T88EZ M9X>TWN0%TD"F-ZGON7@L#8HPAP1H+ W3,,>V)O9!$69C#Z$CPM!;):3W2G^* M#2N4O=3FG3S?(&DA*(U"T885Z!T<(:U!>8$D MN).[DQ#?'2O"- H'@3,6A&E4]73"'PO"-,QW#M8GPZ[V9@GIW=*]'+QDR70/ M%/2$DZ<=)"T$I5$HVK 6O9U#_KF4 =3A@=)"4!J%H@U+U+L\I/4I+U"&8'K/ M(\>9+!:F8U%N5Y56CS1\\#QJ*@ MBB+.V$ HHFS7&4N"(HKXEGU$$7JSA/5FZ68G'J+\F[$L6)P(Y6M./>'D60?Z MR@N41J%HPUKT5@[;YQ(&4*\'2@M!:12*-BQ1[_6P_G7=\\+@3&]F!]MC85!$ MD;%\A(HH1/#!2X9V2!1AR#ZZ6.A-$]:;I@]Y*3N;-I,QC1ZX\C&#'G+RU -] M!09*HU"T83EZ8X>]77P%:\'_.FZ01&& M+-<;Z\,TS$:>C\;Z, TCB'A'GCSBWCKA9ZQ3$25YDJ^-*(\-?NPQI!YR\N0# M?1\&2J-0M.%^IM[;$>M,^D! G1\H+02E42C:L$2]\R/ZEWC/ZD.;?[C):+IX M4 01;[QV4 0A#X]-A2KJ<.=$TT_S8/-EQHIUO>NU-)9\EXMFQUUWMMM9^[[> M3SHZ?XTN;Y#B?(@N:;-OML?BZ:!JH-N?O/@/4$L#!!0 ( +9":%>^14B' MZP4 )0L 9 >&PO=V]R:W-H965TEL9]H%B2^3.IY)++7=Z6Z;23;;BTXO6"/;S )R04YV_WT%)F! 5N+N M\4UB\#D/'!WQFAQ3%YW+#N41?LC0O+R<;*;<7EE4N-SR+RC=BRW/US4H4 M62359K&VRFW!H[A.RE*+V+9O95&23^:S>M]-,9^)G4R3G-\4J-QE651\O>:I M>+RR0D3JWP-?\#2M2.H\_FV@D_:8 M5>+AYR?Z+W7QJIA/47F27":!.>E1W";!/>E M1_":A+IT:U][/7 TDM%\5HA'5%31BE9]J$>_SE;CE>351+F3A?HV47ER?LL^ MLC_N&?H)W?('GN\X8J5,5 ,XNOZ*?N5B743;3;)$5VH:HM>4RRA)RQ]4_/T= M1:]?_8!>H21''S9B5T9Y7,XLJ3,EJO"[Z.ZNM:K-IY\O<[%8K>2IZ5_^BZON>Z>FZE?Q?E-EKR MRXD2N)(7#WPR__X[[-L_ZX8<$D8A80P(UFN.VS;'-='G'X2,4B77=4-T/=BG M^W5Z]9/Q,,2!ZC.ZF422LRQO13IQLDC$+"&!"LUP._[8%_)BWP(9L#":.0, 8$ MZS4G:)L3?)L6[-.]@^O2"VV;#*1 $X4],HBBXRCLAX0,%(-IPEQ" D\O!=.V MTJFQTD641W&D*]&8=^HT@X112!@#@O4&/VP'/SR3!H20S8&$44@8 X+UFH/M M[F[>_C85:/)[UR1V SR0 6V8[?H#'="$.3C$[D '-&$D# )'KP/XP+M@LQ)L MDEPK!.:\4R<;*(V"TA@4K=\!TG6 G$D.&C!4BR!I%)3&H&C]%G4&#ALMR LD MP1E?ZS9QAW<&NC!LV^%0$L9AQ U#,I0$35@0!$=< NX<$39;HH7(I=J55S6S M72&V^I*-D),G'R2-@M(8%*W?CLZU8>]<^@!JZ$!I%)3&H&C]%G6F#AMMR0OT MP1]=JM/ ]H;R,([R;=\;JL,XBOB.-[IA&(?AJ7]PE]*OM?-(V&R2WB=QG'+$ MHE):5ZLB6>KO'HR0DZ<>)(V"TA@4K=^.SLCAZ;G4 =3J@=(H*(U!T?HMZNP> M-AJ6%ZA#.+8 X?"N8*&+% MHR ,FK# LX\)0^>@B-E!795)A&ZB9;)* MEMI*05]U@=(H*(U!T?J-Z,P=<<\E"Z"&#Y1&06D,BM9O46?XB/D]W?.RX(UE M@3C.4!;&4<1S[:$LC*-"/'K4H(GR/3<\H@J=;R)FW_1.3<(<767\F(TPYY\\ MYT!?>X'2&!2MWXG.U9'@7+( ZO1 :124QJ!H_19U3H^8W]D]+PO3\07OD.%# M!DT4=OWA0@5-E._C8"@+XRC7=HZ\DR"=82)FP_2GW/!"6R'H"S!0&@6E,2A: M?\%2Y^,<^TQRX(#Z.U :!:4Q*%J_19V_<\PO[IZ5@R:_O]AH^))2$^38@X<% M5!,4D.$3!4W0X3.,?976P2I+]:N_KI>WEF@I=KG<+ZAK][9+:*_JA:.#_=?X M8H$U^RF^8/L%LAU^OU[W?52LD[Q$*5^I0]EO J5:Q7X)['Y#BFV]QO.3D%)D M]<<-CV)>5 'J^Y40\FFC.D"[$'G^'U!+ P04 " "V0FA7(5V@A]<" "A M"0 &0 'AL+W=O6 U\!P9<%%115.16;+6@!-#:@J M;<]QSNR*%LP* R.[%6' 5ZHL&-P*(E=51<7O*91\,[%<:RN8%UFNM, .@YIF M< ?JOKX5.+,[EK2H@,F",R)@,;&^N.-XI/6-PD,!&[DS)CJ21\Z7>G*93BQ' M.P0E)$HS4/RL809EJ8G0C5\MI]69U,#=\9;]JXD=8WFD$F:\_%ZD*I]8YQ9) M84%7I9KSS3=HXS$.)KR4YI]L6EW'(LE**EZU8/2@*ECSI4_M/NP D* #@MP#_M1:&+6#X6@NC%F!"MYO8S<9%5-$P$'Q#A-9&-CTPNV_0N%\% MT^?D3@E<+1"GPGG\$-_4<([J ?$=SX0S_'\'G]FKX=[ M?>'\G_7XGZWO;8;?)=LW?,,#?%=49" 5F9ES!4*2/]V8S#A+@"E]!O "SPNY MQ-4YK(&M@"P$K[0&+B<*CZC*GX%38$F.16;9=UR..J2+X%C6-(&)A55.@EB# M%;Y]XYXYG_MR=4JRZ)1D\8G(]K(Z[+(Z-.S^@:Q&A:19)B!K,L<77=9^7*$J MN510R9]]R1F>,CFG)(M.21:?B&PO.:,N.:.C5V[_5@E]JVH06H2O<%].&CK7 M,7SZE5^'SL -[/7N7K=*[KZ2+C&[:E&OFG,^NMC[[8/B?F[WF;O9!WOGS<$J MD)G'7I*$KYAJ*E(G[?J)+^89?2&?NN.9VR./L/]HVH5G^J9YN<8R5C!)2EB@ M*6?P"5T634/03!2OS8OWR!66*#/,L8<"H15P?<&YVDZT@:XK"_\"4$L#!!0 M ( +9":%<.3[[#=00 "P9 9 >&PO=V]R:W-H965TWSNY9%T=#W:4O:=KPD1X#5+<$(7E9)6>HBSXO<#">Y,QE5Q^9L,J*E2).EV[$#G[V@2KEF=+O:N=F.78\Q8BD9"$4!)9?&S(E::J0)(\? M-:C3_*9*W-]^0_]<%2^+><:<3&GZ5[(4Z[$S<,"2K'"9BGNZ_4+J@D*%MZ I MKS[!MH[U'+ HN:!9G2P99$F^^\:O=2/V$F!P(@'5">C_)OAU@E\5NF-6E76- M!9Z,&-T"IJ(EFMJH>E-ERVJ27"WC@V#R;"+SQ&1^_\=\=O_X-_AX=PUF?S[= MS+_.[AXOP-WL$?P&'J1JEF5* %V!.9/:8>+G!9BG.!< YTLP^U$FA5Q4 =Y? M$X&3E'^064\/U^#]NP_@'4AR\+BF)9>Q?.0*R5?]JKNHN7W:<4,GN#V0XA+X MW@5 'O(UZ5-S^C59R'18I:-NNBN[U+0*-:U"%9Y_JE7&!OQS*\/!C2 9_U=7 MZ@X[T&.KB_6*%WA!QHZ\&CEA&^),?OT%1M[ONL(M@77:X#=M\$WHDT^K'--E@"Z[1AT+1A8/72'QS)SX>#X8%&CX-0%,5ZB0X;HD,C MT2G-BE(09J9GQ.B[+I; .N5"KWV*>V<4: UNJ1.VT+JMV#,TT*I(:[A] 0;^ M$!VH5!/E!V&HEREL+04T/JHGW\@Z6:3ZNZJG,,SP-8T0/^< C5:DMZM ML(36;45K2J#9E?06J,9N[#W#ZYJ.@P;^X(0\6T\"S:9D9N1ES.V]*);0NI6V MG@9&Y]2G5:=C"ZW;BM;K0*.'Z*_/^$AZ(8H/'_.:J"!&IQ3:.A)HMB2W1+[# MKVFZ!$DF*6^(8JF_G1J!>J^1);1NV:V_@<-SRM6J\[&%UGTI;ZT/,OJ)WG*M MX3HO11Z*HP.]:L)B;W#B)0^U[@29W>AT4GE.P5LV0+;1N*UHSA,P3GMZ"C8ZF=WX(#_5Z M' 3CX/ -RMT;9:O_$;YB]I+D'*1D)=.\RUAVANU&\[L=08MJNOTL[ZLTJS;7 M!"\)4P'R_(I2\;:C!N;-'R23_P!02P,$% @ MD)H5U!\-BBR @ W < M !D !X;"]W;W)K&ULK551;]HP$/XK5E9-K<0: M2%+6,H@$)-/Z4)8!W31->S#)0:PF=FH;:/_];"=DM VHVOI"[/-]W_GNS'W] M+>-W(@60Z"'/J!A8J91%S[9%G$*.Q3DK@*J3)>,YEFK+5[8H..#$@/+,=MKM MKIUC0BV_;VP1]_ML+3-"(>)(K/,<\\<19&P[L#K6SC EJU1J@^WW"[R"&9 MG++M%ZCRN=!\, < ;@5P7QO!JP#>:R-<5 "3NEWF;@H78(G]/F=;Q+6W8M,+4WV#5O4B5+^3 MF>3JE"B<]*/IURBHQ"N_7I%!30J)?PX607/W-?S?UO63VFIGU MZ.N) L,W0] D<8$ MFW$+#THW!#2UHF3I&A8M&AN_HS2D;V_V2_S2Z>JY3_#2QW6N,J!KXQ."!2S-97E^ZRMM10-S01^9A]U>N-.@SU0TE4JS5_Z4O=N M,%\1*E &2Q6J?:Z5@I=:4FXD*\RP7#"I1J]9IDI^@6L'=;YD3.XV.D MZ/X? M4$L#!!0 ( +9":%?X2_B]'P0 -D5 9 >&PO=V]R:W-H965T)A_]L3'0[:1 M<93"$T=BDR24_W,#,=N.+&R]?O E6JVE_L >#S.Z@AG(K]D35V=VR;*($DA% MQ%+$83FR)OCZEK@:D%?\'L%6U(Z1;N69L6_Z9+H868Y6!#&$4E-0]>\%;B&. M-9/2\7=!:I6_J8'UXU?VSWGSJIEG*N"6Q7]$"[D>67T++6!)-['\PK:_0-%0 M3_.%+!;Y7[0M:AT+A1LA65* E8(D2G?_Z?=B$#4 ]HX 2 $@_Q?@%H!\1PLGQ]'$^>?QY>O-PCR:S MV?U\=H$>[^?H$LV481:;&!!;HFDJ:;J*GM791 B0 GV\ TFC6'Q2E5]G=^CC MAT_H XI2-%^SC:#I0@QMJ>3I'['#0LK-3@HY(F4&V15RG0M$'.(:X+?M\#L( M%1SG<-*$VVHHY61(.1F2\[E'^#Y':23A\D&Y;&&8P)\/JAY-)23B+U.O.W+/ M3*YOSFN1T1!&EKK[!/ 7L,8__H!]YR=3YQV1->;@EG-PV]C'X@\(.RJB',*X5YK<(>0(AK- G#3;*)J517 MB2:,R^A?JA\0)K$[OEY-!O:PX^V)-50Y7N":Q?9*L;U6L34#T=Q %R@%XT1[ M!S]/!IZ/]T2:JE2=6:1?BO3;+S6G"[5*J!7$)*P5>ZJC.R)KM!F4;0;GO+.# M+N?0$5EC#OUR#OUWW-G] X?UB;OGPL,:O^^;/3@H10U:1$PU57I\0LQ=Q ME0%PZ]*Z>R*BE"9@#C2=KO)=L35[K=9Y[)[5DJTQXN19=,36G$45+7![MGC# MDH:(X#N#?4N:XD8/'[%D%21P>Y*XS5\*@*N7J#A/.F(=969WMA*=?$4Z8FNV M7443[)_5G9VFEZ[8FK.H\@MNC05ON3,X\)VK'IC[,==4AOO!,7]6H0*WIXI' MEEZ&+,E &M?P=O3)%Z(CMF:O55;!@[.:LM- TQ5;\VVY2C2D-26\8Y!F[4U(H[^1V]([9FE[7=BO-N5W2[7W&.)$.J M)$/>LV5!#'L6@_Z^%4U%^QL6=FW?36]Z_DKY*DH%BF&I4,Y5H)S,=_N(NQ/) MLGPK[IE)M8;GAVM0"9/K O7]DC'Y>J)W]\K=W/%_4$L#!!0 ( +9":%>X MAZSFN@( /$' 9 >&PO=V]R:W-H965T9 RCT6% F!TZN5-ES79GF4&!YQDM@^LN"BP(KO15+ M5Y8"<&9!!75]S^NZ!2;,B?K6=BNB/E\I2AC<"B1718'%SQ%0OADX'6=KN"/+ M7!F#&_5+O(0IJ/OR5NB=V[!DI F"6=(P&+@##N])#3^UN$+@8W<62,3R9SS M![,99P/',P<""JDR#%B_UG %E!HB?8P?-:?32!K@[GK+_M'&KF.98PE7G'XE MF%&#]0D*PJHW?JSS ML /0/.T OP;X^X#P&4!0 X*7*H0U('RIPGD-L*&[5>PV<3%6..H+OD'">&LV ML[#9MVB=+\+,/9DJH;\2C5/1>#(;3J['H\\)&DZGR6QZBB;)#+U#$RP$-D5$ MQS$H3*@\T=;[:8R.CT[0$2(,S7*^DIAELN\J?11#Z*:U[*B2]9^1#= -9RJ7 M*&$99"WX^##^_0&\JU/0Y,'?YF'D'R2<0GF& N\4^9X?M)SGZN5PORV<_U-/ M_EG]23*"YE($EB]XAN^:\VQ#*$6ZN&C,%&9+,J> AE*"DB@F,J5#H%B=!K,&)WK[I=+T/;05X3;+X-WUWOYKO% MJ;/O%/_M%'2[>TY)BY,?7C9.5=SN3@\K0"SM\) HY2NFJIO;6)OY-+1M><\^ MZO2N.BWV6,^S:OS\H:^&X0T62\(DHK#04M[9A6ZQHAHPU4;QTG;0.5>Z']ME MKFJJ>QZ^ ( .L( 9 M >&PO=V]R:W-H965T/#M ]N:UPYML>=H].^M7<&GQDL]<:86"43*>_MY#P;>H$-"#BD MQC)0?"W@%#BW1!C&]Q6G5[NTP,WQFOV#TXY:)E3#J>1W+#/YT.M[)(,IG7-S M(Y2>?:R&(%Q@@*)JHW?5CE80. /,V < 4(MP'Q M"X#N"M!U0JO(G*P1-309*+DDREHCFQVXW#@TJF'"[N+8*/S*$&>2LZNKT=WY MQ079)V,\(=F< Y%3Y%!UH _;<=WPA8"'Q-09R%<9^$D;&4< M0WE NL$;$@9AMRF@=O@(4H1W'#QL":=;;TK7\75?VI1U]K_<2'SB>5U2E7UM MRG1%=-A,9*^ (UW2%(8>UK@&M0 O>?VJ$P?OFE3^([(GF@]KS8=M[(^:)S!C M0C QP_+D5*30)+OBBAV7O:@621CW8MRZQ::>!JLHCJ+:ZDF@41UHU!KH<98Q M>P-I@J>?E'.5YGB-D%*Q% CE7*:TNJ"R;UB^>.&9QA*IG$0;L77ZO6A+0&LD M?[DA<:TS_A\Z6YW\Z0&-&Y(6QLW[V:MU]EIU8G7A72_(^P<4*&:-QZWWS.]^ M-][:JP:;7J??'%N_CJW_>T4!(OM%1?2?G_5^'(1;0398/:F;*DI_HY\4H&:N MS6J2RKDP56NI5^M.?NP:F/]H7OT&7%*%Y:P)ARE"@X,>)DA5K;6:&%FZ[C21 M!GN=&^;X-P+*&N#WJ91F/;$.ZO^;Y"=02P,$% @ MD)H5^,]*X<_ @ MN00 !D !X;"]W;W)K&UL?53;CM,P$/T5*T@( M)&C2] *4-%*[A:727JI=P3X@'IQDVECKV%F/TRQ_CR]I*&C;E\1CSSES9CSC MI)7J$4L 39XK+G >E%K7LS#$O(2*XD#6(,S)5JJ*:F.J78BU EHX4,7#.(JF M8469"-+$[6U4FLA&K8G-))/RT1KK8AY$5A!PR+5E MH.:WAPO@W!(9&4\=9]"'M,#C]8']J\O=Y))1A O)'UBARWGP,2 %;&G#]9UL MOT&7S\3RY9*C^Y+6^TY& N#D> >'H"$'> V.GV@9S* M%=4T391LB;+>ALTN7*H.;<0Q82_E7BMSR@Q.IY>WMZN']=45>4]NJ%+4UHB\ M68&FC./;)-0FAO4,\XYOZ?GB$WR?R+44ND3R1110_(L/C;9>8'P0N(S/$MY# M/2"CZ!V)HWAD+O&I86#F!D'M(4A?OQI.H\]G MM@4:##R:N\H/B#2UKUYR9 MU*;5W;(T;PLHZV#.MU+J@V$#]*]5^@=02P,$% @ MD)H5\8;2_R/ @ MQ@8 !D !X;"]W;W)K&ULK55=;YLP%/TK%JNF M5MK*-\DZ@M0FK=J'=572CX=I#P[U=>YEC"6-.7TBF\I$UM% &"[RB M:LJK6VC]A(8OY5363U0UN<' 0NE**EZT8*V@(*QYX[?V.VP!W. P&L!WK\" M_!;@UT8;9;6M"58XB06OD##9FLT,ZF]3H[4;PLPISI30JT3C5')W_WQ]__AS M>G<]0Z<34)A0>8:^HJ?9!)V>G*$31!AZS/E*8I;)V%9Z3X.TTY;_JN'W#O#/ MH#Q'OO,%>8[G]\#'Q^$32#7'>1[BMG79VOEGWZTK^ E!+ P04 " "V0FA7FG]GD,P& !\00 &0 'AL M+W=ON"A'- MZZ T\:CO#[TTBK/>^+S>=UV,S_.U3.),7!>D7*=I5'R?B"1_N.@%O:<=-_%B M*:L=WOA\%2W$K9!?5]>%VO*VE'F74R=U$IIGGR=SR7RXO>J$?FXCY:)_(F?_@LVA,:5+Q9GI3U;_+0''LZZ)'9 MNI1YV@:K'J1QUOR-'ELA=@+"X$ ;0/H:P/"-B#<"PCZ!P+Z;4!_+X#2 P&# M-J ^=:\Y]UHX%LEH?%[D#Z2HCE:TZD6M?AVM](JSZD*YE85Z-U9QK0A%J! MMV)U0D+_ Z$^#_?R>S/*-R*),=G1PZL*;7K[(8W;>Y:HX(?ZPX76$ MYO:IOD]V1:B'DLR:=H%B>Q_$[^J=_X M(D5:_MN5W8;:[Z965>ICN8IFXJ*GRE IBHWHC7_Y*1CZOW9E @EC2!@'P8S4 M]+>IZ=OHX]_7Z9THJN0\774E^6&[ B<-;U#SJDJ_&=-S;[.K](M',&N?7.4# MP0SY!EOY!E;Y;L0F3S9QMGAV;?\@YE7?):65[7I](V$,">,@F)&@X39!PZ.4 MGB$R-4@80\(X"&:DYG2;FE/KV+F*'N-TG9*[O%"1U1B:1:HQE9VNA#2LX4Y1 M">C KW_VRH^U55>UD3 .@AEJC[9JCZQJ7Z;Y.I-$3<=+&65S)7>7RJ-GI7M? M76LKKNHB87ST[ JAP[T+Q%#N;*O)Q)H5J0=8S$D/Z.#LD MO1WNJCV4QEK:[@ +]Z1'-6AJOV.Y M",1NWX?#N9DDF4?2/3*(OF46%&:4B[)KO MM ?N_N/K#SH.9/;N.8MY#-L::-\:V(WKZ^8S+61HF=#8VW&^8*'6UMI]4SCM M6 .4954[)E$IR$TD1:>X4/\*I3$HC:-H9LJTAPV.8V(#J(N%TAB4QE$T,T': MR09V*_N4H%F3H/LV03OSU^+0&&K 0; [Q$_\46MMVY]@OV:])8K93\)9\F.X MV4#;V<#N9YW*V.T?GVXZU4<:T"F4QJ TCJ*9V=(6.C@[3@6#^F@HC4%I'$4S M/]?2EIO:+??;*Y@=[)HB*(U!:;RE[5?=8=@]):/:W2J=VE.U6VJ\-KNO9FG(<(U/)# M:1Q%,Q.F5P?HX#@U#+H6 *4Q*(VC:&:"]%H M5K9\31/TUBF(E.3-"'(2A0S M]3I:=)>PX8$2ME_!H-8>2N,HFJFWMO;4;NW?4L%>6CBS-^D\6* ?>$-I'$4S MDZ<7">CH.-4,NBX I3$HC:-H9H+TN@"U?[;N."-K/[OV+_S0[O'?6,H.+9[96W.^/1-J_*$TCJ*9>=/+ V%PE"H60HT_E,:@-(ZB MF0G2QC^T^E;'*M;"S"IV\FR-W]ZFL]Y0'X^BF7KOW$YN]_%NA>SP35KV9IP' M"/8.<^PMYL=8!@CU,D#8/TX%@]I^*(U!:1Q%,Q.D;7]HORG R56VK)<7QNR- M.@L.M?$HFBFXMO&AW<:_I82]9"OM33J/%NB: )3&430S>7I-(#P]3CF#^GXH MC4%I'$4S$Z1]?VB_.6LX/6$OJQ M/Y3&H#2.HID/_^DE@;Y_E$K6AWI_*(U!:1Q%,Q.DO7_??FN 6R5K8?N5+-BO M9/9&G06'>GD4K1'_KPYGL) MKJ)B$6&ULK5=M;Z,X$/XK%K=:[4IW!(:DFO)[4Q0,(-I@>[Q&LN[8L75S&Q9 M$I+A7!"6 XZW,R.T+Z.QWE]M^)O@G=@; QW)AK$'/5DF,\/2#F&*8ZD9D/I[ MQ'-,J292;OQH.(W6I ;NCY_9/U6QJU@V2. YH_^01*8S8VR !&]12>4-VWW& M33R>YHL9%=4OV#5[+0/$I9 L:\#*@XSD]3_ZV>BP![#=(P#8 .!; 4X#<-X* M)-=ULI9TL>"!;@>[@1DJMC^5^?XK41 MM]^(OJHN18%B/#/4720P?\1&\/XWV[?^[-/_G&2+'V]/P:.Y=J3J?FXK^Z@E5/5/2=9U/7?]OWQ+_]?R.:V MLKF#LJFZYHQ20'_5][V)WZ^D/VNW!/W(.)!DZ<6RSG)HJ[W]N2(@J-6P=&@ M@M]DBOEKA3+J9LX9'Q;*H)U393LG6=3C/G2?T6>Z]?U+Q^ M7Y%SW#U2T/(.K_M!^Z?J>4ZRJ.L_A).1=2"HN=>:Z@\/U3_=DUP BK<*9UV, M5$)XWZ :X_:(*_@=02P,$% M @ MD)H5Y2"0;]U @ +P8 !D !X;"]W;W)K&ULK551;]HP$/XKIZR:6HDU(8&N[4(D"E1#@JV#TCU,>S#A(%8=.[,=Z*3] M^-E.FE&-5GWH"_'9]WWG[R-WB7="WJL,4<-#SKCJ>9G6Q:7OJS3#G*A342 W M)VLA^*B22E0/ES ^#X,S/">5>$KN]&YG$HM2,9MAM^$A=D@W/4B^)&FLAO6%8T1ZZHX"!QW?/Z[@\T- M-M)#Q]=Y3CJA$NX(*[$%8UZ46K5@@EMD$,$?V#^=85I*2?GF MD.87B]@FO%0%2;'GF2Y3*+?H)>_?M<^"3X<<>".R)WY$C1^18X]>XTU&%*5,J%*4QI^3 P:QAIS]?.0*]%;NO)&9$].SPW";MX+P;^]M]*?\G773_Y50W]/?:V8[2 M*9$;RA4P7!M4:%6V9FHJ.T">9\+81^#.S0:+X1 MR5]02P,$% @ MD)H5_X-#8;# P UP\ !D !X;"]W;W)K&ULK5=;<]LH&/TKC#;326:ZT=6WU/9,;*F7AV8R]F;[3"1L M,Y' "\AN__T"DE5)QJJ[JQ=;H',.?(=/P#<]4O;&=P@)\#U+"9]9.R'V#[;- MXQW*(+^G>T3DFPUE&12RR;8VWS,$$TW*4MMSG*&=04RL^53W/;/YE.8BQ00] M,\#S+(/LQP*E]#BS7.O4L<+;G5 =]GRZAUNT1N)E_\QDRZY4$IPAPC$E@*'- MS'IT'R)7$S3B;XR.O/8,5"BOE+ZIQI=D9CEJ1BA%L5 24/X=T!*EJ5*2\_BG M%+6J,16Q_GQ2_ZB#E\&\0HZ6-/V&$[&;66,+)&@#\U2LZ/$S*@,:*+V8IES_ M@F.)=2P0YUS0K"3+&628%/_P>VE$C2!US 2O)'AM0G"!X)<$_]H1@I(07#O" MH"3HT.TB=FU<" 6<3QD] J;04DT]:/5T]?GCZM MP7.T NO/CZL(W(9(0)SR._ G>%F'X/;F#MP &_ =9(@#3, +P8*_KW7\M:,Y MAR21G3>-]M06)V":[2_![[S'GB.YQOFL[R>[IG"^7^C1_]Y](89?I4NOM;S+^@]Y1EB M4%!F6MB"&IBI:L=[X'L8HYDEMS2.V %9\W=_N$/G@\G5/L7"/L6BGL0:_@>5 M_T&7^OQ)'AV8Q#1#I@4HN$/-52?$8>[ZP\%P:A_JSII0OCMNHL)S5.",?:>) MBLY1ON]X085J!#FH@AQT)EF(")5;W:4T&_299GV*A7V*13V)-59@6*W L#/- MONGS%24 'N3GOD7J+,;Q:<._E3M\\7AG6I]">E#+"6\T5)M7(PN-*+>5JZ%9 MJYV%9JT+63BJ/!AU>A#B-%>7&( V&WFK 70C+T9<,!PK8^3!'+^!7!V$O_)C M=#X[MV7&.21H&7&.<%N0R Q.S"N'!C_7A8DRA(5_%5Y,#:M2M":]=*(:J]P M:$3Y;0>,*'=@=F%2N3#IW(TBR @F6P[VB!7AFH*=]+DI]2D6]BD6]2366 C7 M^7E7=3H3BN2W]UO1.Y>%;D1=1;Y.]7R+:8<)"BC1S*N1_);8(55631 M$'2ORZ17*F31I1]WLO)&3 'D^PVEXM10 U2U_/Q?4$L#!!0 ( +9":%<5 MH7;-4 ( 8% 9 >&PO=V]R:W-H965TOFEJI)2% -W4A4J&=%FGM6%,V3=,>3'(0JXZ=V@Z4?S_;I!&3H&][ M2>[L^SY_9]]=O)'J29>(!EXJ+O28E,;45T&@\Q(KJGNR1F%WEE)5U%A7K0)= M*Z2%!U4\B,+P,J@H$R2)_=I,);%L#&<"9PIT4U54;2?(Y69,^N1UX8&M2N,6 M@B2NZ0HS-/-ZIJP7="P%JU!H)@4H7([)=?]J,G3Q/N 'PXW>L\%ELI#RR3EI M,2:A$X0<<^,8J/VM<8J<.R(KX[GE)-V1#KAOO[)_]KG;7!94XU3RGZPPY9A\ M)%#@DC;:.-K%JP55 QL?O3E_8>]@!1_P@@ M:@&1U[T[R*N\H88FL9(;4"[:LCG#I^K15AP3[E$RH^PNLSB33.99>G^;97 ] M_3Y/L_0Q_7:?P05D]O6+AB/()4P:;5%:PU16"R:HNT[OU!P-PF(+OY"JBUM1 MP.D-&LJX/MNS3H )>"QEHZDH=!P8*]L='N2MQ,E.8G1$XAW=0M@_ARB,!C#/ M;N#TY.Q?EL FW64>=9E'GG9XA':FI$%?$Y!)WOBDSB$5>>^0Q#>Y7.=O_48*^LW82X MHVK%;.5Q7%I8V/LP(J!V7;=SC*Q]I2^DL7WCS=(.*E0NP.XOI7WRUG'-TXV^ MY"]02P,$% @ MD)H5Z,XX76E!0 JRT !D !X;"]W;W)K&ULK9IA][:WKV. MD-;,(K%)T'9F/_P%I& 4,W7[?Z. >7Z$/"20QUQNN/@A%Y0J]+),,WG562BU MNNAV9;R@2R+/^(IF^I='+I9$Z5WQU)4K04E2BI9IUW.KSK5[@3V_$)0E_F5T(W>V47$I<\Y_%#N3Y*KC%#6B*8U5@2#Z M:TW'-$T+DJ['=804GVE1EG0Z*0NFLW0]?B?A\EL?8W>VS7>>%;@+7E% MCOL5>8[7:ZN.77W'UV6B7S^CJ#/64R*.Z&E+C=;;;]=6XR1%W)%8GK5T8.@I&)-.Z/??W,#YX\V M5R!A(20L@H1A()CA9K]VLV^CC_[D/-FP-&WSTJH\U4M(6+B%!26L>'"N1]XP M<'3G6.^:U%(J& 0]LQ1N*>4'OE^7,IK5KYO5MS;K+)]+^IS33*%H77S^1/HI M2&,B55M+6V&GMC0D+(2$19 P# 0S[ UJ>P/K&&@^ ML<#2 =A82%D+ ($H:! M8(:C@]K1@;7#CHE\=O?\@\/I.:2C MD+ 0$A9!PC 0S'#4=9I)I?-+ VHEVQT$?7__U6ULAY_J$2@M J5A*)IIT\[< MW_W ;*X2 _4[4%H(2HM :1B*9IKJ-:9ZO];WMC)_]P7$=?>[GI5]LDN0M B4 MAJ%HIDM-CN):)_:CZSCF>:8DTO-"RM9DGK8^^BK*KFF>$^R;!AJ5@-(B4!J& MHIFF-7&):\]+)EDQG>?BM=6J_J%5P6#?*M D!)06@=(P%,VTJHE@7'L&,Q5T M15B"2)8@KA94("(E56UQ]$V%VG7.=?:- PU60&D1* U#T4SCFG#%M<[T1YB] MT,1F5G!H5G_?+-#,!)06@=(P%,TTJ\E-7'MP8@N0*ZEAU'#@[UL%F5*$H+0( ME(:A:*9538;BVD.4^H5C15Z+MXUR9"1Q+'+=W5)&YBQEBM'V/C<\L/);KW?P M[@@:EH#2(E :AJ*95C:!B6N=O8_NN2(IRJBJADEMXW/.Q/Y_I95WYP?>M4VY M06,14%H$2L-0-/.?Z"89\>S)R/$L$_U$]X(D%&5DV=X-[>A3)^2@M!"4%H'2 M,!3-M+Q)6;R/I"P>:,H"2@M!:1$H#4/13%.;E,6SIRR33)'LB94/TJ/OJMYA MY.+Z^S,+^XE.M@PT<@&E82B::5D3N7CVR,4Z]([+I59ZFBAH6O95N6"K=E-! M5[F TD)06@1*PU TT_TFN_'Z'QF%09>[@-)"4%H$2L-0--/4)N7Q["G/^T9A M_W"1S_G^7^]C^YE.]@PTX &E82C:UK/NSMI3/7X^E:N$)2HGF]MEJ/71>B7R M=;G^MML4WRYCOB7BB642I?112YVS@:ZHV*X,WNXHOBI7LLZYTH-UN;F@^I59 M% 7T[X]GWVZ']02P,$% @ MD)H5W=89C@1 P 40H !D M !X;"]W;W)K&ULK59=;]HP%/TK5E9-G;21D/"Q M=A")CT[C =8U8WV8]F"2&[":V-1VH)7VXV?'(84N1&/B!6SGGG-SCN/KV]LR M_B!6 !(]I0D5?6LEY?K:MD6X@A2+!EL#54]BQE,LU90O;;'F@*,X;PV:U^.NCL\#?A#8BKTQTDH6C#WHR23J6XY^(4@@ ME)H!J[\-C"!)-)%ZC<>"TRI3:N#^>,?^.=>NM"RP@!%+[DDD5WWKHX4BB'&6 MR#NV_0*%GK;F"UDB\E^T-;%M%1QF0K*T *LW2 DU__BI\&$/T/2. -P"X+X" MN.X1@%< O%< KW4$T"H K=P9(R7W88PE]GN<;1'7T8I-#W(S<[223ZC>]D!R M]90HG/2'\V RNPD"-!A]FT^"R??)UUF /J 9YASK+4&78Y"8).(=ND"$HBE) M$K5AHF=+E5Z3V&&1:F12N4=2>6C*J%P)=$,CB"KPXWK\50W>5K)+[>Y.^]"M M)9SB9^0TWR/7<;TJ.?7H -8-Y#D&CN;!&%U>O*M2]1\TZC@\9D00?31JA'KE M)GMY#N_8)F="K0B!1BQ=$(K-B:,1&@BA*LO@)1GZ.5@(R=5I_%4A96C2M*K3 MZ IU+=8XA+ZE2I O@'+?_NFV7$^5=E[3K+QF<@.[&V5]K;JV/W[O+A A/ & MN*J5*!,09PE*2 Q5+M:S7:%GP+SR?-4"3W7L3&0'CK5+Q]JU&O>^.*$NCPW0 MK-*I6I93OS=#ULG)]&VX\9L]>[-OB8FXVH]H=,J8 Z6=4FGGWY52==@(#5E: M*;:6Z%2QG;^D. WOE=SZF .YW5)NMU;N+$L7P!&+T:*H.2!,,>/J?/P^7M>, M!;7DIUIP3K*Q(6M7?CS&*7OO$DZ!+_-F1J"0952:^[A<+?NE0=XFV"_AIMF: M8KXDZGM)(%90I]%5>;EI8,Q$LG5^I2^85 U"/ERIG@^X#E#/8\;D;J(3E%VD M_P=02P,$% @ MD)H5PS&.B.A @ ; 8 !D !X;"]W;W)K&ULK551;]HP$/XK5E9-K;0U(0$*'40"VFD\M&.D; _3'DQR M$*N)36T'NG^_LQ,R2E.TA[TD]OF^[[X[V^?!3LA'E0)H\IQG7 V=5.O-M>NJ M.(669ZWM>U\TIXTXXL+:9# >BT!GC,)-$ M%7E.Y>\Q9&(W=%K.WC!GZU0;@QL.-G0-$>C%9B9QYM8L"B]T7J/*Q F.1*?LEN\K7 MR&8&MC86C=DP;G8QTA)7&>)T.%Y$T_O;*"*CR;?%-)H^3+_>1^0CB?"X)$4& M1*S(3 IB:T;FH+ \BIS?@*8L4Q?HN8ANR/G9!3DCC).'5!2*\D0-7(WJ3 PW MKI2,2R7^&TKZY$YPG2IRRQ-(7N)=S*I.S=^G-O9/$D:PN22!]X'XGA\TZ)G\ M.]P_(2>H*QU8ON"M2A<*+4J1B:P5R"T[X_EVKZWUJJL%_(GM1D79=D?8I]G . M6^ %-.58 KL6:!K1-O3[K7X/MW%[J+[!K=WK]?NUVPM=G5I7YZ2N>]P.QF.1 M-TKKO(K9]GK=8V6OO8*@=74LS#VXN#G(M>UGBL2BX+H\Z+6U;IDCVRF.[&-L MI67G^TM3]N$[*M>,*Y+!"BF]RRM4)LO>5DZTV-CVL!0:FXT=IO@<@#0.N+X2 M0N\G)D#]P(1_ %!+ P04 " "V0FA75Y:=6H," #M!P &0 'AL+W=O M*5BDW8&/_O\]W;([#G9#W*@70Y#'C MN1H[J=;%F>NJ)(6,JIXH(,>1M9 9U=B5&U<5$NC*BC+N^IXWY MC$)1:LYRF$NBRBRC\O<%<+$;.WWGZ<,MVZ3:?'"CL* ;B$$OBKG$GMNXK%@& MN6(B)Q+68^>\?S89F?EVPAV#G=IK$T.R%.+>=*Y78\3K.D$>ZWG]RO+#NR+*F"B> _V$JG8^>#0U:PIB77MV+W&6J>H?%+ M!%?V27;U7,\A2:FTR&HQ1I"QO'K3QSH/>X+^X 6!7PO\_Q4$M2"PH%5D%NN2 M:AJ%4NR(-+/1S31L;JP::5AN=C'6$D<9ZG04+R[BZ;?%].MW,KW#9TR.+T%3 MQM4)>4_.2UQ?F$23F^F,S/%4:#*70M>;<,5XAM,6\24Y/CHA1X3E9,8XQS$5 MNAKC,ZNX21W+116+_T(L-XGN$6_PCOB>'[3()]WR&(H>";PVN8M9:5+C-ZGQ MK5_PDE^Y5/!0 B)/M^;Y\PO.(-<:,O6KC:ZR&[3;F=_Q3!4T@;&#_YL"N04G M>ONF/_(^M;$>R.P9>="0!UWNT50E1K&"0BBFVU []:]%KD8\:\E'G-L]+ MF:18Q+$FL03:4$?_G*U^L'>X*H3.15Z+X.X58W,1SJCET%AM;3/%^QBDF8#C:X'UMNZ8DM_<\-$?4$L#!!0 ( +9" M:%?TM<@K. , .P3 - >&PO.Z6"_?KYV"!_U1:P/&RRHQ+['Y]QC M^Z9Q.ZCUDM.'&:4Z6)1ADD;"MSM94RXORUL1Y\;'<<[QVBIAV;LKYG0L>2HV>W1()=BO>EQZ )&G90T>"9\ M&(X)9Q/%@)63DO&E"_<@,)55<5@HLNSVKL,UP=Y, MDHE4&55MFFZX"HT&G.9@1[%B!GE@QFH:1G5+.'^ I M_9YO:2_RC7WKP*Z)MFD,-4TGXSJ@OZGFM#=EXU?I!A5[EOK3W$Q'V#[4)[U7 M-&<+VU_DK0%,O8NKDZKBRX^<%:*D;O(')QP-R(H7S*1BOTPV*)6I"5 5!L]4 M:3;=C/Q4I'JD"[TJIT6.>^Z=H.>_N\X%%501OFG:U/XQK_*K'<TT0#.B\/P M&YP^^3II,)DSKIEH>C.6952\.,X8>4TFYD^9+7TS/J,YF7/]V(+#<-W^2C,V M+]-VU#TL1#-JW?X"T^LF[6'5Y&(BHPN:C9NN*B:V&9B&R=I<0-A%[NSE1S". MP_P(8%@>S '&<2PLS_\TGSXZ'X=AWOI>I(]R^BC'L7S(V'ZP/'Y.:B[_3-,T MCI,$6]'QV.M@C*U;DL"/7PWS!@PL#V3ZL[7&=QNOD/UU@.WIO@K!9HI7(C93 M?*T!\:\;,-+4O]M8'F!@NX#5#N3WYX&:\G/B&'85\X8]P3B2IA@"M>BOT21! M5B>!CW]_L*7BKL

-8?20$3;8T.P6BP^0"X99K>] M9!:G9G?[Z=<+0<=K,W7VYRQ/$ 7-RX_C<:_/Q4:IO=U)^(W\?RDJ/!_NZOK\> M#O5FSP],_R'O>67.;*4ZL-HF*@&GSZ>^UJI MH7T@:[ZIA:Q,8]-P*_BC?CG?')('H<6=*$7]-!ZT[TL^( =1B8/XSHOQ8#0@ M>B\?/TLEOLNJ9F6V4;(LQP/G=.*6JUIL?FG.&LBFVI69W*3,@X\'5R'2X M%4K7[2?:_IEA?.#FPZ>C8RUO1%ES-6,UGRMYO!?5KNG&7,70NHPV#N?74Q"O MU7\)H]QNQ8;/Y.9XX%5]BJ/B90-8Z;VXUP-2L0,?#Z;R@2NR8CO>7)3Y%5J< M+K V9%:XU+4P)Q0M6D9,GJK@E>8%,>^T+$5A. HR826K-IQ8D"X Z5X0\B_7 M@O0 2.\BD%F#8[YJ0?H I']!R$XD P RN"2D9T%> 9!7EX3T+&"T/@F29=A3I/80GP/(+['1 MDU6RH%,:91;D!P#R RYD&MU&\3JRI^P1-&>/<'%6:;**TOPK">,9B?YR@8.L@RA,8P-E;G64DNQSF'8F74@!#K(#)NN,QE%F8CJ,) MR<1%ELDYS>L%@USB(KO$RO?ZV#Q()1ZR2L!DJ[O8 HG%0Q;+*\G6.9PV)J06 M#UDMO^8SO3<<7+="-DMO8M-+"8G%NZA8[/46#Q*+ARP6&#.P,2'/>,B>@3&O M;$S(,QZR9\Z:?MND9I5F[;.20 M-S->,U%VIB,?TH^/7=< B=I;8I=?/J0?'UD_,*:]!.Q#"O+1U[]Z\TD32--Y M<;0QP]BGD:J#8FY" ?V4$_TMYS_$K>S$1S*8M'498V)N0@']E!%N:_ M/.B0@GST4L=*U?O@(/'XR.)I%FG[J2#/^,B>@2L(>PT@@#P3('OFU0KB%$\; M$S)-@&R:O@JBYXX'D&8"9,WTEQ _IA\;$]),<)%*YQFSN_L-:29 ULQKF,^S MI(T)[M(C:P:.9NRG)JVI%I(5IS_;'3^H]2G?P!02P,$% @ MD)H M5_,@BWGI 0 $B( !H !X;"]?Z)0A&.14&#YE36V/+U M7WVRQIZ_I%U;MMTA;[9]GASWNT->-)M2^H<0\G*3]FV^Z?IT.%]9=<.^+>?E ML Y]NWQOURGH=#H+P\\9S>/\Y\S)ZZE/?YG8K5;;97KJEA_[="B_# Z?W?"> M-RF59O+:#NM4%DTX[JZG<[@BN!WHIZ*X'> M.GK9)M!;46\ET%M1;R706U%O)=!;46\ET%M1;R706U%O)=!;46\ET-M0;R/0 MVU!O(]#;4&\CT-M&FR4$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$ M>COJ[01Z.^KM!'H[ZNT$>COJ[01Z^VBSFT!O1[V=0&]'O9U ;T>]G4!O1[V= M0&]'O9U [XAZ1P*](^H="?2.J'$?6.!'I' MU#O^I]ZYG'8I7WN^U_C\_Z2ZG.]-U\=?EM\G1^Q<< [P"\CC%U!+ P04 M" "V0FA7LFA)V-4! "_(0 $P %M#;VYT96YT7U1Y<&5S72YX;6S-VEU/ M@S 4!N"_LG!K1M>O^1'GC7JK7O@'*IP-,J!-V\WY[RU,331*7&;B>P.!MN<] MM,ESQ>7CBZ,PV;5-%Q99%:.[8"P4%;4FY-91ET:6UK_8LX4:[,B)F:S M.2ML%ZF+T]C7R*XN;VAI-DV[7-8%E;;8M&E)'IPG4X:**+9-OB]Z,IXNI!.S-/A<>]'TJ^>NE2(?*S'/_$C,94^^ONH/^V2RE]FI^U]MGX]G$=@ MP^WX/?Y\QA_U#^Q#@/0A0?I0('UHD#[F('V<@O1Q!M+'.4@??(;2"(JH'(54 MCF(J1T&5HZC*45CE**YR%%@YBJP"15:!(JM D56@R"I09!4HL@H4606*K )% M5H$BJT215:+(*E%DE2BR2A19)8JL$D56B2*K1)%5HLBJ4&15*+(J%%D5BJP* M15:%(JM"D56AR*I09%4HLFH4636*K!I%5HTBJT:15:/(JE%DU?\IZY.UZ[_^ MI:"_YZVIN_=\-ORW&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( +9":%?*N;)+ MSP4 ,X> 8 " @0T( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ MD)H M5T_NN#7[ @ 6PH !@ ("!F10 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ MD)H5\V$XT^Y!P ,CX !@ M ("!4"( 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ MD)H5W/S:3&W" >A4 !@ ("!.S< M 'AL+W=O/EU-_ M&@P "0? 9 " @2A !X;"]W;W)K&UL4$L! A0#% @ MD)H5UN77BIA P ?0< !D M ("!>4P 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ MD)H5T"11H"2 @ @@4 !D ("!=U8 'AL+W=O M&PO=V]R:W-H965T(G2_&] ( '0& 9 " @6Y@ M !X;"]W;W)K&UL4$L! A0#% @ MD)H5S-< M@)N)!0 IPT !D ("!F6, 'AL+W=O-.V@H# "*!@ &0 M @(%9:0 >&PO=V]R:W-H965T&UL4$L! A0#% @ MD)H5Y[6'_2!!@ T@\ !D M ("!(7 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ MD)H5VQ.:/&! P " P !D ("! M\7P 'AL+W=O6E68/ "-*P &0 @(&I@ >&PO=V]R:W-H965T&UL4$L! A0#% M @ MD)H5RVAT+,4!@ $0\ !D ("!99, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MD)H5WJ"\4ZE @ L04 !D M ("!8ZD 'AL+W=O&PO=V]R M:W-H965TSP0 #P+ M 9 " @8FO !X;"]W;W)K&UL M4$L! A0#% @ MD)H5UE+E#E @ O00 !D ("!C[0 M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MMD)H5S;/8N5O P +PH !D ("!_[P 'AL+W=O&UL4$L! A0#% @ MD)H5R%=H(?7 @ MH0D !D ("!W\P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MD)H5_A+^+T?! V14 !D M ("!@M< 'AL+W=OLYKH" #Q!P &0 @('8VP >&PO=V]R:W-H M965TJJ>QZ^ ( .L( 9 M " @ !X;"]W;W)K&UL4$L! M A0#% @ MD)H5^,]*X<_ @ N00 !D ("!^.$ 'AL M+W=O&PO=V]R:W-H965T:?V>0S 8 'Q! 9 " M@33G !X;"]W;W)K&UL4$L! A0#% @ MD)H M5]B;+XUK P 70T !D ("!-^X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MD)H5Q6A=LU0 @ !@4 M !D ("!?_@ 'AL+W=O&PO=V]R:W-H965T( 0!X;"]W;W)K&UL4$L! A0#% @ MD)H5PS&.B.A @ ; 8 !D M ("!*@0! 'AL+W=O&PO=V]R:W-H965T MR:$G8U0$ +\A 3 " 2T5 0!;0V]N=&5N B=%]4>7!E&UL4$L%!@ !! $$ OA$ #,7 0 $! end XML 71 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 72 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 73 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.3 html 184 211 1 false 53 0 false 8 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.xpel.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.xpel.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - Condensed Consolidated Statements of Income (Unaudited) Sheet http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited Condensed Consolidated Statements of Income (Unaudited) Statements 4 false false R5.htm 0000005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited) Sheet http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited Condensed Consolidated Statements of Comprehensive Income (Unaudited) Statements 5 false false R6.htm 0000006 - Statement - Condensed Consolidated Statements of Changes in Stockholders??? Equity (Unaudited) Sheet http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited Condensed Consolidated Statements of Changes in Stockholders??? Equity (Unaudited) Statements 6 false false R7.htm 0000007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited Condensed Consolidated Statements of Cash Flows (Unaudited) Statements 7 false false R8.htm 0000008 - Disclosure - INTERIM FINANCIAL INFORMATION Sheet http://www.xpel.com/role/INTERIMFINANCIALINFORMATION INTERIM FINANCIAL INFORMATION Notes 8 false false R9.htm 0000009 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES SIGNIFICANT ACCOUNTING POLICIES Notes 9 false false R10.htm 0000010 - Disclosure - REVENUE Sheet http://www.xpel.com/role/REVENUE REVENUE Notes 10 false false R11.htm 0000011 - Disclosure - PROPERTY AND EQUIPMENT, NET Sheet http://www.xpel.com/role/PROPERTYANDEQUIPMENTNET PROPERTY AND EQUIPMENT, NET Notes 11 false false R12.htm 0000012 - Disclosure - INTANGIBLE ASSETS, NET Sheet http://www.xpel.com/role/INTANGIBLEASSETSNET INTANGIBLE ASSETS, NET Notes 12 false false R13.htm 0000013 - Disclosure - GOODWILL Sheet http://www.xpel.com/role/GOODWILL GOODWILL Notes 13 false false R14.htm 0000014 - Disclosure - INVENTORIES Sheet http://www.xpel.com/role/INVENTORIES INVENTORIES Notes 14 false false R15.htm 0000015 - Disclosure - DEBT Sheet http://www.xpel.com/role/DEBT DEBT Notes 15 false false R16.htm 0000016 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES Sheet http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIES ACCOUNTS PAYABLE AND ACCRUED LIABILITIES Notes 16 false false R17.htm 0000017 - Disclosure - FAIR VALUE MEASUREMENTS Sheet http://www.xpel.com/role/FAIRVALUEMEASUREMENTS FAIR VALUE MEASUREMENTS Notes 17 false false R18.htm 0000018 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.xpel.com/role/COMMITMENTSANDCONTINGENCIES COMMITMENTS AND CONTINGENCIES Notes 18 false false R19.htm 0000019 - Disclosure - EARNINGS PER SHARE Sheet http://www.xpel.com/role/EARNINGSPERSHARE EARNINGS PER SHARE Notes 19 false false R20.htm 0000020 - Disclosure - BUSINESS ACQUISITIONS Sheet http://www.xpel.com/role/BUSINESSACQUISITIONS BUSINESS ACQUISITIONS Notes 20 false false R21.htm 0000021 - Disclosure - SUBSEQUENT EVENTS Sheet http://www.xpel.com/role/SUBSEQUENTEVENTS SUBSEQUENT EVENTS Notes 21 false false R22.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 22 false false R23.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 23 false false R24.htm 9954471 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 24 false false R25.htm 9954472 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESTables SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES 25 false false R26.htm 9954473 - Disclosure - REVENUE (Tables) Sheet http://www.xpel.com/role/REVENUETables REVENUE (Tables) Tables http://www.xpel.com/role/REVENUE 26 false false R27.htm 9954474 - Disclosure - PROPERTY AND EQUIPMENT, NET (Tables) Sheet http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETTables PROPERTY AND EQUIPMENT, NET (Tables) Tables http://www.xpel.com/role/PROPERTYANDEQUIPMENTNET 27 false false R28.htm 9954475 - Disclosure - INTANGIBLE ASSETS, NET (Tables) Sheet http://www.xpel.com/role/INTANGIBLEASSETSNETTables INTANGIBLE ASSETS, NET (Tables) Tables http://www.xpel.com/role/INTANGIBLEASSETSNET 28 false false R29.htm 9954476 - Disclosure - GOODWILL (Tables) Sheet http://www.xpel.com/role/GOODWILLTables GOODWILL (Tables) Tables http://www.xpel.com/role/GOODWILL 29 false false R30.htm 9954477 - Disclosure - INVENTORIES (Tables) Sheet http://www.xpel.com/role/INVENTORIESTables INVENTORIES (Tables) Tables http://www.xpel.com/role/INVENTORIES 30 false false R31.htm 9954478 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables) Sheet http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESTables ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables) Tables http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIES 31 false false R32.htm 9954479 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables FAIR VALUE MEASUREMENTS (Tables) Tables http://www.xpel.com/role/FAIRVALUEMEASUREMENTS 32 false false R33.htm 9954480 - Disclosure - EARNINGS PER SHARE (Tables) Sheet http://www.xpel.com/role/EARNINGSPERSHARETables EARNINGS PER SHARE (Tables) Tables http://www.xpel.com/role/EARNINGSPERSHARE 33 false false R34.htm 9954481 - Disclosure - BUSINESS ACQUISITIONS (Tables) Sheet http://www.xpel.com/role/BUSINESSACQUISITIONSTables BUSINESS ACQUISITIONS (Tables) Tables http://www.xpel.com/role/BUSINESSACQUISITIONS 34 false false R35.htm 9954482 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESSegmentReportingDetails SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details) Details 35 false false R36.htm 9954483 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESAccountsReceivableDetails SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) Details 36 false false R37.htm 9954484 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) Details 37 false false R38.htm 9954485 - Disclosure - REVENUE - Transactions Within Contract Liabilities (Details) Sheet http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails REVENUE - Transactions Within Contract Liabilities (Details) Details 38 false false R39.htm 9954486 - Disclosure - REVENUE - Disaggregation of Revenue (Details) Sheet http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails REVENUE - Disaggregation of Revenue (Details) Details 39 false false R40.htm 9954487 - Disclosure - REVENUE - Revenue Estimate By Geographic Area (Details) Sheet http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails REVENUE - Revenue Estimate By Geographic Area (Details) Details 40 false false R41.htm 9954488 - Disclosure - REVENUE - Narrative (Details) Sheet http://www.xpel.com/role/REVENUENarrativeDetails REVENUE - Narrative (Details) Details 41 false false R42.htm 9954489 - Disclosure - PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details) Sheet http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details) Details 42 false false R43.htm 9954490 - Disclosure - PROPERTY AND EQUIPMENT, NET - Narrative (Details) Sheet http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETNarrativeDetails PROPERTY AND EQUIPMENT, NET - Narrative (Details) Details 43 false false R44.htm 9954491 - Disclosure - INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details) Sheet http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details) Details 44 false false R45.htm 9954492 - Disclosure - INTANGIBLE ASSETS, NET - Narrative (Details) Sheet http://www.xpel.com/role/INTANGIBLEASSETSNETNarrativeDetails INTANGIBLE ASSETS, NET - Narrative (Details) Details 45 false false R46.htm 9954493 - Disclosure - GOODWILL - Schedule of Goodwill (Details) Sheet http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails GOODWILL - Schedule of Goodwill (Details) Details 46 false false R47.htm 9954494 - Disclosure - GOODWILL - Narrative (Details) Sheet http://www.xpel.com/role/GOODWILLNarrativeDetails GOODWILL - Narrative (Details) Details 47 false false R48.htm 9954495 - Disclosure - INVENTORIES (Details) Sheet http://www.xpel.com/role/INVENTORIESDetails INVENTORIES (Details) Details http://www.xpel.com/role/INVENTORIESTables 48 false false R49.htm 9954496 - Disclosure - DEBT (Details) Sheet http://www.xpel.com/role/DEBTDetails DEBT (Details) Details http://www.xpel.com/role/DEBT 49 false false R50.htm 9954497 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details) Sheet http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details) Details 50 false false R51.htm 9954498 - Disclosure - FAIR VALUE MEASUREMENTS (Details) Sheet http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails FAIR VALUE MEASUREMENTS (Details) Details http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables 51 false false R52.htm 9954499 - Disclosure - EARNINGS PER SHARE (Details) Sheet http://www.xpel.com/role/EARNINGSPERSHAREDetails EARNINGS PER SHARE (Details) Details http://www.xpel.com/role/EARNINGSPERSHARETables 52 false false R53.htm 9954500 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Business Combinations Complete by Year-End (Details) (Details) Sheet http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails BUSINESS ACQUISITIONS - Schedule of Business Combinations Complete by Year-End (Details) (Details) Details 53 false false R54.htm 9954501 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Acquisition Purchase Price (Details) Sheet http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails BUSINESS ACQUISITIONS - Schedule of Acquisition Purchase Price (Details) Details 54 false false R55.htm 9954502 - Disclosure - BUSINESS ACQUISITIONS - Narrative (Details) Sheet http://www.xpel.com/role/BUSINESSACQUISITIONSNarrativeDetails BUSINESS ACQUISITIONS - Narrative (Details) Details 55 false false R56.htm 9954503 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Pro Forma Results (Details) Sheet http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofProFormaResultsDetails BUSINESS ACQUISITIONS - Schedule of Pro Forma Results (Details) Details 56 false false R57.htm 9954504 - Disclosure - SUBSEQUENT EVENTS (Details) Sheet http://www.xpel.com/role/SUBSEQUENTEVENTSDetails SUBSEQUENT EVENTS (Details) Details http://www.xpel.com/role/SUBSEQUENTEVENTS 57 false false All Reports Book All Reports xpel-20230930.htm xpel-20230930.xsd xpel-20230930_cal.xml xpel-20230930_def.xml xpel-20230930_lab.xml xpel-20230930_pre.xml xpel-20230930_g1.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 76 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "xpel-20230930.htm": { "nsprefix": "xpel", "nsuri": "http://www.xpel.com/20230930", "dts": { "inline": { "local": [ "xpel-20230930.htm" ] }, "schema": { "local": [ "xpel-20230930.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "xpel-20230930_cal.xml" ] }, "definitionLink": { "local": [ "xpel-20230930_def.xml" ] }, "labelLink": { "local": [ "xpel-20230930_lab.xml" ] }, "presentationLink": { "local": [ "xpel-20230930_pre.xml" ] } }, "keyStandard": 203, "keyCustom": 8, "axisStandard": 19, "axisCustom": 0, "memberStandard": 37, "memberCustom": 16, "hidden": { "total": 6, "http://xbrl.sec.gov/ecd/2023": 1, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 184, "entityCount": 1, "segmentCount": 53, "elementCount": 446, "unitCount": 8, "baseTaxonomies": { "http://xbrl.sec.gov/dei/2023": 29, "http://fasb.org/us-gaap/2023": 583, "http://xbrl.sec.gov/ecd/2023": 7 }, "report": { "R1": { "role": "http://www.xpel.com/role/CoverPage", "longName": "0000001 - Document - Cover Page", "shortName": "Cover Page", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets", "shortName": "Condensed Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "longName": "0000004 - Statement - Condensed Consolidated Statements of Income (Unaudited)", "shortName": "Condensed Consolidated Statements of Income (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-13", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R5": { "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited", "longName": "0000005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)", "shortName": "Condensed Consolidated Statements of Comprehensive Income (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-13", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R6": { "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "longName": "0000006 - Statement - Condensed Consolidated Statements of Changes in Stockholders\u2019 Equity (Unaudited)", "shortName": "Condensed Consolidated Statements of Changes in Stockholders\u2019 Equity (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-43", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-43", "name": "us-gaap:CommonStockSharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "longName": "0000007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)", "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.xpel.com/role/INTERIMFINANCIALINFORMATION", "longName": "0000008 - Disclosure - INTERIM FINANCIAL INFORMATION", "shortName": "INTERIM FINANCIAL INFORMATION", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES", "longName": "0000009 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES", "shortName": "SIGNIFICANT ACCOUNTING POLICIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.xpel.com/role/REVENUE", "longName": "0000010 - Disclosure - REVENUE", "shortName": "REVENUE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNET", "longName": "0000011 - Disclosure - PROPERTY AND EQUIPMENT, NET", "shortName": "PROPERTY AND EQUIPMENT, NET", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.xpel.com/role/INTANGIBLEASSETSNET", "longName": "0000012 - Disclosure - INTANGIBLE ASSETS, NET", "shortName": "INTANGIBLE ASSETS, NET", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.xpel.com/role/GOODWILL", "longName": "0000013 - Disclosure - GOODWILL", "shortName": "GOODWILL", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.xpel.com/role/INVENTORIES", "longName": "0000014 - Disclosure - INVENTORIES", "shortName": "INVENTORIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.xpel.com/role/DEBT", "longName": "0000015 - Disclosure - DEBT", "shortName": "DEBT", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIES", "longName": "0000016 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES", "shortName": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.xpel.com/role/FAIRVALUEMEASUREMENTS", "longName": "0000017 - Disclosure - FAIR VALUE MEASUREMENTS", "shortName": "FAIR VALUE MEASUREMENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.xpel.com/role/COMMITMENTSANDCONTINGENCIES", "longName": "0000018 - Disclosure - COMMITMENTS AND CONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.xpel.com/role/EARNINGSPERSHARE", "longName": "0000019 - Disclosure - EARNINGS PER SHARE", "shortName": "EARNINGS PER SHARE", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.xpel.com/role/BUSINESSACQUISITIONS", "longName": "0000020 - Disclosure - BUSINESS ACQUISITIONS", "shortName": "BUSINESS ACQUISITIONS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.xpel.com/role/SUBSEQUENTEVENTS", "longName": "0000021 - Disclosure - SUBSEQUENT EVENTS", "shortName": "SUBSEQUENT EVENTS", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R22": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": null }, "R23": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-182", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-182", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies", "longName": "9954471 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESTables", "longName": "9954472 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.xpel.com/role/REVENUETables", "longName": "9954473 - Disclosure - REVENUE (Tables)", "shortName": "REVENUE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETTables", "longName": "9954474 - Disclosure - PROPERTY AND EQUIPMENT, NET (Tables)", "shortName": "PROPERTY AND EQUIPMENT, NET (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.xpel.com/role/INTANGIBLEASSETSNETTables", "longName": "9954475 - Disclosure - INTANGIBLE ASSETS, NET (Tables)", "shortName": "INTANGIBLE ASSETS, NET (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.xpel.com/role/GOODWILLTables", "longName": "9954476 - Disclosure - GOODWILL (Tables)", "shortName": "GOODWILL (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.xpel.com/role/INVENTORIESTables", "longName": "9954477 - Disclosure - INVENTORIES (Tables)", "shortName": "INVENTORIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESTables", "longName": "9954478 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables)", "shortName": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables", "longName": "9954479 - Disclosure - FAIR VALUE MEASUREMENTS (Tables)", "shortName": "FAIR VALUE MEASUREMENTS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.xpel.com/role/EARNINGSPERSHARETables", "longName": "9954480 - Disclosure - EARNINGS PER SHARE (Tables)", "shortName": "EARNINGS PER SHARE (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.xpel.com/role/BUSINESSACQUISITIONSTables", "longName": "9954481 - Disclosure - BUSINESS ACQUISITIONS (Tables)", "shortName": "BUSINESS ACQUISITIONS (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESSegmentReportingDetails", "longName": "9954482 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESAccountsReceivableDetails", "longName": "9954483 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails", "longName": "9954484 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details)", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-47", "name": "us-gaap:ProductWarrantyAccrual", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R38": { "role": "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails", "longName": "9954485 - Disclosure - REVENUE - Transactions Within Contract Liabilities (Details)", "shortName": "REVENUE - Transactions Within Contract Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-34", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-13", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R39": { "role": "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "longName": "9954486 - Disclosure - REVENUE - Disaggregation of Revenue (Details)", "shortName": "REVENUE - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-64", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R40": { "role": "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails", "longName": "9954487 - Disclosure - REVENUE - Revenue Estimate By Geographic Area (Details)", "shortName": "REVENUE - Revenue Estimate By Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-92", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R41": { "role": "http://www.xpel.com/role/REVENUENarrativeDetails", "longName": "9954488 - Disclosure - REVENUE - Narrative (Details)", "shortName": "REVENUE - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-128", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-128", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails", "longName": "9954489 - Disclosure - PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details)", "shortName": "PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETNarrativeDetails", "longName": "9954490 - Disclosure - PROPERTY AND EQUIPMENT, NET - Narrative (Details)", "shortName": "PROPERTY AND EQUIPMENT, NET - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:Depreciation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": null }, "R44": { "role": "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails", "longName": "9954491 - Disclosure - INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details)", "shortName": "INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.xpel.com/role/INTANGIBLEASSETSNETNarrativeDetails", "longName": "9954492 - Disclosure - INTANGIBLE ASSETS, NET - Narrative (Details)", "shortName": "INTANGIBLE ASSETS, NET - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": null }, "R46": { "role": "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails", "longName": "9954493 - Disclosure - GOODWILL - Schedule of Goodwill (Details)", "shortName": "GOODWILL - Schedule of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAcquiredDuringPeriod", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R47": { "role": "http://www.xpel.com/role/GOODWILLNarrativeDetails", "longName": "9954494 - Disclosure - GOODWILL - Narrative (Details)", "shortName": "GOODWILL - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfBusinessesAcquired", "unitRef": "acquisition", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": null }, "R48": { "role": "http://www.xpel.com/role/INVENTORIESDetails", "longName": "9954495 - Disclosure - INVENTORIES (Details)", "shortName": "INVENTORIES (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.xpel.com/role/DEBTDetails", "longName": "9954496 - Disclosure - DEBT (Details)", "shortName": "DEBT (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-3", "name": "xpel:DebtInstrumentNumberOfCovenants", "unitRef": "covenant", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-158", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R50": { "role": "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails", "longName": "9954497 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details)", "shortName": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccountsPayableTradeCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AccountsPayableTradeCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails", "longName": "9954498 - Disclosure - FAIR VALUE MEASUREMENTS (Details)", "shortName": "FAIR VALUE MEASUREMENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-172", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-172", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.xpel.com/role/EARNINGSPERSHAREDetails", "longName": "9954499 - Disclosure - EARNINGS PER SHARE (Details)", "shortName": "EARNINGS PER SHARE (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-13", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-13", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R53": { "role": "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails", "longName": "9954500 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Business Combinations Complete by Year-End (Details) (Details)", "shortName": "BUSINESS ACQUISITIONS - Schedule of Business Combinations Complete by Year-End (Details) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-174", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-174", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "longName": "9954501 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Acquisition Purchase Price (Details)", "shortName": "BUSINESS ACQUISITIONS - Schedule of Acquisition Purchase Price (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-178", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "td", "tr", "table", "div", "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "unique": true } }, "R55": { "role": "http://www.xpel.com/role/BUSINESSACQUISITIONSNarrativeDetails", "longName": "9954502 - Disclosure - BUSINESS ACQUISITIONS - Narrative (Details)", "shortName": "BUSINESS ACQUISITIONS - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-179", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-179", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofProFormaResultsDetails", "longName": "9954503 - Disclosure - BUSINESS ACQUISITIONS - Schedule of Pro Forma Results (Details)", "shortName": "BUSINESS ACQUISITIONS - Schedule of Pro Forma Results (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails", "longName": "9954504 - Disclosure - SUBSEQUENT EVENTS (Details)", "shortName": "SUBSEQUENT EVENTS (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-181", "name": "us-gaap:EscrowDeposit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-181", "name": "us-gaap:EscrowDeposit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "xpel-20230930.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r220", "r221" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r25", "r134", "r166", "r226", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r355", "r358", "r359", "r375", "r559", "r686", "r693", "r694" ] }, "country_CN": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "CN", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "China", "label": "CHINA" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r10" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r58", "r59" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r611" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory", "documentation": "The amount of inventory recognized as of the acquisition date." } } }, "auth_ref": [ "r58", "r59" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.xpel.com/role/REVENUETables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Disaggregation of Revenue", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r690" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-in-Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r338", "r339", "r340", "r446", "r663", "r664", "r665", "r691", "r707" ] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTS" ], "lang": { "en-us": { "role": { "terseLabel": "FAIR VALUE MEASUREMENTS", "label": "Fair Value Disclosures [Text Block]", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r369" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.xpel.com/role/REVENUETables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Transactions Within Contract Liabilities", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r689" ] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer Concentration Risk", "label": "Customer Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r41", "r219" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trade names", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r60" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "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", "r337" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash (used in) provided by financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r160" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of lease liabilities", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r393" ] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/DEBT" ], "lang": { "en-us": { "role": { "terseLabel": "DEBT", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r104", "r165", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r272", "r274", "r275", "r276" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r216", "r403", "r427", "r428", "r429", "r430", "r431", "r432", "r528", "r544", "r560", "r655", "r683", "r684", "r690", "r702" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from financing activities", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r574" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r160" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows used in investing activities", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r93", "r94", "r95" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from operating activities", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r23", "r166", "r226", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r355", "r358", "r359", "r375", "r459", "r536", "r572", "r686", "r693", "r694" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income taxes", "label": "Deferred Income Taxes and Tax Credits", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r95" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r111", "r141", "r166", "r197", "r210", "r214", "r226", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r354", "r358", "r375", "r411", "r473", "r559", "r572", "r686", "r687", "r693" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r216", "r403", "r427", "r428", "r429", "r430", "r431", "r432", "r528", "r544", "r560", "r655", "r683", "r684", "r690", "r702" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "http://www.xpel.com/role/REVENUENarrativeDetails", "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r298", "r544", "r545", "r546", "r547", "r548", "r549", "r550" ] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/INVENTORIES" ], "lang": { "en-us": { "role": { "terseLabel": "INVENTORIES", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r231" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock shares issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r74", "r277" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "http://www.xpel.com/role/REVENUENarrativeDetails", "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r298", "r544", "r545", "r546", "r547", "r548", "r549", "r550" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r14", "r29", "r131", "r150", "r151", "r152", "r167", "r168", "r169", "r171", "r177", "r179", "r196", "r227", "r228", "r278", "r338", "r339", "r340", "r344", "r345", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r384", "r385", "r386", "r387", "r388", "r389", "r394", "r434", "r435", "r436", "r446", "r500" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities", "label": "Liabilities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Non-current portion of lease liabilities", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r393" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r131", "r167", "r168", "r169", "r171", "r177", "r179", "r227", "r228", "r338", "r339", "r340", "r344", "r345", "r360", "r362", "r363", "r365", "r366", "r434", "r436", "r446", "r707" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Restricted stock withholding taxes paid in lieu of issued shares", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r157" ] }, "us-gaap_AssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetAcquisitionAbstract", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase Price", "label": "Asset Acquisition [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndOtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other liabilities", "label": "Accounts Payable and Other Accrued Liabilities, Current", "documentation": "Amount of liabilities incurred to vendors for goods and services received, and accrued liabilities classified as other, payable within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock shares authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r74", "r461" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r74", "r461", "r479", "r707", "r708" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basis spread on prime rate", "label": "Debt Instrument, Basis Spread on Variable Rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_TrademarksMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TrademarksMember", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trademarks", "label": "Trademarks [Member]", "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style." } } }, "auth_ref": [ "r60" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Completed Acquisitions", "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]", "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts." } } }, "auth_ref": [ "r55", "r57" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r80", "r114", "r418", "r559", "r662", "r669", "r692" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event", "label": "Subsequent Event [Member]", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r390", "r396" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Interest expense", "label": "Interest Expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r68", "r117", "r153", "r200", "r391", "r484", "r570", "r706" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r574" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r14", "r131", "r150", "r151", "r152", "r167", "r168", "r169", "r171", "r177", "r179", "r196", "r227", "r228", "r278", "r338", "r339", "r340", "r344", "r345", "r360", "r361", "r362", "r363", "r364", "r365", "r366", "r384", "r385", "r386", "r387", "r388", "r389", "r394", "r434", "r435", "r436", "r446", "r500" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r634" ] }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisitions revenue", "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual", "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period." } } }, "auth_ref": [ "r56" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r6", "r13", "r31", "r361", "r364", "r394", "r434", "r435", "r657", "r658", "r659", "r663", "r664", "r665" ] }, "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisitions net income", "label": "Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual", "documentation": "This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period." } } }, "auth_ref": [ "r56" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r74", "r277" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Furniture and fixtures", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r574" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIES" ], "lang": { "en-us": { "role": { "terseLabel": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r20" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r62" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "terseLabel": "Net income", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r86", "r95", "r116", "r132", "r146", "r148", "r152", "r166", "r170", "r172", "r173", "r174", "r175", "r178", "r179", "r188", "r197", "r209", "r213", "r215", "r226", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r368", "r375", "r423", "r481", "r498", "r499", "r537", "r570", "r686" ] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r574" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r574" ] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r155", "r172", "r173", "r174", "r175", "r176", "r182", "r184", "r189", "r190", "r191", "r195", "r367", "r368", "r408", "r425", "r535" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r574" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r10" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Less: Accumulated amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r139", "r241" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dilutive effect of restricted stock units (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r185", "r186", "r187", "r191", "r311" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity." } } }, "auth_ref": [ "r7", "r12", "r109" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payroll liabilities", "label": "Employee-related Liabilities, Current", "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": [ "r24" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average useful life", "label": "Acquired Finite-Lived Intangible Assets, Weighted Average Useful Life", "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": [ "r99" ] }, "us-gaap_GoodwillDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/GOODWILL" ], "lang": { "en-us": { "role": { "terseLabel": "GOODWILL", "label": "Goodwill Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill." } } }, "auth_ref": [ "r232", "r234", "r237", "r540" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r245", "r246", "r247", "r248", "r302", "r309", "r334", "r335", "r336", "r401", "r402", "r433", "r451", "r452", "r503", "r505", "r507", "r508", "r510", "r525", "r526", "r539", "r543", "r556", "r561", "r564", "r681", "r688", "r696", "r697", "r698", "r699", "r700" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r404" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r14", "r74", "r75", "r105" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Domain]", "label": "Long-Term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r26", "r54" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r245", "r246", "r247", "r248", "r309", "r402", "r433", "r451", "r452", "r503", "r505", "r507", "r508", "r510", "r525", "r526", "r539", "r543", "r556", "r561", "r688", "r695", "r696", "r697", "r698", "r699", "r700" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r239", "r240", "r241", "r242", "r404", "r405" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r245", "r246", "r247", "r248", "r302", "r309", "r334", "r335", "r336", "r401", "r402", "r433", "r451", "r452", "r503", "r505", "r507", "r508", "r510", "r525", "r526", "r539", "r543", "r556", "r561", "r564", "r681", "r688", "r696", "r697", "r698", "r699", "r700" ] }, "country_GB": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "GB", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United Kingdom", "label": "UNITED KINGDOM" } } }, "auth_ref": [] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.xpel.com/role/INVENTORIESDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "totalLabel": "Inventories", "label": "Inventory, Net", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r144", "r531", "r559" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r245", "r246", "r247", "r248", "r309", "r402", "r433", "r451", "r452", "r503", "r505", "r507", "r508", "r510", "r525", "r526", "r539", "r543", "r556", "r561", "r688", "r695", "r696", "r697", "r698", "r699", "r700" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Allocation", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r47", "r48" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r585", "r596", "r606", "r631" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total net assets acquired", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r59" ] }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingPolicyPolicyTextBlock", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting", "label": "Segment Reporting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for segment reporting." } } }, "auth_ref": [ "r202", "r203", "r204", "r205", "r206", "r207", "r217", "r538" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other non-current assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r140" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Use of Estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r43", "r44", "r45", "r122", "r123", "r125", "r126" ] }, "us-gaap_CostOfGoodsAndServicesSoldAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of Sales", "label": "Cost of Goods and Services Sold [Abstract]" } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r585", "r596", "r606", "r631" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Total cost of sales", "label": "Cost of Goods and Services Sold", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r88", "r403" ] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Operating Expenses", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Roll Forward]", "label": "Goodwill [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration risk percentage", "label": "Concentration Risk, Percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r40", "r42", "r65", "r66", "r219" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign Exchange", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r236" ] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r585", "r596", "r606", "r623", "r631" ] }, "us-gaap_ProductWarrantyAccrual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrual", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Warranty liability", "periodStartLabel": "Warranty liability, beginning balance", "periodEndLabel": "Warranty liability, ending balance", "label": "Standard and Extended Product Warranty Accrual", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers." } } }, "auth_ref": [ "r70", "r249", "r251", "r254" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r585", "r596", "r606", "r631" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r100", "r404" ] }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualWarrantiesIssued", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Warranties assumed in period", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued." } } }, "auth_ref": [ "r253" ] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r585", "r596", "r606", "r631" ] }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityCommitmentFeePercentage", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commitment fee percentage", "label": "Line of Credit Facility, Commitment Fee Percentage", "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used." } } }, "auth_ref": [] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total cost", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r100", "r405" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Increase in cash and cash equivalents during the period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r5", "r93" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents at beginning of period", "periodEndLabel": "Cash and cash equivalents at end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r35", "r93", "r163" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r102" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r578", "r589", "r599", "r624" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.xpel.com/role/GOODWILLTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r540", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r47", "r48", "r404" ] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r634" ] }, "us-gaap_StandardProductWarrantyPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StandardProductWarrantyPolicy", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Provisions and Warranties", "label": "Standard Product Warranty, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability." } } }, "auth_ref": [ "r685" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESAccountsReceivableDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for doubtful accounts included in accounts receivable", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r143", "r224", "r229" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r634" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r578", "r589", "r599", "r624" ] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Comprehensive Income [Abstract]", "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofProFormaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Business Acquisition, Pro Forma Revenue", "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period." } } }, "auth_ref": [ "r347", "r348" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofProFormaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r347", "r348" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Operating Income", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r197", "r209", "r213", "r215", "r537" ] }, "us-gaap_RepaymentsOfNotesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfNotesPayable", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repayments of notes payable", "label": "Repayments of Notes Payable", "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation." } } }, "auth_ref": [ "r34" ] }, "us-gaap_AmortizationOfDebtDiscountPremium": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfDebtDiscountPremium", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accretion on notes payable", "label": "Amortization of Debt Discount (Premium)", "documentation": "Amount of noncash expense included in interest expense to amortize debt discount and premium associated with the related debt instruments. Excludes amortization of financing costs. Alternate captions include noncash interest expense." } } }, "auth_ref": [ "r9", "r67", "r90", "r273" ] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additions and purchase price allocation adjustments", "label": "Goodwill, Purchase Accounting Adjustments", "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r1", "r677" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ServiceMember", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Service Revenue", "label": "Service [Member]", "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service." } } }, "auth_ref": [ "r544" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property, Plant and Equipment", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r10" ] }, "us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityInterestRateAtPeriodEnd", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit facility, interest rate", "label": "Line of Credit Facility, Interest Rate at Period End", "documentation": "The effective interest rate at the end of the reporting period." } } }, "auth_ref": [ "r21" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility, Lender [Domain]", "label": "Line of Credit Facility, Lender [Domain]", "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility." } } }, "auth_ref": [ "r21", "r661" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum borrowing capacity", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r21" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r35", "r135", "r530" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.xpel.com/role/INTANGIBLEASSETSNETNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization of intangible assets", "label": "Amortization of Intangible Assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r9", "r46", "r49" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/INTERIMFINANCIALINFORMATION" ], "lang": { "en-us": { "role": { "terseLabel": "INTERIM FINANCIAL INFORMATION", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure." } } }, "auth_ref": [ "r72", "r108", "r441", "r442" ] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Intangible Assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r47", "r48" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails", "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning contract liabilities", "periodEndLabel": "Ending contract liabilities", "terseLabel": "Contract liabilities", "label": "Contract with Customer, Liability, Current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r279", "r280", "r299" ] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lender Name [Axis]", "label": "Lender Name [Axis]", "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit." } } }, "auth_ref": [ "r21", "r661" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r611" ] }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireIntangibleAssets", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Development of intangible assets", "label": "Payments to Acquire Intangible Assets", "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill." } } }, "auth_ref": [ "r92" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r611" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r634" ] }, "us-gaap_StockIssued1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssued1", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock for vested restricted stock units", "label": "Stock Issued", "documentation": "The fair value of stock issued in noncash financing activities." } } }, "auth_ref": [ "r37", "r38", "r39" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r30", "r31", "r84", "r142", "r416", "r438", "r439" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r615" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r577", "r647" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r615" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recently Adopted Accounting Pronouncements", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additions and purchase price allocation adjustments", "label": "Goodwill, Acquired During Period", "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination." } } }, "auth_ref": [ "r235", "r540" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r642" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r615" ] }, "us-gaap_EquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquipmentMember", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equipment", "label": "Equipment [Member]", "documentation": "Tangible personal property used to produce goods and services." } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in-capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r76", "r559", "r705" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for income taxes", "label": "Income Taxes Paid, Net", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r36" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r642" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Less: accumulated depreciation", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r51", "r137", "r419" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total revenue", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r198", "r199", "r208", "r211", "r212", "r216", "r217", "r219", "r297", "r298", "r403" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liability, net", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r341", "r342", "r412" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r155", "r172", "r173", "r174", "r175", "r176", "r184", "r189", "r190", "r191", "r195", "r367", "r368", "r408", "r425", "r535" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r642" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r616" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Business acquisitions, net of cash acquired", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r33" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r642" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.xpel.com/role/REVENUETables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenue Estimate by Geographic Areas", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue." } } }, "auth_ref": [ "r15" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r616" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r642" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r616" ] }, "us-gaap_SoftwareDevelopmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SoftwareDevelopmentMember", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software", "label": "Software Development [Member]", "documentation": "Internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net income", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r132", "r146", "r148", "r159", "r166", "r170", "r178", "r179", "r197", "r209", "r213", "r215", "r226", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r353", "r356", "r357", "r368", "r375", "r409", "r422", "r445", "r481", "r498", "r499", "r537", "r557", "r558", "r571", "r659", "r686" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other long-term liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r27" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r616" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r75" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHARE" ], "lang": { "en-us": { "role": { "terseLabel": "EARNINGS PER SHARE", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r181", "r192", "r193", "r194" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r643" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r616" ] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable", "label": "Accounts Receivable [Policy Text Block]", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r118", "r119", "r120", "r222", "r223", "r225" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r8" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r616" ] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total comprehensive income", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r32", "r147", "r149", "r154", "r407", "r424" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r643" ] }, "us-gaap_RevenueFromContractWithCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerMember", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contract with Customer Benchmark", "label": "Revenue from Contract with Customer Benchmark [Member]", "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": [ "r219", "r651" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r616" ] }, "xpel_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndAccruedLiabilities", "crdr": "credit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accounts payable and accrued liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Accounts Payable And Accrued Liabilities", "documentation": "Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Accounts Payable And Accrued Liabilities" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONS" ], "lang": { "en-us": { "role": { "terseLabel": "BUSINESS ACQUISITIONS", "label": "Business Combination Disclosure [Text Block]", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r106", "r350" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable and accrued liabilities", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid." } } }, "auth_ref": [ "r8" ] }, "xpel_DebtInstrumentNumberOfCovenants": { "xbrltype": "integerItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "DebtInstrumentNumberOfCovenants", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of covenants", "label": "Debt Instrument, Number Of Covenants", "documentation": "Debt Instrument, Number Of Covenants" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accounts receivable", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r8" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sale of property and equipment", "label": "Proceeds from Sale of Property, Plant, and 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": [ "r91" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r617" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving Credit Facility", "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r644" ] }, "xpel_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFixedAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFixedAssets", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fixed assets", "label": "Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Fixed Assets", "documentation": "Business Combination, Recognized Identifiable Assets Acquired And Liabilities Assumed, Fixed Assets" } } }, "auth_ref": [] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r643" ] }, "xpel_ServiceRevenueCutbankCreditsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ServiceRevenueCutbankCreditsMember", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cutbank credits", "label": "Service Revenue, Cutbank Credits [Member]", "documentation": "Service, Cutbank Credits [Member]" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax payable", "label": "Accrued Income Taxes, Current", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r73", "r112" ] }, "xpel_ServiceRevenueSoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ServiceRevenueSoftwareMember", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software", "label": "Service Revenue, Software [Member]", "documentation": "Service, Software [Member]" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Axis]", "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r40", "r42", "r65", "r66", "r219", "r513", "r652" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r619" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r645" ] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer equipment", "label": "Computer Equipment [Member]", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Domain]", "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r40", "r42", "r65", "r66", "r219", "r513" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r618" ] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r622" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r644" ] }, "xpel_ProductRevenueOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ProductRevenueOtherMember", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Product Revenue, Other [Member]", "documentation": "Product, Other [Member]" } } }, "auth_ref": [] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r620" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r621" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing", "label": "Selling and Marketing Expense", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Axis]", "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r40", "r42", "r65", "r66", "r219", "r440", "r513" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r621" ] }, "xpel_AcquisitionHoldbackPaymentsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "AcquisitionHoldbackPaymentsCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisition holdback payments", "label": "Acquisition Holdback Payments, Current", "documentation": "Acquisition Holdback Payments, Current" } } }, "auth_ref": [] }, "xpel_DebtInstrumentCovenantLeverageRatioMinimum": { "xbrltype": "pureItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "DebtInstrumentCovenantLeverageRatioMinimum", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Covenant, interest coverage ratio, minimum", "label": "Debt Instrument, Covenant, Leverage Ratio, Minimum", "documentation": "Debt Instrument, Covenant, Leverage Ratio, Minimum" } } }, "auth_ref": [] }, "xpel_EarningsLossPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "EarningsLossPerShareAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share", "label": "Earnings (Loss) Per Share [Abstract]", "documentation": "Earnings (Loss) Per Share" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "us-gaap_EscrowDeposit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EscrowDeposit", "crdr": "debit", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSNarrativeDetails", "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Escrow deposit", "label": "Escrow Deposit", "documentation": "The designation of funds furnished by a borrower to a lender to assure future payments of the borrower's real estate taxes and insurance obligations with respect to a mortgaged property. Escrow deposits may be made for a variety of other purposes such as earnest money and contingent payments. This element excludes replacement reserves which are an escrow separately provided for within the US GAAP taxonomy." } } }, "auth_ref": [ "r69", "r515" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r646" ] }, "xpel_ServiceRevenueOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ServiceRevenueOtherMember", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Training and other", "label": "Service Revenue, Other [Member]", "documentation": "Service Revenue, Other" } } }, "auth_ref": [] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r577", "r647" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r634" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator", "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement." } } }, "auth_ref": [] }, "xpel_LargestCustomerMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "LargestCustomerMember", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Largest Customers", "label": "Largest Customer [Member]", "documentation": "Largest Customer [Member]" } } }, "auth_ref": [] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r577", "r647" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Fair Value, Liabilities Measured on Recurring Basis", "label": "Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3). Where the quoted price in an active market for the identical liability is not available, the Level 1 input is the quoted price of an identical liability when traded as an asset." } } }, "auth_ref": [ "r64", "r110" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r623" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r637" ] }, "us-gaap_ProductWarrantyAccrualPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualPayments", "crdr": "debit", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty." } } }, "auth_ref": [ "r252" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]", "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 3.0 }, "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "periodStartLabel": "Goodwill beginning balance", "periodEndLabel": "Goodwill ending balance", "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r138", "r233", "r406", "r540", "r559", "r671", "r678" ] }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue recognition", "label": "Revenue from Contract with Customer [Policy Text Block]", "documentation": "Disclosure of accounting policy for revenue from contract with customer." } } }, "auth_ref": [ "r130", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r527" ] }, "srt_EuropeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "EuropeMember", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Continental Europe", "label": "Europe [Member]" } } }, "auth_ref": [ "r709", "r710", "r711", "r712" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r585", "r596", "r606", "r631" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Denominator", "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]" } } }, "auth_ref": [] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r623" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r634" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r85", "r115", "r197", "r209", "r213", "r215", "r409", "r421", "r537" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r610" ] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.xpel.com/role/SUBSEQUENTEVENTS" ], "lang": { "en-us": { "role": { "terseLabel": "SUBSEQUENT EVENTS", "label": "Subsequent Events [Text Block]", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r395", "r397" ] }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementPolicyPolicyTextBlock", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements", "label": "Fair Value Measurement, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r8" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r623" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r656" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Debt Disclosure [Abstract]", "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event [Line Items]", "label": "Subsequent Event [Line Items]", "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event." } } }, "auth_ref": [ "r390", "r396" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r623" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "terseLabel": "Fair Value Disclosures [Abstract]", "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r588", "r596", "r606", "r623", "r631", "r635", "r643" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTable", "presentation": [ "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event [Table]", "label": "Subsequent Event [Table]", "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued." } } }, "auth_ref": [ "r390", "r396" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r588", "r596", "r606", "r623", "r631", "r635", "r643" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Axis]", "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r390", "r396" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails", "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Axis]", "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r55", "r57", "r349", "r554", "r555" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r583", "r594", "r604", "r629" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total property and equipment", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r102", "r136", "r420" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r641" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental cash flow information", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails", "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition, Acquiree [Domain]", "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r349", "r554", "r555" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Abstract]", "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Inventory Disclosure [Abstract]", "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r635" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r10", "r410", "r420", "r559" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Inventory, net", "label": "Increase (Decrease) in Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r8" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent Event Type [Domain]", "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r390", "r396" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r638" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities." } } }, "auth_ref": [ "r55", "r57", "r349" ] }, "srt_LatinAmericaMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "LatinAmericaMember", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Latin America", "label": "Latin America [Member]" } } }, "auth_ref": [ "r709", "r710", "r711", "r712" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Line Items]", "label": "Business Acquisition [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r349" ] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Pro Forma Information", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate." } } }, "auth_ref": [ "r653", "r654" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r582", "r593", "r603", "r628" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r639" ] }, "srt_AsiaPacificMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "AsiaPacificMember", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asia Pacific", "label": "Asia Pacific [Member]" } } }, "auth_ref": [ "r709", "r710", "r711", "r712" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r586", "r597", "r607", "r632" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r640" ] }, "us-gaap_ProductMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductMember", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product Revenue", "label": "Product [Member]", "documentation": "Article or substance produced by nature, labor or machinery." } } }, "auth_ref": [ "r544" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Bad debt expense", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r156", "r230" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r641" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r271", "r303", "r304", "r305", "r306", "r307", "r308", "r371", "r398", "r399", "r400", "r541", "r542", "r551", "r552", "r553" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r584", "r595", "r605", "r630" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r370", "r371", "r372", "r373", "r374" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r587", "r598", "r608", "r633" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r641" ] }, "us-gaap_ProceedsFromRepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromRepaymentsOfLinesOfCredit", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Net (repayments of) borrowings on revolving credit agreement", "label": "Proceeds from (Repayments of) Lines of Credit", "documentation": "The net cash inflow or cash outflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with either short term or long term maturity that is collateralized (backed by pledge, mortgage or other lien in the entity's assets)." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent Liabilities", "label": "Business Combination, Contingent Consideration, Liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r4", "r63", "r352" ] }, "us-gaap_VehiclesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VehiclesMember", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vehicles", "label": "Vehicles [Member]", "documentation": "Equipment used primarily for road transportation." } } }, "auth_ref": [] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r586", "r597", "r607", "r632" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r574" ] }, "xpel_OtherGeographicRegionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "OtherGeographicRegionMember", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Geographic Region [Member]", "documentation": "Other Geographic Region [Member]" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "xpel_ProductRevenueWindowFilmMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ProductRevenueWindowFilmMember", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Window film", "label": "Product Revenue, Window Film [Member]", "documentation": "Product, Window Film [Member]" } } }, "auth_ref": [] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r634" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock shares issued (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r75" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHARETables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r667" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "xpel_EarningsPerShareBasicAndDilutedOtherDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "EarningsPerShareBasicAndDilutedOtherDisclosureAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Number of Common Shares", "label": "Earnings Per Share, Basic and Diluted, Other Disclosure [Abstract]", "documentation": "Earnings Per Share, Basic and Diluted, Other Disclosure" } } }, "auth_ref": [] }, "xpel_DebtInstrumentCovenantInterestCoverageRatioMaximum": { "xbrltype": "pureItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "DebtInstrumentCovenantInterestCoverageRatioMaximum", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Covenant, leverage ratio, maximum", "label": "Debt Instrument, Covenant, Interest Coverage Ratio, Maximum", "documentation": "Debt Instrument, Covenant, Interest Coverage Ratio, Maximum" } } }, "auth_ref": [] }, "xpel_SecuredOvernightFinancingRateSOFRMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "SecuredOvernightFinancingRateSOFRMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "SOFR", "label": "Secured Overnight Financing Rate (SOFR) [Member]", "documentation": "Secured Overnight Financing Rate (SOFR)" } } }, "auth_ref": [] }, "xpel_ProtectiveSolutionsIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ProtectiveSolutionsIncMember", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails", "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Protective Solutions, Inc.", "label": "Protective Solutions, Inc. [Member]", "documentation": "Protective Solutions, Inc." } } }, "auth_ref": [] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.001 par value; 100,000,000 shares authorized; 27,628,953 and 27,616,064 issued and outstanding, respectively", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r75", "r415", "r559" ] }, "xpel_ServiceRevenueInstallationLaborMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ServiceRevenueInstallationLaborMember", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Installation labor", "label": "Service Revenue, Installation Labor [Member]", "documentation": "Service, Installation Labor [Member]" } } }, "auth_ref": [] }, "xpel_AutomotiveOEMPaintProtectionFilmMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "AutomotiveOEMPaintProtectionFilmMember", "presentation": [ "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Automotive OEM Paint Protection Film", "label": "Automotive OEM Paint Protection Film [Member]", "documentation": "Automotive OEM Paint Protection Film" } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r75", "r461" ] }, "xpel_ContractWithCustomerLiabilityIncreaseFromCashReceipts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ContractWithCustomerLiabilityIncreaseFromCashReceipts", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payments received for which performance obligations have not been satisfied", "label": "Contract With Customer, Liability, Increase From Cash Receipts", "documentation": "Contract With Customer, Liability, Increase From Cash Receipts" } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock shares outstanding (in shares)", "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r14", "r75", "r461", "r479", "r707", "r708" ] }, "xpel_HSBCBankCanadaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "HSBCBankCanadaMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "HSBC Bank Canada", "label": "HSBC Bank Canada [Member]", "documentation": "HSBC Bank Canada [Member]" } } }, "auth_ref": [] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_OtherIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherIntangibleAssetsMember", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Intangible Assets [Member]", "documentation": "Intangible assets classified as other." } } }, "auth_ref": [] }, "srt_ScenarioForecastMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioForecastMember", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forecast", "label": "Forecast [Member]" } } }, "auth_ref": [ "r310", "r666" ] }, "xpel_ContractWithCustomerLiabilityForeignCurrencyTranslation": { "xbrltype": "monetaryItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ContractWithCustomerLiabilityForeignCurrencyTranslation", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Effect of foreign currency translation", "label": "Contract with Customer, Liability, Foreign Currency Translation", "documentation": "Contract with Customer, Liability, Foreign Currency Translation" } } }, "auth_ref": [] }, "us-gaap_MovementInDeferredRevenueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MovementInDeferredRevenueRollForward", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Movement in Deferred Revenue [Roll Forward]", "label": "Movement in Deferred Revenue [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "xpel_ProductRevenuePaintProtectionFilmMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ProductRevenuePaintProtectionFilmMember", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Paint protection film", "label": "Product Revenue, Paint Protection Film [Member]", "documentation": "Product, Paint Protection Film [Member]" } } }, "auth_ref": [] }, "xpel_MiddleEastAfricaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "MiddleEastAfricaMember", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Middle East/Africa", "label": "Middle East, Africa [Member]", "documentation": "Middle East, Africa [Member]" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cover page.", "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r562", "r563", "r564", "r566", "r567", "r568", "r569", "r663", "r664", "r691", "r704", "r707" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "xpel_RichardCrumlyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "RichardCrumlyMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Richard Crumly [Member]", "documentation": "Richard Crumly" } } }, "auth_ref": [] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Construction in Progress", "label": "Construction in Progress [Member]", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r217", "r218", "r448", "r449", "r450", "r504", "r506", "r509", "r511", "r512", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r529", "r545", "r564", "r690", "r702" ] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementScenarioAxis", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scenario [Axis]", "label": "Scenario [Axis]" } } }, "auth_ref": [ "r180", "r310", "r649", "r650", "r666" ] }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MovementInStandardProductWarrantyAccrualRollForward", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]", "label": "Movement in Standard Product Warranty Accrual [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use lease assets", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r392" ] }, "us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax receivable and payable", "label": "Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable", "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes." } } }, "auth_ref": [ "r660" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scenario [Domain]", "label": "Scenario [Domain]" } } }, "auth_ref": [ "r180", "r310", "r649", "r666" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring", "label": "Fair Value, Recurring [Member]", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r369", "r374" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r573" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r271", "r303", "r304", "r305", "r306", "r307", "r308", "r398", "r399", "r400", "r541", "r542", "r551", "r552", "r553" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Axis]", "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r26" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Net change in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r5", "r93" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNET" ], "lang": { "en-us": { "role": { "terseLabel": "INTANGIBLE ASSETS, NET", "label": "Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r238" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "verboseLabel": "Weighted average diluted shares (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r183", "r191" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign exchange impact on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r383" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r133", "r145", "r166", "r226", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r354", "r358", "r375", "r559", "r686", "r687", "r693" ] }, "us-gaap_NumberOfBusinessesAcquired": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfBusinessesAcquired", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSNarrativeDetails", "http://www.xpel.com/role/GOODWILLNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of businesses acquired", "label": "Number of Businesses Acquired", "documentation": "The number of businesses acquired by the entity during the period." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r102" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNET" ], "lang": { "en-us": { "role": { "terseLabel": "PROPERTY AND EQUIPMENT, NET", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r101", "r124", "r127", "r128" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r217", "r218", "r448", "r449", "r450", "r504", "r506", "r509", "r511", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r529", "r545", "r564", "r690", "r702" ] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Gain on sale of property and equipment, net", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r9" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Purchase of property, plant and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r92" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average basic shares (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r182", "r191" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r575" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.xpel.com/role/INVENTORIESDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale." } } }, "auth_ref": [ "r98", "r532" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r581", "r592", "r602", "r627" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.xpel.com/role/INVENTORIESDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work in process", "label": "Inventory, Work in Process, Net of Reserves", "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing." } } }, "auth_ref": [ "r98", "r533" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "xpel_ComputerEquipmentPlotterMember": { "xbrltype": "domainItemType", "nsuri": "http://www.xpel.com/20230930", "localname": "ComputerEquipmentPlotterMember", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plotters", "label": "Computer Equipment, Plotter [Member]", "documentation": "Computer Equipment, Plotter [Member]" } } }, "auth_ref": [] }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInContractWithCustomerLiabilityAbstract", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in Contract with Customer, Liability [Abstract]", "label": "Change in Contract with Customer, Liability [Abstract]" } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]" } } }, "auth_ref": [ "r219", "r546", "r690", "r702", "r703" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Revenue recognized related to payments", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r300" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.xpel.com/role/INVENTORIESDetails": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/INVENTORIESDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Net of Reserves", "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process." } } }, "auth_ref": [ "r98", "r534" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock Option", "label": "Employee Stock Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r576" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r89", "r483" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r167", "r168", "r169", "r196", "r403", "r443", "r447", "r453", "r454", "r455", "r456", "r457", "r458", "r461", "r464", "r465", "r466", "r467", "r468", "r469", "r470", "r471", "r472", "r474", "r475", "r476", "r477", "r478", "r480", "r482", "r483", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r500", "r565" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r609" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r581", "r592", "r602", "r627" ] }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Product Warranty Liability", "label": "Schedule of Product Warranty Liability [Table Text Block]", "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability." } } }, "auth_ref": [ "r250" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income", "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accounts Payable and Accrued Liabilities", "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Preliminary Purchase Price Allocation Acquisition", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r107" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.xpel.com/role/REVENUE" ], "lang": { "en-us": { "role": { "terseLabel": "REVENUE", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r130", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r301" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Domain]", "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r40", "r42", "r65", "r66", "r219", "r513" ] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.xpel.com/role/INVENTORIESTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventory", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r18", "r81", "r82", "r83" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r648" ] }, "us-gaap_NotesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NotesPayableCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of notes payable", "label": "Notes Payable, Current", "documentation": "Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer." } } }, "auth_ref": [ "r22" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies (Note 11)", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r28", "r71", "r413", "r460" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESSegmentReportingDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of operating segments", "label": "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": [ "r668" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r579", "r590", "r600", "r625" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax expense", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r121", "r129", "r178", "r179", "r201", "r343", "r346", "r426" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "Subsequent Events [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r77", "r105", "r417", "r437", "r439", "r444", "r462", "r559" ] }, "us-gaap_FairValueOptionQuantitativeDisclosuresTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueOptionQuantitativeDisclosuresTable", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Option, Disclosures [Table]", "label": "Fair Value Option, Disclosures [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value under fair value option." } } }, "auth_ref": [ "r376", "r377", "r378" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r580", "r591", "r601", "r626" ] }, "us-gaap_FairValueOptionQuantitativeDisclosuresLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueOptionQuantitativeDisclosuresLineItems", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Option, Quantitative Disclosures [Line Items]", "label": "Fair Value, Option, Quantitative Disclosures [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": [ "r376", "r377", "r378" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Foreign currency exchange loss", "label": "Gain (Loss), Foreign Currency Transaction, before Tax", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r379", "r380", "r381", "r382", "r497" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r167", "r168", "r169", "r196", "r403", "r443", "r447", "r453", "r454", "r455", "r456", "r457", "r458", "r461", "r464", "r465", "r466", "r467", "r468", "r469", "r470", "r471", "r472", "r474", "r475", "r476", "r477", "r478", "r480", "r482", "r483", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r500", "r565" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LongTermLineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermLineOfCredit", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Borrowings on line of credit", "label": "Long-Term Line of Credit, Noncurrent", "documentation": "The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r26", "r52", "r53" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r615" ] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Line Items]", "label": "Line of Credit Facility [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": [ "r661" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r614" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Table]", "label": "Line of Credit Facility [Table]", "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to 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." } } }, "auth_ref": [ "r21", "r661" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r613" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofBusinessCombinationsCompletebyYearEndDetailsDetails", "http://www.xpel.com/role/SUBSEQUENTEVENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase Price", "label": "Business Combination, Consideration Transferred", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r2", "r3", "r11" ] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amount outstanding", "label": "Long-Term Line of Credit", "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", "r113", "r701" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Gross Margin", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r87", "r166", "r197", "r209", "r213", "r215", "r226", "r255", "r256", "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r375", "r537", "r686" ] }, "country_CA": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "CA", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Canada", "label": "CANADA" } } }, "auth_ref": [] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r612" ] }, "us-gaap_LineOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit", "label": "Line of Credit [Member]", "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars." } } }, "auth_ref": [] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-compete", "label": "Noncompete Agreements [Member]", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r61" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r612" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation of property, plant and equipment", "verboseLabel": "Depreciation expense", "label": "Depreciation", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r9", "r50" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r613" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.xpel.com/role/COMMITMENTSANDCONTINGENCIES" ], "lang": { "en-us": { "role": { "terseLabel": "COMMITMENTS AND CONTINGENCIES", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r103", "r243", "r244", "r514", "r682" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Award Types", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "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", "r337" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r59" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.001 par value; authorized 10,000,000; none issued and outstanding", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r74", "r414", "r559" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r59" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Inputs, Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r271", "r303", "r304", "r305", "r306", "r307", "r308", "r371", "r400", "r541", "r542", "r551", "r552", "r553" ] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r614" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "crdr": "debit", "calculation": { "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid and other assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other 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, acquired at the acquisition date." } } }, "auth_ref": [ "r59" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/BUSINESSACQUISITIONSScheduleofAcquisitionPurchasePriceDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash", "label": "Payments to Acquire Businesses, Gross", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r33", "r351" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for interest", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r158", "r161", "r162" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r614" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounts Payable and Accrued Liabilities [Abstract]", "label": "Accounts Payable and Accrued Liabilities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r75", "r78", "r79", "r97", "r463", "r479", "r501", "r502", "r559", "r572", "r662", "r669", "r692", "r707" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]" } } }, "auth_ref": [ "r219", "r546", "r690", "r702", "r703" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r614" ] }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental schedule of non-cash activities", "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]" } } }, "auth_ref": [] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r636" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BaseRateMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Base Rate", "label": "Base Rate [Member]", "documentation": "Minimum rate investor will accept." } } }, "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": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r615" ] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Domain]", "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAndAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails", "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable and accrued liabilities", "totalLabel": "Accounts payable and accrued liabilities", "label": "Accounts Payable and Accrued Liabilities, Current", "documentation": "Sum of the carrying values as of the balance sheet date of obligations incurred through that date and due within one year (or the operating cycle, if longer), including liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received, taxes, interest, rent and utilities, accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r22" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Axis]", "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r635" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES" ], "lang": { "en-us": { "role": { "terseLabel": "SIGNIFICANT ACCOUNTING POLICIES", "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r96", "r164" ] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r615" ] }, "us-gaap_PrimeRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrimeRateMember", "presentation": [ "http://www.xpel.com/role/DEBTDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prime Rate", "label": "Prime Rate [Member]", "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers." } } }, "auth_ref": [] }, "us-gaap_CapitalLeaseObligationsIncurred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalLeaseObligationsIncurred", "crdr": "credit", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash lease financing", "label": "Lease Obligation Incurred", "documentation": "Amount of increase in lease obligation from new lease." } } }, "auth_ref": [ "r37", "r38" ] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableTradeCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableTradeCurrent", "crdr": "credit", "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trade payables", "label": "Accounts Payable, Trade, Current", "documentation": "Carrying value as of the balance sheet date of obligations 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", "r19" ] } } } }, "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": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "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": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "a", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "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": "45", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "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(a))", "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.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "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.19,20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "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.20)", "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.21)", "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.22)", "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.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r31": { "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" }, "r32": { "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" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "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": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r37": { "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" }, "r38": { "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" }, "r39": { "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" }, "r40": { "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" }, "r41": { "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" }, "r42": { "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" }, "r43": { "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" }, "r44": { "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" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "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" }, "r50": { "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" }, "r51": { "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" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-13" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-14" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r60": { "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" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r62": { "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" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r65": { "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" }, "r66": { "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" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r69": { "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" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.15(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r74": { "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" }, "r75": { "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" }, "r76": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "r80": { "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" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r84": { "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" }, "r85": { "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" }, "r86": { "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" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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" }, "r90": { "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" }, "r91": { "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" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r97": { "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" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.BB)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2" }, "r99": { "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" }, "r100": { "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" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r102": { "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" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r105": { "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" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//810/tableOfContent" }, "r109": { "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" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r111": { "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" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r118": { "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" }, "r119": { "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-29" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-20/tableOfContent" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-30/tableOfContent" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r272": { "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" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1F", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r301": { "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" }, "r302": { "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" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r309": { "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" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r371": { "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" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r375": { "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" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-30" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-31" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-32" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-1" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480424/946-10-50-2" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r505": { "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" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r507": { "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" }, "r508": { "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" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r510": { "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" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r513": { "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" }, "r514": { "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" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r530": { "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" }, "r531": { "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" }, "r532": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r533": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482785/280-10-55-47" }, "r539": { "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" }, "r540": { "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" }, "r541": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r542": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r543": { "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" }, "r544": { "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" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r553": { "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" }, "r554": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r555": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r574": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r575": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r577": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r578": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r579": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r580": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r581": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r582": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r583": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r584": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r585": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r586": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r587": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r588": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r589": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r590": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r591": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r592": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r593": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r594": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r595": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r596": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r597": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r598": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r599": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r600": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r601": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r602": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r603": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r604": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r605": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r606": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r607": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r608": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r609": { "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" }, "r610": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r611": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r612": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r613": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r614": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r615": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r616": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r617": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r618": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r619": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r620": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r621": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r622": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r623": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r624": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r625": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "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" }, "r631": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r632": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r633": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r634": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r635": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r640": { "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" }, "r641": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r642": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r643": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r644": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r645": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r646": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r647": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r648": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r649": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10" }, "r650": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3" }, "r651": { "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" }, "r652": { "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" }, "r653": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r654": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r655": { "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" }, "r656": { "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" }, "r657": { "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" }, "r658": { "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" }, "r659": { "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" }, "r660": { "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" }, "r661": { "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" }, "r662": { "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" }, "r663": { "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" }, "r664": { "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" }, "r665": { "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" }, "r666": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "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" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "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" }, "r678": { "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" }, "r679": { "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" }, "r680": { "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" }, "r681": { "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" }, "r682": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r683": { "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" }, "r684": { "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" }, "r685": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "460", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r690": { "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" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "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" }, "r696": { "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" }, "r697": { "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" }, "r698": { "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" }, "r699": { "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" }, "r700": { "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" }, "r701": { "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" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r706": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r707": { "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" }, "r708": { "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" }, "r709": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r710": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 77 0001767258-23-000067-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001767258-23-000067-xbrl.zip M4$L#!!0 ( +9":%>A?F9OR < *$F 7 83(P,C-Q,V5X:&EB:71N M;S,Q,2YH=&WM6N]/(S<3_MZ_PN7T7D%*PFY"#@@<$D=S:J034"Y5[_WTREG/ M$HM=>VM[$]*_OC/VYA=)>J&EO2"]? !V/6.//8^?F?'Z?.CR[.)\"%Q'X?G\T ]R/M!B]7Q4]H+JM/F1&?:=-Y$_N>,6NHISV4V MZ?S0ESE8=@UC=J=SKGZH6:YLW8*1:1"T\G?HG*)U_FD<+#[&;C*I8#J#N$DV M=[_\U/O0Z[-6W(B7#9Y-YA^SZ&BM16_?Q.^BLQ5;UBQ;@GX&\VW6[:I[U^]] M[%U=]GLWU^SVE[O/OUQ>]UG_AGWN7OEWK:BY?WG ;CZR_D]=]OGR[L/E=?=S M_>;+I^Y_V>55GUJ:4=3OQNXF7+%/#7;+"ZBQ!(R3Z82Y(7=O MW[1/-LUAE];S7[;E1R14OS3!J&L]@GP AIW4/(W^!:>O;YM.J^!"('G7,TA= MI_4.;?2;5BJ!&[93CT^*%R>[.-IJ)>+&U.A_W0UG2ZL21XTVK4*/#?D(F(&1 MA#%&/3>4EOU<EQQF(>V07[P\3O" T6J TIB@X I>*<35AI7*F M!)P [C&?OZ![.,OQR4B>L90G^,HPG4O'G YR*P(*$K"6FPF)Y/P!<-R%/BV^ M$V@,#IGYY ?'((%$&DQV4$RA.EHB<$^/AS(9,EO2K[G^& Q4G= $VRDH#=Q+ZPS'@3B]#':CE;4%;-FI M,2O6OE9X'>T:O/I+OGC[YJ09'Y_9"D!5TD0$H--4XJ/W4H]Q QX/Z%\YR(#\ MQ@!!.,BD'9(XB>5(?D2 ]"RD33)M2]0C6C0Z"\ HC$Y X&O+]A$' A!8P=G= MQV3(U3VP2V2GKR.G M1I$SX:7=7H5"V #8;*00%'5IL .DGI&TGM!0"I3OA\J&.14NTJF!C'M855%Q M#HU:1;74*)$6T1:K,RG\N84M!U8*R8VD"<@0NSW!*^JIM!1/_2ZT/OAZ^M,6 MT""'=$M*!:9_,BDS3JR-T_)&S.,R:H0HOYB_V/+8UAA'W(RD(FMQJQ8FPN4584T)(>.5&3+&#:)9\(#/I M)A2IUPU+.\G#S",H;((ET86$TL>%QVI"16D*1+#UF462:".\ 3ZUO >%"4.& M0,86*&B'D BFS0&LN)-D@=3\6N&:[ QG;1Z>J(BT:$-R.-"EVVS!-N3/9]) F6_Z]=J$#:8YM=]QU4J@ M/1Y=-, K1)C8&81-"3'X;A4#5 ]7*9=O60NT9] @A6:=)*4A3R_$P36]YMHZ M?$\GPMB73;"CW\(I"MO?H)(B9)&@GDA7AF-= [Z4IRI?E3.[#H)50VYG20-1 MFXTE>B:L=ZI@:N\:K/]:P>2/[V8[HC9G M("+$153.R8AP]8PT8B7]G)G&,05UVMA9Y/8OL,L\E\X!_ G=#S3F!M0N)-KG M.]E'["*[6F)O_$N)\'3#P6^E1//]YBI5XLO_@__712\5L>DTAG(]B<"BRI-J MV$0"(J&*NK/Z9 S\@<)HR+5\(/59HC]BG)[,/ M?52D1ZOXUK,4%*EJ8D=9& M+%:Y):H@H# %K(58;C&0VS+/L1[Z'?QDJF"Q]@SK-[S2 M&>+^7JKZ0#NG\PY=&!A1),&,HQK$CQ>:J[L$IU'CM-6FZP0.[71B.G!UTZ#A M;QH<.K':=G32.(TV-T>->&/;"W5[Z$T.9N/"V(*K]WNMO2?.) 4 M?<<^PEWL?R]]>/_F7[:]EW;/HELL727%(A_KKH824M9]A*2D"IC=A-QQ-TS= MOPVG+TC"*Q8>/+F\--OU:;7/;-A+^?K\"Y\RE]HPD MDY)56[+C&<=UIIKIV*FMMKE/-R"QE# F"18 I:B_OKL ]69)B=QS+_3,Y8,C M$@M@L?O@V5V %V.;I9<78^#B\A\7_VPVV0\J+C/(+8LU< N"E4;F(_:; //( MFLU*ZEH5,RU'8\O:0;O#?E/Z44ZX;[?2IG Y'^?BV#]?'+M)+B(E9I<70DZ8 M%.\.9!3V FB+7B?I]DZX.(FBF/=Z9V%\VNL$I]#^3WB 75'<]S%VEL*[@TSF MS3'0_/V3=NNT6]CSJ11VW ^#X%\'3O3R(E&YQ?DT]O<__3 ;@UGX;)L\E:.\ M[Y9TX+O.FV.5*MU_$[A_Y]323'@FTUG_NZ',P+!;F+)[E?'\NX;AN6D:T#+Q M@D;^ ?T>:N>>IE[C4QPFE3G,5Q"V2>>;3S\.W@^&K!.VVNL*+Q;SMVETLE6C MMV_"[X/S#5VVF"U&/X/^-G:[OKD?#CX,KJ^&@[M;]O&7^X=?KFZ';'C''FZN MW;M.T#Z\.F)W']CPQQOV<'7__NKVYJ%Y]^FGFW^SJ^LAM;2#8-/J7UOI%G#5 MS%??1)=!@[WG6L_8?0N)08D&BT%;FB-3+H#\A]3E5OV5LU M@2P"SH3D%"EK5=8_*^P7L3+O57 AD&6;*22VW_D>-728D[E MO/6;X7*<%S-#&.QEA[ U5_I_[H3S-:N$0:M+5ABP,9\ TS"1,,7P9,?2L)]+ MKG%?IH@Y*)2V3.7L@](9"X/FSTPE[-/'FY\:;)#'+71J;S>IU=<1[;HYXCTW M:'XT=#9CC[F:IB!&T/#^T-X+0J$&N<)< F?@,F<\G[$RM[H$7 #N,)=HH'LX MR_!)2YZRA,?X2C.52 < M)!!+C5D)BN78'341N*.G8QF/F2GIS[+_%#14@] ",FE23%\H$YI*.\8%F@)B MIR"-6Z!J2N R)]A-L&BV:H;7BKC.JT$8+$ MP*W$<60>IZ7 ,1$G*PYK(,8DD4F!;B:$$G+3= G!ROOFR=2(F 46L4@\+5AAX@# 0@L[^R;S_&8YR-@5\@X M]V6*$F&'-\/N(1RYKF%7^"?_*"E'S3T@:7Q&M+2"4X\;TF7OB9*UB1*XJW%9'=DQHADM<&D6$K."4S8-&-50PJJ+B$AJ-BFJI42(M MHBY&I5*X P931D8*R;6D!4@?NQW!YS12:2B>NEUH7/!U]*<,H$(6Z98Z%9C^ MR;A,.;$V+LLIL8S+V,-'^=7D!']%0()(K-@?Q#.(M%:PC6H#VXI(UU&[-QMM M@'=_'ML;PXC[B10$36Y4SHFPN4%84T)(>.5:S+&#:)8\DJFT,XK4VZ:EG>1@ MYA#D-\&:Z$I"Z>+"YVI!1:D+1+!QF44<*RV< BZU'$&."4.*0,86*&B'D BF MS1ZLN)-D@=3\6N$:UP:NFW"HGE.[79<90G4QZ&+)GB%"!.U M0=B<$+WO-C% ]7"5KZ)_*-_]I$SX1UK0JF;MU@_=<*)G=\M]@1C24#$2&NHG))1H2K M9Z01&^GG0C6.*:A5VBPBMWN!0V:9M!;@"W0?*;J\QC5_X?_;\N>JF(3:W$8I5;8A<$%*: M#1_+#09R4V89UD-_@%M,%2RVGF&]YCA=N\*%PG&BD1,:Z&1P-(8P<>>_%9X: M/IK)?*+2"5!(R_FH.L;6%?-!5J1J!M@Z'2M/=WP-K8BN%XGWK?U\'NY["[7M MGM.Z&JD2B!"EH)OHH907!OKS'^=(YT7*9WV9.T.[3N?K5V%T1S^AF("Y0S6) MF\\W5]?WO:#5ZW3I!M^BGE;,)ZXN]UON/-\G=?J6]LC6#M[I.QG?>> ME35><*'?X*875^O5$T3 CD_[[NR I.A2_03WH_N[?J-=D]MVYZPUQ>JAT@/D M$MGP5TSZV$'1DV^(%AO^ MV''=L[YD^#()/_FLJ5#&72GU_>'J!#8^=%J2L^/98-F%1T:EI=WL\I5OHZJ_ M_DNM8_>%V)]02P,$% @ MD)H5XJ3:OB+! MA0 !< !A,C R,W$S M97AH:6)I=&YO,S(Q+FAT;>U8;4\;.1#^?K]B+NAHD)*PNTD@;R#1-*B1$*%) M4+E/)V?72WQX[:WM!=)??V-O-FD)[15=@>C4?(AV=SSCQS/SC#WNS4W"CWMS M2J+CWWJ_5ZOP3H990H6!4%%B: 299N(:/D94WT"UNAS5E^E"L>NY@< +ZO!1 MJAMV2W*Y88;3X\).;S]_[^V[27HS&2V.>Q&[!18=E5C4F@41\6B=SL)&ZZ#= MJOOT()[Y7M!JAA&9_>674!6'YSK:+#@]*B5,5.?4SM]I!+7#9FJZ=RPR\X[O M>7^4W-#C7BR%P?D4ZN>/N9D-8X;>FRKA[%ITW))*N6HA#B67JK/CN5_72JHQ M21A?=-Y,64(UG-,[&,N$B#<5382N:JI8G _4[#-%3 C/O=[ED _1#F>"%DOP M PMZ7)Z<3V$ZVGKD?@LN:Y-:OP9^O>EM/=SR9-!W/FY[!S ZA>G[ M 4Q.QF]/S@>3ZNCJ;/ GG/2G5A)X7K"W1>OYK_G]=Z8-BQ==]XF)"%%WZ@?I M\U>1QX$/*S!>$ %G-;@@*:W A:*:651 1 3].:,Q#.YIF!EV2V$4QRRD"F0, M5Q>#LPH,15B#LIE3V-UI!<':!R^_F-RE$0VE(H9)T[I@L MQ$@!OLZH;3'C3 FFYQAG+3GEZXJ*VVHJ-75!>7R?=(%$0T*:PAC#G1*(AI0H M4T2SJ.+*"@AHBD(+(6(ZY%)G"A^7;>L/17QU1#5DQFDQ8"85%M J.I235--. M\=#%:5).%ATFG%N<4C6N>$A"\G_;8J_F?U/VD\SN.\@Y;'2,1G8=E>JE M0B$E483AZP3I/?CHBR^YGM[*]_:5\FS M=,=/7.GJ:N-EE_N]4\+N3N.PJ]W_5\W'!H5>)TY;".F'FK('UU8K]NR[PO&4 M&O_(+=CW;LB^,/G@D@W+L-LX.XIR8K%N7+NMBZ"K9]Y:A,7BO"C00 (<3 7 83(P,C-Q M,V5X:&EB:71N;S,R,BYH=&WM6&U/(S<0_MY?,0TJ1Z0D[&X2"$E XG)!%^D$ M' F%?JJX>.T]VPOD?GW'WFR@)-<6]7A1=?D0[>YX9IYYM<%C[%RP_4K*97W&G/YN*VKLMC/;N^74SKIA$/Q2 M\4L/^HF2%O5IY"\>"S$KPBR[LW4B^)7L>I,J!6M)CI50NKL1^%_/4>H)2;F8 M=]]->,H,'+-;.%,ID>]JADA3-TSSI%AH^%>&F!">?[TM(.^B',$E*TT((P=Z M>/EQ]'XT@6;4B/Z*>#W6&)W+]+.#;:T%N[D1[@2]-P1SO4\'P[/)Z&@T.)R, M3H[A]/QL?'YX/(')R9M''G;@O#%N#!H0-MO!FX>[-1X.O(_W@ATX.8+)QR&, M#\_>'QX/Q_63RT_#W^!P,'&4* BBZANRY[_F]Q^YL3R9]_PG+BFB[C9WLN?O M(NN!CVKPGF@]A[/&A5*T!F,FN=+P*X\9G&IFN$,(1%(8S#A+X(A+(F-.!)PD M"2[2H!*X/!U^JL%(Q@W8LC,&FQN=* IZ Y5F1,[]6]BKU@"7.^-KD.7:Y 0% M6X4:8\N5]*F LAS_F.@ID6@,/OUL+D<*JH,DER@2V-TMN H_I;;F7>W9E]RKID[9!D7DOOR MV2)5P)B$[2U:798@BW/-K9,PO(MG1%ZQL@[#O68+ML)V68>[G70A8;>C4$05 MJVZOYWK&C\I[OLJ+BLKC$LLI]?F(,9>6X$J*7SUQ48P)X;[*L)V[X-<R8/,9( ;Y.F1NNDEQ+;F889Z,$$_<=%;?53!GF@[)^G_2!1$%2V5(8QYT2 MB(&,:%M&L^SBVA$(&(9$!X%R$PME3BS9"I8N6"J-#;0.CI4 MD,RP;OG00S69(/,NE]XMGJF7$GV%<]Q46:O2KIOA;IQS8B(62KR^@KP8[_:" MQEZS[28\BV.=I:7BQ?#7\,/?MJ6KM%:GL1=\FQPTPF_2OI/8;0^Y@(V.,5A= M^Y5FI63("*48OFZ4W4&(OGC@;,&2%=\4;GGY3/;&?L#4\2>P&=^Y>J:'7"=1;Q/3D@>31]]NC6"+NKWP^[F@F,[@U;N4>Z[VV^307W+&2*W3JWJRS_ M_, %"1#P 1 >'!E M;"TR,#(S,#DS,"YH=&WLO6MWHTB6*/K]_ JNNN]TYEI8R5N2LTIG.9W.&L]D MVA[;.=5SO\P*0F?MCM,^L]L:-5O4-)V.*C^=Z\0TS9ZAG.F$:&>&J;?/>K:NGO4TJ]4W MJ:[UB"D[YQVB$4,W^WWX9QB*U;-;!/YP=-IS2!N^!*\=1+ _V*,7GE/;^;4Q MB*+Q^:=/K[U@V RIW7SRGS_!A4^XW$9RX^N8#J=WOKR\-/&#INV/V%U*1U>F M=X;NPHTO>M,/GN V1?WTSQ_?'^P!'9$SUPLCXMDT^=:Z;ZB=3N?3*RXV?;3[ MNK@$7'#\;%7_Y'I#UZ.(HNE*X+KC+NXO68KU*;XX>W)T!EM?>'P*BMF#/T4! M\4)$+8F -O"]YIG2/M/5]#F3\.R)D/'T.7T2]M@[DPN+,(4EN)MVI.".%F!T M[E!W/;+@PL*#PR!:70%\N'"3&_J&IK;>>W]\1_H%VY]X4?"V?@G)Q<7] =S^ MW(Q9O#H'__4+>0_XFG*F:&>JECYDY76+V\'+/1+&X#P?$N_IUP;USGX^-( E M*'&ZOXQH1"3\_AG]:^(^_]JX]+T(6/WL\6T,7[/COWYM1/0U^L0(\U/W__R? M__-+Y$9#VD6..$NYX9=/\8>_?(H?W?.=M^XOCOLLA=';D/[:<-QP/"1OYY[O M45B ^WJ.-](@_M5U'.JQ7^'Z#E.&YEY,@P*>ZH4V&_T-)<.4Y7T'J M-:08$;\V '/G#GQR-H*G#,X<\C9]O=7HJMHG7=W_]:FLG;W_&WP23M_0:G01 MX$6]X YN]YW%5[0;W?_*\8(K#^C@[1)>$9#AM>?0U_^D,PAU&ET%Y&++:FEF M.]M+VGKZ&A#5YX^!V7U_^Y MB('E+W?3CQ:?/F:$DOX%4CJ(D"L8,9XI*OQ+OS>[-EVF,W=KYPQ%Q>*5]._T M)9\6]KT>#!H'8(C5513O3 4@S!Z47-EM9Q//C;<5#@A@?[JS$27A) Y&P.6 M74P?D5Y+_\9GK(>4SAND%FA@3TA-&#LM@B+1WN<_'[YFAY+!%Y10RY_I:GXH M@81_0,*9;@\T,BQK_E8F#$GD!WL"=.7[^.%7ZODCUUOWV%W)>>$1GQ97OQ6? MYJ'QF>R"/J$VC?]TX&6OXZ%KN]$/.NK!*QP7KL9>%5BCYW>![TSLZ#9XH,&S M:].+5Q>X/;&4TZOQ5W_YM/:)TYU/7[R'N&X=7UQ; AWKT:'MC@ZM.'2T!#IX M,F;: AT;N6-7=!3('9WJH2/YL):Z0U4$/GA2'NK!7="JXJ,<[:$>W!>N*C[* M41\J#QXW#W*;!Y^:!WEY<%^T(GS!G1,XE481[ F_<_77!(/7_FCL>_!GN"BT MX/.1[SU$OOUG\8)K(?BC6'N'R)9@SIVGEQ'F%X[C8H2?#.^(ZUQ[EV3L1F18 M&?ASY]IEA/\]C8CK4>>*!)[K/865 3QW3EQ6PK?MR6@RQ(*+VVA [POH -\ MVC.]]FQ_= #KZ3"XT [NP)6W->Y\(>[XFP,+3./.0ZJ",. !<0=WI:IL,O* MH(/[>'6Q+WE %G=)49ZX:=% V+]&80GF57=Z2W+ "H-_U1W@8SM@A0&^ZIXO M!PY88;@XN#-*"M5=U/.W)0L9STMEYYSZ[TH&))B*NZ2WB\H&))"*J\ZUA*4+$D M9%4]T7I$!ZPHI]>HNM-;D@-6&/RK[@ ?VP$K#/!5]WPY<, *PT75G>%C"7XU M3R_G$LQ%NK5<^ O/O"3 "V>;'UP.5]A!H)9=:>WG'*^XN!?=0?XR.5\ MQ0&^ZIYOV0Y8D;BHNC-\_/J $L8RF%5/,Y?OI92$N*H' 8Y:'U &@BKO_Y=5 M'W 49,W&F<8K79UG.J;#=!OI,W:?U&GQT$V\O_NW8 7D&JE8\4G >E%PX&X4 M\,+6\AAZ%H^3A(S=46P5)/ M[KR^S1.NF'!++MW39^I-* AY+X*/(FJCU/_F M#D>U+ 6SN/,1.4=3.6W %G?N(^=H*L?*M;CS'SE'4SE1>(L[;S$3FGYW/<=_ MJ:]*XLY5Y!,[)8TAYRX?S"=VRE% +>Z2P7QBIQR]T^(N^YL).RRB7$N5T^(N M1B;=M7B 8NXN9Q$/>+]>1E0QXWJ.?2D M7;680(D8*D?WM*L6%RB7A\HX[:]J 8)R>:@,/52U2,$BAJZQY&0X9">C?R<] MOYYQMG;5H@;E(JDD;53M"$()G%2&0JIV**$$3BI#)U4[IE#??$^[V@&%^N9[ M.M6.)M0WW].I=A"AOOF>#I>Q@VE3S6_4?PK(>.#:9!ACQ_8G7A2\G?]\J)E2 MZ7 9(R@7$R5I$2YC :7S1!EJ@TN'OW2>*$-/<.G5[X")RXNZZ0DN7?=R,5&2 MGN#2/R^=)\K0$UPZY*7S1 EZ0E6X=,%W0<5-S12%JG#I=)>+BG(TA:I4U4H"I4I:I^]F&YHA1=435'&R]?30)_7,\"8U6IFK]]-(24I3>JYG8?DT-* MT1Y5\[Z/R2&EZ)"J.>$LO?3#=9PAO2)A=-$/X%I-U4G5W/(R<%.29E&KYJ>7 MQ#=E*!FU:HY[27Q3AKY1J^K)__:E;NI%K:HG?T!4E*5-JN;)'X5?/A MC\,5I>B**GKO%Z%+[H@-+[#KZ96H573ACX>5LC1(U?SXH_-**1Z%R-:WW"75C6W_7 MM\>W,5TZ^"UYZ2;5DNP] MG>[\D+O*5!TF MX"[*6 $$%,H!W$41]T+ ?].!:P^K)/VY"P[R"_="Z9V[F-]><*^@I.(.[",I>@/].24@'_M"Y'HT#_YFE,*HC[@WN8@,504*AG%!MKY=%;58L MS;NA'T6'B%,X-8KW@L#Z5&&7^DS'?K5\I,-;OWD2J"B2*XPN?6<]Y=+-V14 MH2BIR:W;S#,&"N4!;GWFO3"0IO7O:7RJ4SAPQQ5B!VY]YXH@HU#.X-:'W@L9 M-[YG^Z,QC>@%^&\5"Z^:W'K2UCM_WXS=7A9FYC P+/1:I0B]O 0PEXQB+V>Q#X M=-8>_P-TQV@RJ@,%\="X8'$795F'<_):),Y/5&!Q06[NW/[3 // M?1I$WUR/>#:L N][N/UV+^0X]^3.732YUM*U+$82Y)Z0.[PBDEL@%<4*HFZW1NP#N+M(S&H(Y]3"7>!' MU([<9_K@#R>LS/[:.\(Q4N;N9L/\K?G,!NX"]WSA:%%JSH,]'VMP&T ^;)>6 MP#[#/K?!WJ,U)0E"8(3 ;>CT8=(+F:$473W#CU4_9NF&(E+TTW,V'FSJ$0#C M+'6;?O+-#ZA-PB/X\+LK8U4M3!D?/,):$:NDS6T$[]A\L9L8O)B /91#-Y> M_;@CKA>E@M'WOKG#;24/^=E%5T "YS*8C(;;PHL5C0"WN8O$\(*-,@X#;',7_"@+&_F% MSR?W]3R@H3\);!K&?PXH>)RX'MA/]Q?XP>#N=HA&#-WL]^&?82A6SVX1^,/1 M:<\A;;W]OZ@R9M\)H[F<#BJ4DYX8YCCZ_N$XT.%<5Y?]M+-Y'@B>X MM>='(,#/50UNQ06>D:'[Y)W_ 6Z0VW^+/W(]Q-2YVAYCP44X)E[WEU[P"5X> M_QZO874E*V^ ;T>80DOOZ/D!;/S,]H=#,@[I>?K+9\<-QT/R!D =@NXY8U_Z MO/@\W-LS#2(\ORY9-%ML?#G9=J?3;)LZ[CP"^$9.^N($*$T&E$^1LWJMTVYV ME,V7E:8ZO?:)/3M(;TB K\?;=238%(+IUX;>6-IW"IEQ)(7^T'6DORGL?Y^3 MZY$_/M=6+HZ)X[C>T[DBJ>P5LS5\8G!:@XDYQ.*Q*.P\,5Q3>AV6Z ?GZ0OZ M0*IG?3)RAV_G_[@(7#+\AQP2+SP+@:3[\>70_1=E!!'_^1+ON07?9@A+8*!J M",&?-]>/5U^EA\>+QZN'19KA9HT/5Y<_[Z\?KZ\>I(N;K]+5/R___>+FMROI M\O;'C^N'A^O;FXT+7R1+?9&/"MV*MM-6?B?A .@C\CU9^MJ\;$J:8AH=3N'^ M[?;^A_0+R$#/]VXF[,1C*1&5][3/E$]#\@@J%H>ZYU]]>S)*7)4&DY)]N*$+ M9OA_,4DZ>TI7VA%A&25?7K H2V QUH)%*O)_'WZ0X$_IUJ,?BP?)<<4Y:+&F M$DOEK/)<;[8T8R=QGDE+&$VE9671$IM40BK5M?$KRO55&;(,G1@P&:E2^NFY MMN]0Z<=#/@+-SK+_-0%;E0;#MWLZ]H.H(?7]8$0BL'->H_.^^TJ=LRB83+D: MO+%_^UNG95B?EQE[2L0)Q+,!5FCH"') \]"Q@8M*9F'DPHK)>5 M__7SXO[QZO[[_TCW5W>W]X_2W<_[AY\7-X_2XZT$"NP1M)2DZM+MO:2:'YR/ MTNTWZ?'?KZ0YW3;5:Q>7CWA9[>C&DA67R9I(),-19>.__4VUE,^K/]-]' \A MW_Q B@94^BLE;2DV^B5PMJBSAUJ[8U^_BEVU10YQX).S$3QB@%\[<\C;V1LE MP1GU4HX!C_F!CB/FV\00T1590D>E8-7XC@]P>+MB-[/B]EZHNFJH.J6.NNXQ M@->Q2.EF9=!S2;-&"JCZ(I M^:4*J1_X(VG3US;]C'P.?-[=('+ICT9NB*%!J>^"E(Y/3<^@@:]8S.\;?/3W"B4 M,)8,*]S7<9[NSQT]26%@_]K &/49VF1*1U?^]TEM_C%^:DAD"*H!P2M]]Y_\ M^+/%:**ACE_W,B-,9?S:^+3_RH\RE-1RCYB^-JS_0",1U:%QJJ) M+OV)%P5OEV#3+AB4L"(;4X$1Q4/9\#DSI[#5Z-[09^*0C7;ES PJ"V=JDTF? M19PE'U8+9X_D]3I):MH,;XO&1+O1U90S555;>EO-B)!5B\1D2 M/S#FD< V]G%\L/3')'!#QV45*F@"N/.,QFX+GHCG_HO]_?%0? *V85W@>]V\ M;SXTI:O1>.B_ 8 764"Z\9O;H+@;<6]-L*XB8^$Q\[=V]F"G(WG %-C9&3N7 M\.MM\.B_3 T'56ET'V#5%U[D>ZXOD'$\9#!]=1O<@3$'NFEW6T]5&]U'^DI" M@:SC(>O.!VP,_S]W')OE"28TD&QM336/8.2=&O8V&"$).M"@NPN ;=PQ&4I7 MK]2>8&VR=-L'>X2&.0V1PFX]210!DTC()458@WM&ZTL(.,["J?\(I8@.Z7C@ M>VF$6D;O8SC!34HDH$3"A-6Y)'W871JAZKZ KR[('QT\377%@OJ8(2#^W0"1Q+TJQ^X;I)$$Z,=^FH/<(RO!$+H9>#")S-)M0#)W;A@6_WX44APY#K. MD!X5IKMKL40GO*E:CW'Q5(N9<B>1:=;RA#+K-Y9CP5L6[,Q(]%[D^P! M!0"-L#[_94!9>@)MTEE5PKGT0?TH#4C(ZEHA M] &>!T0@A1-07>' Q]J(M,0H&I!H:?'2"UE<):O-85].]O#QLT0\1_J@Q7OL M 2G!]=X?L .\G]T*7\)5),]ALZS8(M@B21A)'45RR%O8S%SN,5/:I:2;":57FA/"MV(RI+; MAQO?9(F"$GJ3KE$?$39I1OI*(B)AW=NR.)F]<>X5\][T_02^9"@F"H][^C2) MY^5(#V>/T@>DBM9G3=>:R0W1P&755&.LICJTF(F7/EWW5(S0\&-S@6HSEV1, MX89@2\3'5%YTA+Q8)R\J)"GF^Z:!# \B/(FF'*4 MO=^A?9QSAM/"4-#^V]_:F@9;V; *=EG]G-ZVBF/98W/FM.""Z!59_\X&V- M,\YN8DQL)S?-_')-:72_KQ<)Q38<\=B_->TC+K>3BIM:U_50NE@E#&ZJ1@X) MM<,:EWS4;?!+=3?KC!]!>4517AW!EK-*8)-!>R+0*Z$K.C9?&.#369);&Z(U M=7M'M!"P.Z#I:KUK)JC]L-2>@OTW!O7+U!_>1O5:%JH_3.$BO\WPV<;!;!L3 M4X&M76/47MH07,'2P;7!*;>_+H' T@9@8'D^"]Y/PCAZ!!N,A]6LF1G@!^Q= MPS=\^8L+KX;72AY]P=A40)_=D!EL[+Q28#4PX[!!$6_&29@."9Q0PBIUU]E4 MAZ=_(!_71X6X#A-S2"G9XY3A@ Z'*3%)'X!$6"0Q[GU?#=H!5CXV-XZ0^!\: M+G[( +CI;HXR IFM&(3:SN)EP6)M/)5M]8,@P8&<^O9#!C!5-@ MW2W"46L ;=DN&(#AKXWKFV]K,O&L%HN5BSRP1]Q.(B9$0)HL@MF;C,X)8R!;K1Z&HMV=+:8W16%094UCR'MOL09CS^)G?>K:7MG7=;L(OWG,M<\O2> MQXLOWZ]P/M/E["VP-V2&XGA .TR64>;"J(<0,Q M@O5]'=&1I#:E2Q\M /17X3=&1RS;,"/1Z7%=H?3AITH'8S:M4-:!.B M0=#/5OKI;!0-*BPNC6A;@0XF)?^C%W%1 M*D@J+27)O&E-Z0?QR!/C>>P85EN?0^FK&]J3^+ F[!Z^\,CP+729*3$3%2A+ MXG)4O.>>AI,ALS96*5!0276IY'9,XR<(A5!)_*G'T0B!;U,'A8&P#:J(U&W*8V:U8"_)T^D6&L5-B\2:%5 MJHE/_:3J*07G[TDIG93S+YK,?92^$3OR \'UU<2EX'I!*=LI!<_=2Q,//[VY M4Z >R##N^8Z+F>;GX*.K^3.D\<%QS#@0,J*:F!>ZP=SLD'(@4IB5\@!02D[4$I[%G?^ =\%&Z%/P3282T()_J\D5O63 M:J@2_+\?I6AI5MIL%A2'%IQ?-CX%YPM*V8%2THRSU92N7@=NSQ7UR!5%HV!X M02D[# )2&MT'P".)A%5?602^S^KY!E9GF1*Y.NJ2#6\L<=3ECA,@LPZVQ&%N M%9MLN>G+10OL]6,LX[J6YJ;!=QN(Z" $NB.&]<;[0#SLN.'U4$SK-3:TC7$( M16L=%!<79+U#V<TL_*SC/^<+&\_V(I9*_F[:8?<#TGC#,\XS"IV"OOLFV*:T"QB\G M00 \)^V%\Z5-[H620S^C(%Z5V'^5!A^1O:>/;/)'26#_[1YP_^P;_B-S MI(4+S\'_7,T(X2*Z)$& AX[]-QE.Z&['_^CI\3\8*E0566\9*T?_+)W_M@<^ M4M;*@)JSA%$"2ZB-;EM63(LCCBC(1.%8T5W$QR&&4@#6.2"R-Z2R MY-%HH^VB9=O]6@:O($-LT1$I&.^G4+RA46('9N4#K='5#%E5S;R,\ XQ'DHU M[&IYGB@5;1&K15*1#@:&(;>TW.*T0"JJO]]P[3T#KOR E>7O(4%W-9$J2/M; M)&@*N3<@^:RT;C2Z'4TVS#9'ID/1(9@3I9HM$C,/U9A@;RJRV1Z.L8LZ9Q9Z//*IOM)&Y&WH^8GJCML$5^)G"]BL$*SAFK%H^#SWN: M$'@JE"HK'94C$Z+$$&@]R&B+0#T &6$!K&Q8JY&N+/F?M'( OD_?Q^.Q[BS4 MF#6:)H^9C$<_(L,BY/*V)-$I2NQ<3-4&V:RW944ORN;=#345LH9/B]:V11;R MT%H'! MD7.5 C.[&VE@)L^4K8Y28ROY1*EHJZU<'!6I+%RK*3I'5%2#DJSU-'"/OY_Y M_;-)2*4A)? SOVU;1P;8(D:3@W%[Y+O[O/U)G! M,W;8]C DC$97Z\B&5>>@[8G2T18Q6BP=F8R.M$YN=2P,TNU4$$_V 2"?%1=K MK2,';+-'9[F*&]^STVC7"FU;C6ZG550P2]B9W)#'-CMS1_)H(7EH')%';>W' MWWS?>7&'0V$Q9I)S*=BRZO0VZ/2V;"FY:5O8AKQ1S!;1MR_%=(!B++EEU3 L M68'$^WHCL)!.S+HUW^R^Z8HS^DY%!1G9W%2 S9'/6T4UWV3I5>>Y5TWP4IUY M::>BB:R\A)F\CB[K5E$>Q,%YJ0;NQ7HM^MTE/7>8')*P?R_^' )T +'C3S#@ M7<@ A@++5/=890WB:>].8,@S=(.7N1J'')W!<9M .D-C[ =,C/M]R?,C&DIC M\H:-<7D++7>W_8K6S<-[#NRS-6Z7%[,PGK@-%-Q5UZXXP"51L1>>,?A*@? < O#YW*GM475U-\:NO9L?T2EB+QN\M-/5T]N%T!(C#$$ M'\GK'#&NT%N[T6WKJZD:8=<<5YSLC*\.:(#"A<-[-@O76>VTQ+$@,V7G9M** MT^,6^9%;BUD*4*DEF\86X[K;6!A\Y^L*3R-XA(&U&&E6<$4 MI(-HDQ5CBY-=@U*']SI(AK[W=!;18+23<76BI;*[-)',T^([K0(63IY<$V&N M?$911)'VH(YL LM$E:<<*6;$G\#ZX@>!_P)+#"7 "%['W)D-"L$5MEA&UP^D M_B,(_>_PDMO^)0/A[I41EE58982POOBAF6V^Y%::V2[!6JPY!/9YHC;7S5R_ M[E[Y?V& 9<@8[Z]IVVR.K:GQU,0D[+12R@[V)R(<@JC)JIK/P11C;,O+.^25 MR-O:,4Y15L]Y0AD9JJ4TNI8B:_FE1E=!4(+2V;!FYPS1' M(;0:6,L;>G+\T+-]X9%X\[N:DJ"&V%TQ&[C-INX!):, *.D;H52#*-B& M,\,CW_YSX \!(2$+PK0^L\G.T1LOQ3R\]J[MC$O'?3[N\39)BCE$U,K2W]_C MHCL:/ Q(0-^UNJYOOJTYI2-^"Z.?.Q+HQ#K<=L=)6FHJS.XEKY0!J30'K&QWV6R"0:^ $@Q9$V[B;$-X;Y ,M6'5Y, MW[:;Y3';G?4.M->O+QN@\ZZOQ0XA!B[8$,1;^N#S,:!]'8:3Y9VL"5_/-M$^ M"I!O)U$8@=D"$BC#VCI'65M6D+65S,O:!Y-[@:P-UKKG;Z?%[1]X5'(98.(3 MQF:+F6I6IAE$4';7X\7F$+SF?.?W4DSM.C??GCKA;#]0+ ?AZ#P2SK&]D>-: ML.BI^=Y!S=?X%1EMQ?:!;-?]%K.?X5JPUIU;>DY3L%V\J5K@XIB=FL%0E>(5 MS_D)AP?]1FMG^_:R6["95[?.1-R^L XK%[>TMMPQ5\/TJV!'0^O05+373CK9 M+=[,"]N? #IQ6;ZE6K*R]IC,93BOMVME"58QIG#/,QV^Y;!R3[>2:@ZIB:6R M;)%T-)RA6^-"J1,EC"U6[ Z$H7-&()&V8?0#K0]B2H81'%9^YWIE-QFY$ MQ!CQC"W'4T#> 1ROOZO-J MD''<.#EF,IH,T<>5?-8T9/NC<4 'U O!<)2&?G@2Q\Y\R"5(0U@T_+9F*$ * M7-8H0%L*<=76>KVG$8$/'8F2P,/V)V&T9C):4_A=)>";XXJOM._:F=M8.M@> M8%JR9?)TU)TP8(]AP!9/3-@FH)IR6^.)F$ZGQC_,7D^7IQ*[KL786V3P?-7B M%8-N1C:!%0&?6)9LKLDK<'I*!D\= '6ENRWBN@"ZP]-9-$-N::=V.DL%A/=< M@Q;+;>TNS'8\WMNYXE-,ZYZEXJ%1<[NS>Y7;A.05((:VP\]8*1R7G1UD( M3A:<7$P;83&7"]^O;7(/#8%3 3% M4 :;;_TN:6BL?XK2Y%RHR$=*<*@74I1$'H,+RW+T78]XMLN\0_B ]: U%\MC MYO:7/+ZEP?O'?LCR6^P6@3\0L;GQ8! M"8A_YN@#LF#:X8KPQN_[R[ M^BY+US>7FXEJ"=>E+_ERRBF7\YSR,.4/G&.3#'/_\-,C$\>%ZQ^E'3>HE[[! M#]>>% W\"3S#"27Z:E,0AF,:Q)6A$FR7?%Q'[COSYQ^3,'+[;[ I)BAGI[^\CD=O>%Z;+'L2Y\77X&>V9)@9B^,+\_8H:G$+)'XA,F;D\M- M=FE)V<37#+VI==2-EY7FYFOO/5;5FIJRWV/?OV;M^52QV-(6J^_TV"T1C:V1 ML\[*K6LL^5CHK#"4/RY&#K5WBVL, C!0?L!]@U"Z IGK_-(+/H'5,@8YVP-Q MI"OR#HW>-8+(#0YZS "0O+0RYXIFL)NW@ZU(+V@WR&D*CLK9/A1@EVV>!KBT M(EBK5A 1!)2#@.HRN&+]=N_I,_4F=$O;2)[Q,EGIIY09.&*1!U]D">VS2]+^ M#.\_MYHMDZWJB,-A?&=B1U+P'J_EKH&L6@Q[W;XJ'H4VMY4=,?Q_"_P13L+" M)_[N1H/+20A[HL'5JSV<("PNPI#"/R=[-:>J&(UN6Y55K89'J@@.J3Z'6.5S MB-GHMC3LNA4<(CB$/PYIE<\AV&^B=61=7^TX$2PB6*1T%FF7SR(XFJ33DEN% MU;'R5C+88EX2?X3_0(-GUZ8KOI1H?&"LT2F?-=J@/539-(NJC.&H2NW4J4M5 MRB-6^^QU-:N[<.S%)XAKFBRU6I5I;5+M!0>@3*W MMH ?GC+U1K?= 6%?U'@X09AU(,SRZ=( #[VC &$6E204A%D'PBP_>PU+Z&J& M*9MJU=JTE]J(L&V@44I=CGA&A9Y1@VF#FP[]"R/L)7H !M\\Z:H(22Z>P<\S M3B'_E%+V.*GI"]^E\!.-M&VQ)!"&M_W??-]AW=AQ1B]\\(<[SO>?,QBL1M=4 MY79A Q5$N)8;(MI2*E8@$;584%;+7S,IB(@W(MI2354@$>$X24.7+96G<=:" MBHY1<%0@%6%V6^O(EL&30BMRCB3O=ET88^\41J$76%=4' =H2J/;D;5640&@ MBD8?ZTA#VZJ'"B0BM=&UY)955$90$!$_1+0E?U(@$>&T/E.VK-P'W @JXHZ* MMI0"%4A%;%*<;*PYO[(>A>(X (;CX;)V:M?EC=.=7CYP2VU/@3QBL*)+US5@8_9F-KJG+G4[!PSP%_56:_HY&?A8>BH!.;U&A0T%_ M=:"_HV71-.QF-#JR4EC4D;_3$:I2.?%;X(>A](--"!5GUQ1HKC+ W@5^/_/A M3JK6;G0-53:UHOKAN9'/HE[RLHF:4"(*K \$=C-YT/)9+ M4V6C79FZ6T%PY5N@>2A.;70[EFQ41\*)0F_QC,H4>A]WANSMF 8D@G5*5Z]C M/%\BW-)*6_5"9_&,TRO\9JT,['S"$0G^I$CNHNP[FPO^0(=#;!#SG!\I"!.! MD=E\T!K=EMS2W0"HR&UVU+9LJ3QTHIU#U_1OUP'49,K..."/7<\,H8$<^B@+P MC.F5&)+ #!<+<-R7(UA.7%9;/)7-B>++XR1."B8ES&YKLIK_J%Y!2MR1TG$I M"?/ ()3:0BC5CY*VY3H*)B7,\!IR._\@2/[*PG,/@M2, Q[1]%ZQN#\-9-/= M MFB;BV[I3C-%J3)@JR\8RC@<^MR)W]+A2B7K!'9;;$J\Y.=RIQTH[#9O8+L MZD!VAZ8ZK=&UVG)++RK **BN#E2WQ5K-3W8Z:XG16Y4ANT+JZ;9Z*M81*/8H]OP-E8&*WHPK2 MJ!UIY*4,$R>;SP'4@#NV%UG@:'GT+Q[S<_@#\]R9X$ ?7L-S"7 M[ 'QGJ@T!%=)% !O,YI"6#3\MDSN"5@O$Z@^!K"^^/F_$==#+_0+!2^4LO/! M5EE!0_U9U(F)HL".'_I9,:T.0S\ZT(^8'EY#^CD.^1@XZHFGHDQ!/@%,G/6N&S+18>E[-']@1-@-W9+@U&LP/&;98OZQIY*[7%&3('1E6 MAPK;[#A6OL:3SKY- H/4IM6E![DL6R!.Y)DT1?J MT3W&JUI*HZO+1D?,1ZL?!>UDE.:G(!4I2,LO0@4%<4=!QR$@#3P2139-GM+: M@H*.: OF)R&]T6W+NL)A\7']HI,W-$IBDH6-7M].^WR8K7\_T(ZKSN5;;%6@ MF/T["RSLBM-ERSSX 0 \!1$$*YTH*VTQVO.QDLE825>+JIH2K"18B5]6.B0G M68VNHD[9XFP)<>?](:4 MY^(>LC[9IR\98*A+3KS,:FMI=RLSN:C>Z2M,X^(Q2GM(Q M@G5.G'6,8EBGPUBGJ$E)@G4$Z_#/.H5P3@O/#Q><(SCGE#C'+(9U<*I\4SOX M408\%3]P[9Q]=8>3B#JB".(T@^0%N6<)%:UC>*T8!TUDF 3S5(9YLCEH[S"/ M7HR+)IA',$]EF*J0SO9'/2WF$>LQ@W[9C%#'ES:/SY9K^S M/Z@C7!D+59ZNEF M=^B"SZ%<>5/6[I.C@L/;9B>E1/JL%'T.-[]%@F.;83\5@-$UZ0XQ'( M<4O]^V'IL9.(QTK5Q]>Z+'-#YF\G'EIT)>*UK_,F3H_)]K.)$URL\%I6-FLK M,9OEGXM7+(8K-,!"T'1!=G5A-*T69+9\"I8$GPP@E6&S8U;3![?PKV-_=!%HC@/Z)!$[C/]_.(ZT2 E^;EO)1!1 M9E\A/5@!$.O&KW '2VT1)O,_<=G(.FZ':,30S7X?_AF&8O7L%H$_')WV'-+6 MV_^K:8WT2X-IR_886/BL%U#RYQGIP[;.R?"%O(6-3XL 6C,0W\WP%E'A-N* M;\K@]L^[J^^R='USN9FHEG!=^I(OIYQR.<\I#U/^2-*VXX .X#Z@?"F9'_OA MITX80?UY'YSJO_8Q)&;O\-)P^@M)WQ/Q/O ML(TA&8?T//WEL^.&XR%Y.W<]MBSVI<^+K\" RY)T9R^,+\_8H*G$K)"$>I(W M)Y>;[-*2NHJO&7K34M6-EY7FYFOO/595F^WVYLOO/?;]:Y9R@,5J36W/QXK% M;E^LL=-CMP0JMUK:G95;U]C#L7A982A_7(S$:>\4KGP&*153U/<,[-2QYQAO>?6RSM?J!J'*GPU&' M=+>+'M+-46F4(/X:$/\AQVJWBQZK+8A?$']%!F&WBQZ$+6A?T'Y51E>WBQY= M+0IP=Z. ;WX ?WJ2/0D"ZMEO4A3 PX;L]-!3.$CR0S[#/X15PV_+O,""+PMY MUI@U$FA?)L!^1%C'[[WPG,<9Y"\! MAG'9\K"#+0E%U;D*LN-()JX8I564B1WL+I#;&BM;D3OZCP@O$'^G#!M_\<^$,0 M8>&__:VMJ:W/TM5?$S=ZVZ,;5"]]^SF;02O5^:DU37VWWKPLCVTU5;5U@/9$ MO=4^Z;6VFZK9J=M63!::U84A^@TZV3[3FE@+_5-'+)_(B&8[0(!O[+ M2AZZ\D"\@#6BU0\^QAUQG3/0[Y=D[$9D*$"Z)TCO:43@P[A)/#T)1$!S7P*U M[N%!4(B.\(\;B 8+/CM(,&2WV-^G:O M[PK,W<^-J7T'^\X>IKVRZ2FRV+BEGO9^4F[=Q8MMF'>_@>3.Y6W4% MWPB^J0[?M++S34:%U&YT545N606/FA>,Q0&I"<;:R%CM@S-6I]'M&+)J= 1C M"<:J-&-EZY'J[-@CE9O%-$7!YL[V&M65N9%),)=@+OZUEJ8<6&MIBHKFH"XK MK=R- \?BK /T#Y80YEM/'&OF^V6)ZNTZ[X835F#9#>USY>M"T&HQGTQ1#C*RL(7'68IZJIIA<$6>=8_\LF7/6(_$P@M$8 M:&%_-Z,N#O;Z$EY-WU+"RV!Y'883ZGR=! "!.UB6GYP SWY^03A?SH%Y'?%; M;,(!-XZVB-"(Z%D%<9/)I-L2/9LIN_#1G[508@?EM9?T3Z[G;R82;L?X:WA/ M_YJXH1O1!QH\NS:-I<,]M?TGS]TD#%J8*<]=W"5(3H@#@1N!&SYQ4V2BHT11 MW>9-5-R'ZT^L/D=M\&S,XS4G:DHG:4[,/><[$[HJ%)FJ,?VM M,[ZWC-+W1!II-A*FL?EEN6P?ONA$45PF*.W0#);@N M2'$MV<@_:E^0'*\DERT-N=);>+ .*%5O='794 M(QPBJXX[J,A'=2MM=X;2& M>6G5D#OFP6>7%.ECIZM((6N^-])Q[YC/#L^8V^WR9/3'H:FMSI".%3"?+)%&/25T[_/5R, MJ8,EOX:Q2D:B'ITO"LI$0%NJ-?+3C8;3F4Q=UA6>!%"=*\;%M!A1-R9P(W C M<%-5W&32X%NJ2^[5WBUCC+O13,;79ZZAD6,1<2_*HB;3$;9EG.YRALBH.'P MI_Q5GH+DA#@0N!&XX1,W1:8J2A35+=Y$=3V2''O->\G5H9(T <6;6ND#JG&' MYP:_IW/$SA:MG72V%#Q*(1JF/)NR8K9E$=6X)3!:>>(J<>O+=2Q_I6TY(MTQ"L*EA5 ML.K>B6QCUT-W"F!:#8Q@66VM.J3[3KL2W"JXM>KQ0-)+4LVBQX2 M5@JGLK#M)U8A _]UW.?N+_ C7?*(!$^NEZY,U>+!8GCS=%/QZF!#0S(.Z7GZ MRV?'#<=#\G;N>@R?[$N?%Y]GCE<6QQ8?7_[\XCK1X%Q5E"9L%JD@B2XG;TXN M-]FE)5#'UPRMJ;9;&R\K377CM?<>VVJJZGY/??^:WFJ?^%H[FEAK\6MM-SM6 MIS)K!=&ZTU/7YYNLJ;'Q3E[)IJ P@D.J-579*:\TKXS^(<7J2#J3;N!&Z0=\ M>Q!*5YY#G864TX)V63\!4FN]-P%RDSZ95RD;,\&=;,\I!?JMIKD3^.-4DL2P ML#&%5Q3@X#F!_[*2%JP\$&=I;PGSWF>@WI/,MP#IGB"]IQ&!#YU?>L&G[A4) M/%AQ**"Y+X':]F0T&9(H 2BK-F>_+92KCC< N([0OS1!^Z7 MYI4;*XAJ?4Y4W X:+'4UUD(]R^S5R@,S+G(X!BW6!F07(W"RHQU E@$J1[SU M="JIOE([L6I55DBE'N3@K)TB?KQ'NM972QGZ$:NE=",Y.^O@P_&K&8;>D_*J M'6O>8=-58K-UV9\](LJKO&,>XX@PP3>";_CAFX./W]0M=A*:V5YMW16,)1BK MMHRUQYF5&1FKU>BV#-DPA*4G&*O:C)6MT&?7>2F[V7SM1M?LK-;)%G=NG> > MP3W\J*6#GT.J=QK=-J@E2ZN*6JKS,!)HMKB3537(T6RUR!W[2#]A]7GJ/6>C68>L?G0:"7-A[D/=LZ$ MK@I%IFI,?VLDNK9'$\0J4;6/T94G"*H2!+52^U]T^;+18>UJ;:O@TR8$Q564 MX@Y>,&_BL':E)1M62Y!<74DN4Z9'6RGC/-@H8Q/KOV1#+2 =(ZB..ZK+1'1[ M' ^3D=8T$'2J(7>*GLE[R*F[JT.OS/?&-NX=\]GA&7.[71X_7,3CQ1+%$D]Y MB:<34EN>Z)4KHE9Y7;BA(D [8MS,U N.FU74XJH\+:U+0*^<2[)'#,PT"HR! M">+@AS@.?A"&::+1+2NMHFQN03W\4,_!AW>9.+Q+->5V_OXP03[ANBX%?.MEIG)%= MG>/U8LC+[B5=[:,,>;'T1C?_Z8LBK,*O)29PPYM&-+0%[V (2_QIE::?VK[]$[ M1VQEL:RXE44K>'Y"+F26'*\JC5ZK?1IC/GA4B6_7J$E]CW;L569L%3\Z1S"B M8,138D1#.721N\6*W&7%S%U3(SA5<.H)<^H6U[( 3L7A8*8E6V91Z2W!JH)5 M:\*JV4[:6>F*/UCK84O!UD.UM>J0[COB2G"KX-:JK6E@EZU+-DL M>C)8*9S*PK:?6)4,_-=QG[N_P(]TR2,2/+E>NC)56^02FP+@@V((055VJR"A M5/+\B(92Y"/B'>K%Q20>@PN)X(^^ZQ'/AE?!DN #%IYO3G&RO,7D\6:K:<$* MQG[(0N[G <7ZHF?Z^<5UH@$LC]'AW/<2F"BSKY >K&$2;?X*=] T%J$R_Q.7 MC03O=HA&#-WL]^&?82A6SVX1^,/1:<\A;;W]OUJ[D7YI,)T_-R9/]*P74/+G M&>G#ML[)\(6\A8U/BP !:"0+:B$T=@.<=42XK<\'_//NZKLL7=]<;B:K)5R7 MON3+*:]F3@NW/-QUST>DY[7;_+#M2=% M W\"SW#"?=>=9IW81RY"#1[?9G9)_+Q> %2\AG&RO@$>R.3N3*(P00\@&I)Q M2,_37SX[;C@>DK=SUV-;9E_ZO/@*<[PBY]D+X\LSQFHJ,7,EB;KDS]?LY3]OKEMK>V=GKHE%;HUV=Y9 MN76-B1JSUPK2_7$Q'-?>QG",CF[@$^D'W#8(I2M@%6=;2N MTRH]^*%D"WZLVQ=?00REX+JSN\#ON]$^+?$MC<.6^(**%07AUX#PMQS"E(/R M]497UV4E?[,7WT63?!#Q7&4L1NH""FBV7?!UO:GVPL_Q+QM-G7'@/[OH/_3> MUMHZY[N8RH>T0@[VC!*,E25OZPSO1[P>DT"^TC$0A9&D\ M)%XD$<^1L"YZC#2TQ=*M1W%ZT4;"/(0S"TL\^UW6\M?%\FT(.][_-16EKA<1[\G%R#()0QJ%>=H3:LD"6[IZ MYN!YV[^>0O." 3,S3U@H2BVKJ'I)CLHS3IZ.MIT!7BPAM9A.-G@Z6:,@XY5C MX?H;<4&HPKL &_-VZJ*!*J,G4_,I%DKFNKDMD/[60K->(+J(\(2AZ62UTOX MT%U/]$:CVUYC((J#[OBBEV(S/-G)Q&QTA8UXU*2.;05.F?_HH&_C@VLZ6@_CLP$84Z6D,U9 M2TBK!--J='GR/!*YN=3[&#LE]0$LES5T M2<\=YBBVVU6\E/F,^GM4J8.+)9?4?=[;8*B8?5QD7A+LXH"2D'ZE\7^OO12H M]U.89@[%MQO=CFRTQ9'B]:*D+3;#04BIT^B:A4C3%)XNS5P#U<&,IBJ;N>2H<+WXHZ',$ G[9L:)P04?V-4G"0 MQ\1UTGQG['#X>/+7"54H'U:H)B!.8[M7,:0O/(<=L+9?Q6E':W1;,MBN?%@: MPF@M2]@>A+@PW2IWVAH?Q'4*9FR:8IV+#3!)+!(+11FVTX3:70Q2=B;EW,?S M7M\J1V#3G<93 8(P;X^26BDII# LMI#F\HKSH2K>$Q M.+*IF+6RB\L4R!M&%^XZ>B2/6;SSU#V>N:E <0U Q\EV=PG(O[S]#+$.[38% M^\44ZIG9I@W&(SHJZ"AG7IT>.6RSO ])C!Q.^5J>HZI^#DV,-1E%M M':4Y"5FI.?Q[IN&N8E[4,14S8,IJMLSCSIBZFP3V PU,5_J($D(L'K3HX]M M@&1 %WJRP1B>:\O.)#QU16ET#;EEB![_>M'3MH:MPQ&4BC4SIIZGT873<%>+ MB57^ EZ .UBTD\RO?G]\B@AZ96V 9:#]!I!=,PUCD5%6>0'[8<4TJOH1S?9V MV#Q4HS>Z5FYGAK_ %-[J0,Q5LK<:W59'U!_6BTZRRM&0J)51;C3<[=+BRK*DXGK&S@"BV!#]@T\I:>+?U1 D@%_@OL M(,211@%]]H?/2"PVFSHED:> TKV3 ;6..^PH;N<#O/=3V-_VOV,0XK8?3_?* M*FE5I='5+!E@P$?D002SCIXL*(Z65-9YL(:4ZM%YP*LTO@=S*W#MB")(??M/ MZ<6-!@-_B!N(1VY*K#T7/+:A2RG:,])U3X<$@/[H/Y+7 MWV<@_^8'NX[GUE4-6,;*DT@0 3#^R&?' %@1](-=MGE4-W]Q+\Y%[9S->WIS M.XN4HO-FQPT",NFR64?E1J.[II]1&*A5IHXM0C(+>9@H!.M5^\=?.&@:_?^0 MA/\_+K1698H.[6 9G&#<-5_8]5N*@/W#KJK%@@%:$0/CN8M M\@7^_VH&P5F<[B!W-WWL'J?6>Y(?WJU1Y.$([P"\/7/;B/5_T^M;.' MZMI8;Z:LZ< 1TVBJ3I=;9/:Q"7.5]G# K;Y:Z5CY(#%_HOV;'\"?GD1?4P$_ M&@.T,4%7K)RO6#BO0#D?D_EM?Y[T;[U<3+:&9S1,T^4?Z22"Q=Q1UQ9I?23R M4L$4K^'!\_Q)Y%1UOFMJ2\XD8+F[ 97&3..>?%4EWY8Y_%V49:YA^Z8,!GI5 M!HN(FLSRM<2Q27J5:K%]M#JSF6IK\%]N5"DDDGKTR?4\5"S8J;^_7JFQ.68< MD,\R:P(\NU563)ZZLH757PR9M7BB,Y.-,EN3]!'V_W$%-,5C,S:)YL,:17R4 MU_S]<)NNN,30>1(8%FL9TUNY)4;%?!3!@J?,@EJ')QYLQ6V;QNH<:4YYD+.S MB>?VJ\..''^"HQ\X;C_;=96U-9T>)N/QD+60D2$PQ( ZDWCH'!#_63(L*5=? MXJX1JC*?L6_D(C-[EU^!O:%:)47VD(71IV6'!ZL7JH6NSKSIBNOJK2F L0M2 MY#N2T&T/]L/Z*\)KSYX$>TQOTG"&@MPVBLK/R M0[,U975@!*<<6*]FJ0VY[C"<@')F-IKMCT:^E_2G FXEG!%"'2E8[EU%HEHQ MWW+7\55-7*S;5]4EPOL"X0&Q?\W:DM4U#*XKC6Z[L(!3A6)*@K0K0-I;E-TV MVE8;74U;/2BW]()87F(U7#_C-.(M=CH,2G*]V#0#"A51EKI&65B:D@T-05O- MG1XMO1I9$V[>2;MY6X]OG9US[#HW-',YI(X#4E19+:PZ0<16!--5G>FVGS>> ME^OT1K64Z4XAG+*LDR.*P1,1*JFA/[F-OV/4[\O/D4XOZB;G$(Z=XSJB 1/KG<6?^5 MW\*]C?WXI*OS .??N<_T\XOK1(.45.:^E4!$F7V%]& %DVCS5[B#I;ET^.S< M3UPVDJS;(1HQ=+/?AW^&H5@]NT7@#T>G/8>T]?;_8H0P^=)@&I4;DR=ZU@LH M^?.,]&%;YV3X0M["QJ=%@ TYJ&_"7!S4/IC$D9N_^U 8%HQ;AB8_GEW]5V6 MP'+=3$,EK_ F98C+*4-]?/CID8GCPK(_KB//G?FIC+6K MS5B.K_Y,M,S-9 1/ME=MJD4]WWS M>'5__4/Z=GUS<7-Y??%=NK[Y=GO_X^+Q^O8F55[)9KJ+:()KR1O8$F=O/E.W MBL-$GYTQM96.TK-QP&5B UN++SQ#3O6/I"/FS11 MCPQ9ECD<4!I)A$WF_$IM.NK1("8,794E3=$T67H9N/9 &L!-/4H]L#,"T#]. M?+Y!PA%K-9O,>C8^]#Z"Z9+>QSPP=Y1%02:KPV>A#X?]W=$@ &V+GW@ !6D$ MH!F$V D"CWB@XXAM0](5M@.=W8A;@3T\TW@38QS$'\13^&9B5/KP;W]K:YKR M&3]BOZJ?I>2=R97+&+S)Q8_8DHXP#QP&3APBS?Z>>.R(GW'@PG;&0Q""3]2C M 1D.W_ ZKI'-EL8G__08:!BCL*U>,/(E,Y?5'?/SDT5(L"*).,C9"34C MI;KQT4VL@!87#?O'XIMXA*,=3,#^QK-(;1J&)'AC& 0\$C= BIN*QQ0AL_>G MQIJ,Q1V383PJ%T^B33 X[7Z*SQ9)OI\21]S\%*;O0"CFS@!!Z5**O8\JJ4-)']R< LS=* D0(V[OW)OEP M)5AZJ^1,*#[D&5Y">N[0C=[8< < M@_$CV0-M!DR%B* UB !04A)Z'MD**>P M0;AC QA[1Q]\%C\(F])&$Z+"HAVX+HO0# ?^9.@@EL#890P%W_ECXL6^))-3 MB+$=I"]C+6Q\*P&"",I.RR *?U= ?)C*B+^ M$4IHL4QBP8A@N #*>P,1@)PPLUS1M'6G NY^QKZW,_8-:?P:,AX#=R#5,M#! MHP*VL24#_M.2K7)@&N[^T@L^=5>99D<_RVA4P@;6"K*!'V #;A^$HA==3#7] M'5"@#8IUC67;6F/9ME8MVX?KWVZNOUU?7MP\2A>7E[<_;QZO;WZ3[FZ_7U]> M7SWL9]NR]ZQYNU89BY<]YQS+7EU[%X>31&!2(/>E!PVG@#K.JM:+;^GL(*MX M_YV/,\DL@:#ID>0 R@=8P847^6 4R1+0*TE5ZQ!M%[#+HL#M34#0Q_:[ZX$D MA4LXN#I",?:,=LMPE-@D/E/"H9R834PA3X"*?';C&/1$-/VF[[%ORA*8?:"K MZ>J%N:_BTPE8 2[>,0'+&62TY_@O\R\'^3IB#!LOHKFPYQ?";#D_ %+YLQM MIAB00F[H,W&(+/UL/C0OFGCY%NP']!PT1=$WQU2*Y99,LN<+V$3A;7])[KS% M/]?(GO:RE"F5.=GJ$?+SH0+I3#H^## M.\[\%S3%PDDO=!T7C L*?,#B_79Z?_H<_&(4 -CBV/Z\*T6'[@@VSER'1V;) MQX815K%A)O@T0Q\H[DTQT&3 M]'&Q9Q>@16K[8%3\*R:N=.M3P,_=O^ B V(GHTF\KM@#0I0'= K1Q&*[TRE MWD)@:',H:"X=L6QO5,B7RBB7,MI_] F%0NR1;!?!G34&6&>-^1<_59H^ELG% M]3;?\>3D1L,2=]"=^4HL.@@W)K09#8!-,(8&/M3EP*7]N7#$5VJ[S*/Z0?X$ MBDT#3I>W7W_,@FKAO*"9/N3JE=H39AS<]L$ I\&"PI^ZG_@H/$O3I2]APO>1 MBT;A7/!Z>O,"*Z3A#32)F#BBZ)J2., (XKS'%!@('; GE;2]&@.)85,LG92VQ=7/C& MM'$84]B[=1/7-]]6CBN88##UMC_%8$*IB],7@,!L+*-X\0,'5/LTP:Q,&<%0 M&EW?HRL)YKE(3K+"3);7 8RLGR&][5_!LT8HTV<;6.'94H46K!*5V72=I=E1 ML5TT']?,&)Y99T^E9A'PTE\3%X/$L]@M,B#CLS\FSM,L2$6GD$A2!2.T.R:C M<D-;=6F3Q\D MS9[$M57/]C!;=3!;-2J7< ">N>2!N\RR\.2:$S);^P^6!\&F6?99 K/]#&\',?E''@I9O33''-B M3L6I0S:UD_O7L>?WI\^69^P9\--W;S+H":L'<.8MBL_,-D^S3\$V>+U"8 MJ\Z '\%S8N&QA">SH<&2_'U %U*V<#6V!Y@X[(Q+B M&=S41TUS^6BA8V -\3M#DC^;62(OK +C7^ WSC\ZV0.3+0LB99W_/$]L M X)YZGDXS>3.G$3#8 5 +?%;WJ=Z6,)ZHC^ IUH=G0D&D.>0P+D+?&=B1[^3 M( !@ORWK2G.-KC17=24[#C&<^A;)T]S$K^568^).NK_3]%17#!LE<$ ?;#&( M-8X!!;+C^[3H)?:Q\+[I]\8,@+.4'8M Q9X=$NF<4)E^Q1X2=X0R:4X:(#^/ MB$/3RK"T/&GNJ8D$8U]&[Y9LX2W8PW"Z1J_^S!M'Y!RVZ]K]Z7M71&CD_F1][VEU8[I>='E*VK07"CO48(M%>% M ,L\^6@/, . J?NT/@V5PV0TPA*AQ7P84"6C;2PJ2AEB/GJ3YF1V+A5E%:8O M=/B\=/L& OZ09I]8IL6?@)QQPH_G>Q5L,* 4HT@8]&;A$M9+RNR<<4C/TU\^ M.VXX'I*W<]=C0H]]Z?/B.S&'L]2HPUX77TY"#1VMV3':*"F3AM+DQ4D@HLF$ MZ%+W4'RMU6J:VN;+2E/=>.V]QVK !NW='KNE#S;#P(QWQI/$\:7R&V*1RA>Z MN6IPK,OZ_KG?EX4!F,O_03Q69*@6UHQ=O_;(;#NN>./DEK-K-FGEE?9)HP.L MI1]\W@9/??_\T?CO\^8H& MQE43^PP#K>)K.EG;Y]80_ W \F&T-(YA*HVL8 MN8]?*GXN6_T4W!UY6\P_U/B@J \'I^T4FNMH&FQR75FEZ8]9Y;J0WAGMM7D/ M;<_#.1(O9NDDB%,RZ(J$!X>BH< 3H78V]TP-)$+11SGEPDP94S9$]$%$'S)' M'S01?1#1!Q%]V.E(T]WU$//C@06&_BNA#,81O*8<*/QB-KJ7Q=.1!;36< M"#\42MSOQ1_,1M>P5L6[B#\(S_+#: M+9*I2.6&OLRUQP>^![_:<:'^^YV:9FNEOXOK>298"XQ%H-*%XZ_VF,_OF_,J MQ7<0K?MVTIB:CL*;]:3-/2SN]V)] MW&DKW(::>"Q(FA7%)CUG SK$^EPLCXZQR:8#C>?Q*%'6O8;]K]-(0E*VA$US M_B22L'$K8'/71F-BLTXY?Q+L,G=VI5HIXPBBHTT;:E5CVI!>T+2A9"C!M\ ? M7?I8KPSZ 9!]F51>KQ%C:VKMS#6U=O=7_WUU\_-JKS*U^'EKWJ)E+2+>LKV- MLGI-5[VYIJN>/V&7L20[@<^\9*FR-']<*OIG0R_"M"<6Q"L%&@,C Z@M[+-( MRD*'_:R! %M%V%B,/HVG+R(U!/XPK0T%P3ERL<[YR<<9A_& H^#9M>/N/C)M M76!C(K&;B77HQFT/ >UC3T M[T@ ^MQ #O09SG5K.T6<'9TDF&ZU/A^[IG\1-*K1-''?UP@$UC8R/Z;33B23 MS!ITDC]".9GV.B4E@9NH5LTIS,3GIG9L::=V-EK> QI/?(^'\.,Y":/QT,46]P>"38/LV-VT.3\]K&+Z M@&184GQBP+1!=@Q.(W .]KO#U]'S^F,2N*'CVK.91_A%\/+B,7?LH2%[7[IN MLC"[;>H\LC%M=-A'%),P/$L]/FSRGX [R;K'EL+-IL1_)L4#FL M@HZG H!M%T.)(5H%<].D8$]V&J+$W]F8@3Y.^\5!6*X'R\9V8O1+'P;N>)R^ M'OQ89Q@[UF'233P_>A(_9<_!M?'>!O\N@4ZG?C)L)CW:BP&#& %+@SI9K&(I MZK FV(#S M,XQ8S69M&'.*+LVX D-F@,",3'FD;XIQ&'/L$'@BR$E(66#HL-)0-@D#%8(VO/3(0R8 M]GJ:&Y\V?XS(-!9?:6+[PGKO&2)92_)T6GG"JFP^P*)VB,=RHVR SCKK'7:N#F1.P#8:D/V)QN'PH3= M1I6T(!U1S83L1!O&\C>SX[$"L2&(A MOWC$N8WG<\V&/*6S9E92"[&P8*2![GDH/0%@(C9?ALP(!:?#3Y6''>ODQ6%, M279['%>DL02)\QQON\\,D'%\MAF#,2P_M5#D*=S1UL#[$C'(ID;UZ8ODD#<0 M>!@JC,?&)B]()S.A_9Z<[S.[/+.\ B=6,E/.61@F/Q5/.YQWEUCR2\/4$VU( MWN*9=WA3,EAD_D4?, PG=? HHHOP'0\;MS4F04IWZ9H3'(5L0"OH9]=+A ?S M4\!RGWKUR,V+J%LER]B0+B4+,5BY0!(@O.'KP7TB3"J1X\C M$4X;*+WJ"GMY^%EJF(LF4MYB5 MIZ/9L>_H9A8SJ&^N."I].A:MHB] M*#=,S^A#:$WMK^5!ZE,O: &N6^0_30().S,:(CZ>SC>=0!37[\23IA<&U"6. M#O.V1X!/'(*.P@5=)SDQY=,1TLO"<&XR8GPBIC^'P[BX*.?I8KSQ<;8*DW5E M)1<(E@O/V3:W"BNYEY,-EK+3W*ID6!4K;U@X!H9H*C%39.[>;C?;5JOP[FVU MW>SH>A'=V]7M[OH2.TP++3#QP,,\34>U:&A9MZ]Z-Z:LLZ&FMM-T$OE*FXH% MPD2SU(+:DD7SVCO(7JH3_A>='=J,$:,TDK)\P/H*!DE-H6,[6U+EEJ-2[ M+))@YWZ*G'7,HN%XC#Q#ID33\NY-R]. 8SS'FH4/-L5W64 5W6H6;T_+-?;K MZ:]8WW,1'/(ZIL/WV0-\CP"3PZP+A(2#^SB:%>XV_7J.A71@(;G5$1KG"*1Q M%1^EAD=&O'->Z2GHD7Q,@G% ^&UW;OD6@_LR@?;C#-CK6 (AXED6-&0!4Y0RO"!\FH,$Q4&&VC)28G5=!Y6>0TX;EL8JPM0R^S M>BX966.6=2$/Z&-A&-S+#53M$/3 M;G17!Q\)77(07X9-WDG+#(0KL_.4\4+2*1E51 ?X0E8TXAS6N*Z[QX=^B\2&TH, MI)GT4#D+T)B?:]-[FW9]VN#G/OG!V[2/)6X-0W?7P=%]K+L9'[ZQ825/P:@R_E$)"6 MM+YWYCUYK[/_R7N@4(N1[NUM34=*+-RQG_"'S]H(K["-D&G'!:-XHQM82XC< M8%]E;H#4CZ;GG+Y-IM\:Z^^X1TWNAN%W4U89MWD:X%KI[!($) BH: +B3V26 M((:K$%!;C^7DB"HI\89WX8_,&>:LC+,-F'F>(1;)VR+Y8W8N!$A5$H3\ZC%C'U=?NJ>&S7DIRLV9!F <9$,-7XDKYECY6:C M:[;E3BMW452!N;8]&7I9,@H6J0&+F.6SB 4L8LB:K@@6$2S"(8M8Y;-(J]%5 M+5-6U-7A#()'!(^4SR.M\GFD#3QB6/*Z4^IYXQ'^G#TN'$C^(E#K.>-WUW/\ ME[5NXZF7]UKM\@5!!P1!6VY9&D<%OD5'NTZ5O#JEDU=; ?(R99VK$3^"O HA MKY92/GFIS!M6N&JT%N15#'EM&>!W#/+"BG]-;JG\2R_^#%HNC.2J9%EN\62) M4VCLR20!MDR8.H8$T+&'5&_7,))T\M2UI1GD&-1EX*RE3H?_&(R@KJS457XV MM6V"[Z7(FM46Y%4[\BH_$]FV&MVV;%8@5\^?'=,6E) ="L@5"4I75HMM_=ZHZ+S-Z M)1COE!FO_"*0=KO1;6FRE;\&1#">8+S*,%[YE27M3J.K:1U9USN"\P3GG0SG ME5_*T<%<>Z5XCS^?.L#^NOI+2GA&4RF%!TFV^$9AVM*$XNL\2+Y M8ZPZ!->.%CM[H,&S:],B^H-Y:5P5S]C[&?PQ'A?,7)4JD@>_'[V08(6+1=-( M]?V+5ODQM8X*#H9LF;E+Q?G+)PL.J0&'E!_\ZFC((;K)TPF>@D,$AZ079<>(O\A7[6\\7E).H1 M[T_)#JCC1J%HSEU*Z)3?WM8Q45F:6FY1(+K;N*.N\KO;.A92EY[?G1?4Q1UU ME=\YU<$I/+JL%9:,%N3%#WF5WSK5P0$VJFR81549"3-9)%76,L:U%T9D&)\* M)PU)SQ=]NLOBH/Q>MPZ.L3'D=AUS$R=/7J6W<< >F+91+/Z;W01Y926OTA.K MAJ*")Z;*K78-\T8G3UZE9R4-16MT=5766_R3%W]V+1>VAJJFP6%A#GI@L_9Q6F8+PZ,Y[*@8&+F>F6K!J"\P3GG1#G M<6#\=QI=2Y6-PL[]$IPG.*\"G%=ZL9\!:K=KX.29W-58Y7(>?PXTMY-G.#QI M7"SRI!;)'V.)"-KQ(VCQ:L]UV*+C3WI#RDCII$V>W""IND%4>GFZH>*H#$63 MK<+&XQ>$VVIX*H*I!5,O,W7I1>8&.%K==@>\G*(.5!$\+7CZI'FZ?);6&UVM MHP!/%W4&E^!IP=,GS=/E=^NH>*R>8( +2[Z>%. M,4YO)D OKKUP$M6(!$^NER)*U18ERQ] 9&[_+?[(]1SJ 86WBSJL2E6V,9.& MS/2%VF024FE$O#?)[TO1@$J7_@C>__:/4'*!EP*/-9N2H60G7!%* ?UKX@94 MFH12Y$OAP!WC%]U 8K3'/NP'[#7(+"\D_G3HVR2B#CR5O>8G\"W\]1#!AZ$L MO5#))I[G1U(/?@,")' ?Z?F3B-T]&4; 8!$%=@:PQ6M*%SP.?&=B1TWIEP5< MK.KWC%@43()]'6&;?'P[]%VQ(8 0$4!P'- 2TATM@QQVRO<+^ M0A GH=1[DYZFZX$O/L'NX5,"(DGRO:6O@\2 '43$0U;'9TQAEP!J 8;3AZ3H MC;$>2RC R_1CAC[VWFD_A=2'VWQ [0<']D:",,:M/P&2=,*/YRO,L7@L&EQ, M8,<>O, ["96VD&G&?NCB#>[G8)HF&9,G>M8#POSSC/1AA>=D^$+>PL:GQ;W!QN8! MN0D&JU+I0#M>B;BR'?_S[NJ[+%U[=G-QZ_RL\,8'&85B#:P$$-3(,? ;TZU, MI'T#;O)L>$TLSD;(U+SNY<-/CX!1 \O^N([2EI@R[6DWVV=&%L:9[6S] V,I M";J7B<(I^S+;Q49A,@[I>?K+YU07NQ[;#_O2Y\4%8"YAR6YARXDOSTB_J<3D MGV0QDC*/BQ'3[=VRD(. 4ND' MW#<(I2M0.LXOO>!3]X&.0;WTP/32%7F'\S%J!)$;^"0_0.I'TW.!M0RN_W;T M%AG9V0W#FJ+INYSY4E1=2?7!I14A FH%$4% A1,0?R*3B]*FJHS!6(BS'>[$ MS#HD3T[MF- .!\7:_S][[][<-K+DB7X5A'9ZQ[X!LPGP[9Y5A%J6>W3'MKR6 M??KN7QL@4!1Q# (\ "A9\^EO9E;A01)\ 1) *R),VZ;! M5E8_*S,K\9?_J MNC=2V^VR !XJ17("AR Y&EJ3Y>2)R7O@B2O JE[6)3;'ZFZ M?G#NGA0]*7KU$;T*9.,0-+.NZH.R0'EDODV5G/+L>J/J*8E;PS4L0V*WKRB( M\Z,?ZQQ%J)?IR7O.AI)_=5 _CK_ MK:J.4,<#,)&KSU_5,V MJH-V68@.,B!3(?8Z_WVFCBC#:KLOV:N!['7^V[!.&ZR9OMKIR7AR _GK_-=A M';P.&ZK]&MRV5L^RK82U7)> \F?;LARFW!E!^/O-Q(>YR.CRJCXX__UE!^\O MU9$,_C61O?YW_;JS3 MPUA26_83KU6(OO*H+SWU]VVV@FZYV#ZQ5D0*9Z['7^Z\NN MAF9RKWNP&2/9JWKL=?[;L*Y^=3U2-9FJW$3V.O]M6+>#N6.];O4O6ZMGT5;" M2JY+./F3$=JNLHLU?6JW M7U:G4LE>%6*O\]^%=?MHQ_2ULII;2_:J$'N=_RZL.[BZ[JKMPV-(,I@L@\G; M!.,!6^K)*/*J!CC&=>6ZD \1V>;@*@09:*D>_QSC.G*=?T97UYVVS/ML(/\< MXQ9KC7]Z[:OK@2[YIX'\]SM7U<*0.>F5=0TC)EI(M)?O\UXL]O+T>M4&RR[J_EI(M)5M*=@4* M.7H]1&OMJ3VMK$JTBHIV]6(81XN+_!X:8X==$SV1X6QW81!!_^-WRWZ^_@_X M(QIC9OA/MAL32U_6+_\$1K,GK^6(C];>)3\ZRL__]_7NT[\'B@,38T&HF(+7 M%<,T@=FP:!H87-DH9<#Q8^:OQPB7VM9Z5_IMBN%;^V8W*G=T 9J>WUJ_3?U.\B1).F7+KS8"@K[#/ M+@,1A $"Q5KX('GT=3CU&5-F,,EIH##7PN;6;!XRG+S2::L*MH&GE6*#V3H1K?3FTS@?]UNNS\V!P;\P^JPL64,.\/_ MBS5$U5)-:P%94DW=%C\1U_\4+/5E01FXZ_;[,L=\12AA/WS]ZAAN>.-:=_]: MV/,9L,P'.S =+UCX[#O\_$_',W_&;--O<\8$6C'K)A2?X> ,>&P.PX?^ LZ! MK]\>OMY]^_Y_E)LO'Y2[__WC_NOGNR_?5>7+W?>(X\0T5^BUP@O)>^$=UR4M M,&-9:PO(S0/\(QLDP05*#6 #OW8.N-&EHFOF@?L??27/R*CP79I*?2C M/Y9?@9+;853-'9;;6[PBFL8\6;Q=8N^6K$9^7>]46O4&VS\ MNMW2-GZW;5AMT!H--G^],NPQ;+2]E]%N]=O;OCU@ _2S;<".*[F=U]?KCV9X MO'BP,O^87MYPK[NY]1-W8UI94[?@ S/%#FBT _K2#IPZAY"TYLF<_(\+'XQ& M.*=)ZT_ U8:_!RO&U9ZI )<5 KJTCMQ:9T?Z_D9;Z2_?"X*\X9P^P;MJP[+R M5!H4K,F=6"4%][(%=T>N1,F"BXT_U7[_X*2(.@MN8^MS,:*S *LM<1!ED>ZJ MN.W(7RA9W+I8=@[.=ZPX M^S76+K^3YO@F2=D!SE:RP3.\NNZI^J#Z8.O2'*\$=^[ =BN9.T?H+ [TZJ/K M2',\&QZ-&0&;>HZEV+.Y[STS9 5IG*]5D.S 22M7J@9M#E$_6,_3:I;U)(WW MDMAS1R%$R>RI(<)]>UA]Q!)IVV?RUE<'7LG\8FJ^R<93]Z0WT@.ZD1[TJM^( M1)KVE>#.DUZ[#NC:=31L.G,B#;M/[N#;6>"?L(V6>65MQB$%_6,Y>#07O MM-94'ZRIH:H=WJXG+[FJ))1G\ 0NCJU/FBPVP%ZMV OX8/3(.K-U8UV(3^ N MO,?Z\L5LX1A886ZQN0_<0'60TI'(=:#<)-OX(;6+\'>'X5] &&]F'JSWO^GS MC8*:6T:QX:VN=@^/,U7I:WP!IO"1Y5SJ[47(45=>V^L-QJ:8AW]3VU/RK9L2N!BE72:F@F/=6&3P]N?T8NI\P-,*3MS:5!<+^.3@[G'N^*7>/..7.U76[ MM9XZK8C9KD" *1\%F7+BB%E9)$?:Y=R)(VX$WDAFT$XI3K;>$6>+R)NM]1NJ M#60[,7*;&$H(_0#'F'N!C>]Z[S-PC&%6"134;U=+OQ)O;B<_,<:@J!?AYI]L MGS/'O#FIAM/:*SN>^C,'M%WG*OK1U(\F/C>>V+NQSXR?[XP)K.N]X;P8K\'5 M[\L[ MN1WOY-.W=F4#S$ZU25>]=L;62B,\_PBQ>R0 D]Y=;#TS( 18=9(V@X M4+3WH^T:+@BQHSR&\,%R;GC%UO+FAVLL+!NF_3:+/2L-G]@K"3[QW@T-]\D& M6PIQC\-@&VKBL+^.FCCLKZ,FWG_Y?O/EK_L_/]TI-X^/=]\?BP,F\N$S7JI? MY811?#2GS%HX[&$"+ HT_P0ZUUI=_7+^V 82F=ES0$8AGJ5>*E,CN14VAL5:UGJ.CSLPDY8$3MS966I];: M3:Z*[NV 9BE=TO :7.VWJP_()2OL<_/2#AR5TGFI@[S4/;Q4N$1>DC9XNH*> M.HLN#(<2).*.B_R:WW.#J3T_89SMXJVJW@Y\EM+E$]-F$-_NX/(V::)7CYEV M9(F7SDP(7:ZIPT&5*ECDS4G,/%\\%Q8YF[.P:D&71IM<.U*R"P0]1WWPA3O2 M/F\@L^R 2BG"+ -@EM)0&:0!7BIS/(13YE=,&3?:)"K_)G5(X03'Y75Z*VF]O')L:1,+P@KIF0O%;SGM"YIK]U&2UGM]52F>O,!EM5Q0^ M%-72^#NYI5&GLG6M+4/>C6.NXHJ]+.;J4&.3[J!*70D;"[BT5B>6B;5TQH( M"=,B85I*/@7S [7TVMVK:WVD=OME96%4%:A%HBU),:Z)O5%$C'LDQGK94,1G M%.,]L)$.1SLY+UK2%J@ <$32MF;EL)32DWN8K')P3LR;7KN/Z$KK=O$!"#T[ M@)5*GO\ Y[]^A)8,M61D<43I4$LE;\T0P9.AL!4\B)&V0A22XM8 V9: MU4X' D^<5U=E3'Y/J*/^52U@:/HEP=#\Y7G6"W#$%OB9GM9>0X*!S];A9_YZ M>/CP]_VG3T4 9_B A:%EHF5D3'YMFC5CY>]+*#$"S&4Q@YG#(('R)%:NA#Z\ MA$MZ$!^\N53V)@B:RT&@&79;H]Z@? 6O37L=LH 8"D>1SWLSN/XV"*K+DTV MML@:H,J)(H(SV[(<=DKG[4_#,5R3*4:H; =4.>26K>F._:X5-]MICP[%O.ZY M!NZM3IBO?T*N &YL>/SI^]'SX MIZO<_0*9<)]8(;ZO6?K]FX,8/X!)P]\V28#8T-N%[S/7?/V.S@0OG/S+L-U/ MF3F@/0UK[M81:]Y>0BK^.0S!W>""NU9[6;<\N1==0:DO\2ZVL#W8HX:H_799 MB"6GROJ+)A)M:)=PYL=6V#VUWSMZT4&=;$ 9":BAB/1W8$]%(O)5;.Z-:<+.A+ --\FF MYI:? <4$](-1/65,0,8$#HX)K(O 48("PZOK@;9>1=SDJ$"EK,+]KX>6W3&9 M&WJL7:F@XJC"-=.HK&NFTBEVQ"S0^B6?W'HS>-^K@H!+#L-*PXW,8^ ]"F^6 MMS4@??_EXRH7P0:!#GN8_+D(8!9!P(+H4F:)KV A)O+6"Y R8&[,5NV8K?3V MU;7GLO7LQM3D>(++?NDQ+056 /\./05[L"E:A[)K+#LP%T& @U$K)SM(OZ#T M1H>;V$!V/MS4^5!;(4&QSH>C.!U0=CX\TPQEY\-JI)P.2NM\^ PD\OS7;3FG M^GKW0?@LJ^7A/^Z^?'_X=G_W6"CME,8LG'8:+X6[2&%V&\.>KN?,05T"]](' MIZ3]9CL SW\X6$&Z\,2SHZ4KAI]*2+44(Q#IJD$9^:1[[L1I,TQ'W9;>*=;B ML-W21]WR$TP'K<&@6-[JCG:$O?WZ!N:>[.C$[0AKT#=/M@XLNW5@75(\OADO M"C@X# =:"]S+E Z9TK$Q]A(;(,!"GR,.^L+"A\DW!I-[9KFO+'1,8QRJ@VY9 MT->5J:#?D2 AY>R2Y6Q'C/,(#U8-2JPOXSM^>_Q-=E+GOF2PH M=G->LWO#8QQ!N(WW[E>^B8?)!K9?4/M:62B#%<)IN71FVE?/ELA,_:OKOCKH ME=59M4;7TJ=G!<2)":;,HK)DF8-44)-&NX@WJPM!68:H5RD"2$)$G M5:4E*_6\XQFBZLAA8S)"AH"/"S?$ M!Q9SS-?*"9$XW)$A^@D6^C"YI7=_%//_;/RR9XO9GY[O$S[:K3&';\+7O)") M'6REH/=:ZVYR HKY,K7-J6('2K 8_Y.9(2Z1P$V9/Z-M,:*-,6!'* ]-X1EJ M-W/?=I2^@%M[@S^ZXNM0;J)'K]ZVE!L:)LX#X&H@2@90-Z?=[M[.=&RTU M6FATVR_6*:[\5=K4A'\M9++TD-&K8(2<'#8JNB5[,! BD_>W\(_8"0.+]D#2 MUCB%4>RR9Y>64DT<9\ M[H )A"EET13H)6KV7&W7=!860T5K>K.93;6"RH0Q^)'[1+K5]V:;Q=>EU/94 MASC57M94D5:)@'Z*[8S<\^\><_XCA,HN;:M[1YQJMXU3W;C5ZZJ/[SD IQU' J[1A7$H*YS8RI8'#+^"L-'U[GM;-JWY).,6C'9;@>C!Y/-%?[ 7 M- $J6/%(8!Z!C@&5\G5,YH<&ILF@ M'1KB\\PU09)\M,8#E=Q!(#L0=(G3HL16=#7AIS Z';F$;%_K[?^>]OVV&8;Q MSAD3V/H9U=[1)KAHC> _3.^9N0965A#?^XPJ'ZF% C SL3_R.]C,*FTNDF,& M(]*H#HSB*.R7#>J=2L)==.#Q:R0)7L0KD>^D\B+.5^4%C.2T8G&,%Q@Z'M*( MP2]@)!-++540/0>FZ@/W1.5605QN1>_$5=H3VQ0!RP8GF:K, M#1!LXQ=:RD&T2.))>+U*8\0SL-U@08Q%>X-J2<4?O3#@,(.JP>!0>TJ8$A4H MO!R&FRQ /\$NH#X%JYZ)/9TAY5*:A/,NK(?V,YH_#F4" M, ZWOO&TB4;9>E64,@9^S9FS8@E$Q;&WT81RUL1VP6L/7S+<]H28\5K55 7/ M@?)Y4G&\B>70,0*,O+SBOYD!7O7$QAU1P$/TL5QSXZ*6BHW0,=ZE<]Z=7.EH M,4E.]<[E$JQ1JS_ )9/4!%-4^'A"(P;1BV*'>Q@6Y*/_,MFV.O)-!MJF$&&& MR$2B$EEHMT*-T!Q$V#!+4A#2-,N*QFFC)T!ZJLX*@R+R*1']$B8:@Z2S M@-2[>Q)6BOB8LY#M;F(AS%[-\ADC%BK3ZM&[K4%O7S2 0X<__?4%4,<3=QBW M-Q^VQ'M-8SW>VQ^=\48!&PEU,US3.![\!LPOWX.7 9^#B90OE'W>I0V0P;?U M/UN^QXCK&=]NN8@*I[ZW>)J2>Q+9)& $AG:XB! [;@W7L RR3R([D9N/I$KX MM\ Y_KP%SR@O4[!A7M]Y+_@0QM1MRT:C3O@G:-*! TF_LH&UXXG A_!&X;:" MF;D0[K5@2?" P<[Z24O@#BZ8\,!,90=)#X[V*+_^?CG;33?/PWW M9^PK@4\VX^$69>XL@MQ:;; K9'Q0@&FX1P0V!^[)!6.3Z"O;E/I3PHQ(F)%C MPXQLSN"H4*Y&MNB@HP[*]0E<.;#(&-?_J)[G!@)P4'P#M/2.NW3R]S==/Q_O M(,YQST[ 0WDF,LAS_Y9C(KUVYH7__AD G@C5(BV3Y)%6KO:2D0-!&6KO^V23 M5M%T++KU2.);U12 M$I\ '0Z^&J]HBMVX%GSB+YCU"4PSM"9M%FQ+\NME9.#U,I+\;FYO'WY\^?ZH M?+WY/S=_?KI3;KY\4.##;S_N/BB?[F_^C+/@"B0"]@Z"5-IG"S; +/7RPBQ5 M\49AM=4G6.R\V.O'[J5#Y^PX>.YF<\=[9>P;WJ L MN' M+HVV\&\[G-Y2.BCS(REX+2H#@ZOKGMK/N#^72$PUYZ8=ZG0_;EIGF"&6E)8% MPRNMSRW$ODFU!IIZCH4KP?!/\4Z:#38>-NA.2IQ,;>1_BGW\*K9Q"Z./P#H8 M=2MD&T@S\YAZL3BG]+'&<72P2I16Y&XZ/U#1D30A2XH#W[@6[>CZ979!<[*O M@76@=H;2G&P<9^4+@);/63IREMZ1()^R)>[1=J7F(II;^9"Q6YY,(WB8KHX&!Z.T5T:F:P04.JQ'CK'6+BG)^*-A M^_\PG 5+,HF#]61:Q"I:327N]]93B0N^^S,S\,7H[W\%YC-?^9\9\^AGS*._ M/H^/-_??E'_WN\]V7[QD9S 4RFOFZ,W9#O]K\FW[F;_J% M2FS.FY9\\WBK#/5VA!@#OPP$#-%\$5+)U#.0E*\^9.;4M?^U@$<(@@V!2CBI ME0G0GIXD "..9)1D.T]MYAN^.7T],/GXO%N%)>*.HBE4T:G]H3R,L=."0!*D MW0H6YA3SL?^U\+"J#/84$[3?+%Q# '2])2 =0H-"!*B?+.3X(C:N"/6MP,Y! M3,-4>*;64#I\V_1XV^[Y7D7 -P8';UK>LO5=BC&CO&37!1JD9?O,1#Q-W$@W M^I:3X[E/[Q!(BZK;.-22:?C^*P&YS?@H^)NCS2"8 I'Y%,8).FT*GR%] M=HV9:<#1%A74N,SP^4\%,!Y*,O\.'IID[>G*$OFP$888KP&,$0%/2;V[\$*O?:9T\HKQPQ' M%V)''^6K!JV:X."FP>IH"ZST%L#6T1;9 2*@P7=>I.'Y22&.B)2T4:%G=$QP M<+D$SHWO6L1DM=8UJQ#UW$Y^P@KN](GH\P0TCL-!'$RLY"*:(//)R<;R6)@6 M[+_G1AR\3 (NB>EAL<#68AQ/&T9?!*1IE,_HNRBWAN]XRJ,]6SC?H43 $"Y]1>) V:*S)> NBQ*9W4L:U49X4N[2 M)\HW]NE;69IQ)?!2((B4BKR*>)+UX'Y#$%L?-H'0C3("2H.:5XFG5AW%5BQ$ ME4J?>BXU?1$;P>%74T7@%IEA+OFJ8X:X>T3H&/;S.&7A6;MVVCKQ4;^E]3J% MRL3U5K>]^>O"E=?]UJ#3.4:9>,%1=TZV*\O$99EXN67B56YJG8XSO=^#K!OO MU78G.Q7BC9SO:V+?<2+1IILQ_N=MXEU^VIS0>'"JV=FWHEAA<9/N\+6!OOT6 M_T]T]ED0W'JS,3;3@@$3[D!OQP9YHH_C"HWGB/\] VQ573Y?#9Q>.L7 M[!3"7*"KP['$K)GMVD'H\_XD[-<YH4T"> M263 I >U2^UG%CZ_:!P+E9SJ:K,,&3HS7OFE?R3JSBL)N\,E$46>=XKB%ZB. M8<_$99,I"E(#E:[('1M[_.)#:/2 :#*!!1"TE,^&:SQ%[3GAP>>HMXYA8??- MD/&&. &U_Z&67&/&7-%!*&K:Q9)[V9N:>A5U-_%_@FO MGV)C(^RZZ[YN6!],@5_LQ"VH;-@MDYJAX56PSX*%P[46=J;B?8M4?KT\H3B8 MEVYW%%VW*-1W;.:%;&=8,P^J;;>5#6I;CL;JUD1CZ25IK#O#Q_O2X"OS'Z=& MIG+*2,\;9&"EWMU\^P+*Z%'Y>O=->?S/FV]WA7((!QP5M5[ZZF_J*CA?@&AC M#-E4F-A60OP/<&,QG086Q7N(NXR:GJ$!(&"Y^? 8H!;M6WCG KJ@@$,%]H=& M68:,MA84MD[P2EO*!QLO.*WE":1'2+KP@KV('>O@#4^$$8Z*Q^2IIB#%F(< M1*-V=R'P ]G*JY?I!;%K5YD.;R!,.##%Y#? U@Z:"%N+2A_4IL,"P3FHERU! MQ#6F$#Q &:/BE.!\9T0](C,83UY2K'S7Z;=&Q[BDZ!0>=OMWW7Y?3K9>D]5/ M" M$3O]-$.2]>AYT,+5: M[??* EK=6_'4 /A!BE+31&D'8L-AHM0E4>IH0RE*4I0:+TK'E*3>U76WK0X[ M):.;2$F2DE1!2>H=4Y001[^CMO6RP'*/*TH7%-W[P%QOAMERI<7W5E";2HDC ME!R+D%,\V10O*&;R]^KM,+] YG?$%PW&SK<@;T0AVL\;OIU?* 'C84(9"L%# MDG9!V0JY3Z3!U;4^4/OZP6BQ$KZ]BKRUP\4^+F\-.6]I56H;)'FK--XZ)VN- MA-HJRR>5K%4IUMKAA!V5MX9MH;:JU-&DSJY83ON1LBVI:B5.!,U.^KSHCA;% M;,G[))/VEI)ONYD=>MQ$W8&U_[R.+)8K+(TCNR7'%*2'%E[ MCCPO0XJKF8Y4D9(A#XJ+EL:1T87.P;! ,GVEW/25N[7R:IG%(JL'JX5LK\DBS>(Q;L' ML/BH32Q>5OF,9'')XL=@\4,X7+NZUB2'2PZO-H?W#F%Q'5F\4EER=?;*BV0R M,2OOK>#6[M_[^&R-$>M2-Z0I^B"?WR)X,-$(G7(\ES))4W%4?"F/4AY+<[+6 MY+%;CILEY5'*HY3'W![AFCCVRO$)I3A*<93BF-]]79/'?CD.;!7D<8\&-J?O MF'+,L??L;3"X*CJA[ MQT?EYO9__[A_O/]^__!E_^XK%]S+O"M[F5>N_[?L9I[HJ4-LI3:Q\@&.M08W(]^P] 0<7M1KZY)ET M&E[<#GQ=^.;4")CR%4[V/ Q0X36EV?K[Z_SRV#J] 4!@<):6]^ (=^+92P^] M^2D#1I^-5T7C=E*#NEN<>!._^N +F82(\HBN->]RB.>_MN+HP]?E2X+'S<$^]YT9COP>"X)UYGOL;C.PHTLQN/ M)^W&O_LPT0GS?69I>4N/1J.KZY[::^OE!H)+JSSB=+LLQ40!>R4R6*2"+WY* M^C]9J-S]@A<&JS;O'I<&!8-!WYCI/;DP3>L>(S/VQ&;630#G!P\/@93>N-:G MI.,\? >OV- %M=]N-R!.M-H%=>ZS ".+O)5M9)G/T3)7#'B4^RC4HCN MTN'S]#UC>@(EOW+C>X[K^F\T](LZS W(M2XI2G)FTZ/T0M^&5^+>&L&T$%5E M84SC"F-R^Z$"QRWX[@E#-G),6?"7G[]K2[^ME>1[GK]0K+(<_?]DQ4-7$@&G!*; BHQ\[7,4Z)2HS1 -LM6]0+G^T'1J0;=[9GK:OV9_L. MA*N,&/-Z' M#'7M$LI 1X8L[>.09COQ,N-=^&\&HM2H!OLJ#80NSW9@F3#L, M%)^9#,@*G'#4$^(2>G2<74X7OH^XS/3DMYBNF=+:P7[U3>LWU%A3X-Y]!L)Z M_NM1(SB7 )!^;AF-*9DEE%T0ROY 'J'U.$*_^FQNV!:EX7GAE/F*0?27YVC- M973I'!54OOLUQ^H*>/X!2WL.!'^Q=V22@NMO)H+2:V M($U.J3)+E-PLE?T&]K9I[,'ZW37.WMN,+7G\MP\BHP.SB2C.6]\L=&!.FJ7!3LAC]8C,^%? MGF>]V(XC#]8S^*C1YN>6LA$K1#''6VE?7G<[Z3>G;2STMCY%6LNMW M)9?=53G](=^**RC^50@41V=WIB+XPL*\9[I6=V"IP&^N"]++J MHO9,S%0>)KRXR32"*7)E4M"I*O^6CX>'2SS<.T[B;C]A1IVP=3>P(NR0@U-^ M,0)ERAQ+0;I3+1?64#N$*:4$]J\( 8A@OZ@2; DNR B9JLP9-=2C;P7($'[I M3103Z&O8+FT%OG]A.(HW!EKS2,,* %:6/XP]ZX2=XWY($P)+-]];"?V6&G_!\Y^IZM$H3!1\)6LKW*0M8QDKQ!%#& M\,^9!]H(#@P%F-< O@&3D3!;0/Q"$ +>,\D!$:(K09MS]J,(%<#XD>GGS+Q MO1G7'&8]$=/@(\\&;. B4&94_QNHBF4'O#,]OCQY?/Q*CT<#!='OXU>,A9I4 M@9[ KC 9@T^"@6]@4H/T5Y6?N::SL$@UP)$ AX7[I"I/#'92/&58 M,Y!AE!(JVF/\+GU5I]=K$[^G&P1:LQ3_(/C6#1W6N6V.+@(6KP>.E!.U?CQ! L?[%AX9=FRSL=',23L%,$S>&4=;$0;KB'CPF?KD-C+F!Z+ M"$=@F;9SW^.LA<<=L"Q\E-#63J:QC :2, *WJ,@J\^;",P93C%L/D5/(@#8S M>EUD)8C;9OR>LY8POHW(<]P.W;T5*?Z"P;Q[$LR[<@#8$LP[@>W.^):KKLIT M/\@6K"1H$,1(2!8YG/8DZQ2U%,\4SA?\^_\U8,E^# 9))R/\19?HV?UN:Z3O M!Q!4 3#F7DOO[@?&7)')[@?H=$+HI5&=H)>^H/'ZF1NO=^O&:QX,VY/#5^U[ MNW(D>V6_#>8=!!:;CA2Y1WR/]'VL@=//;#OA&IL&)&))#4 5KG)Z0\G PA5/ M;]@ON2'=MR8*% ANS)VH, +-,M+4T7 ]1%0-2.%S-G.4 M8T =LS?:A$"=/; M(&'=H3HWJNMM6A_V# MS^"*E0!(N6B&7!QP:AXF&#KFTJO:X."CLT3!V)#[=YQ^Q:?+=CGT6M#R6*"X M7L@3P_P0+SK&F#UDV29/#!+Y6M%%X7>59!M>*HO?/$*:Z65BLPH!7.#QLQE$SL](G]%9GZ98BT8 M[D^2CY:>!QAWF V9_)(Y]DSD$.#<\7768NY$^TI)7JL9M"?OH+UGE^O>:-#N MCP;]P7#8OSK@9N-T5UU:MZ2&UX^+<<#^M8#]O'NF_.ZU"WV]LWZAKW?6+_0? M?_SY>/>_?]Q]^:[<_0/^W-'?>L-]&XU<055%X[RW0WBKN0=]TJ<.BL0>V@W!JN8=D&K \O)Q5C 8OT2%-, M;&>VG%Z+-Y"V&\!>\YK_>/<4F/S#\M*#V0Q.*E] @AH*:M3[>X_ MU;N%[\U9UE3GH(I#/'VH%P3F*>'E[+Q_XZ+E7V+NZ'NPL M8J$$-1!11J_"HEPLX12&0GQIQW\3I9UA CNEN-.\,-L]G?$\%S!P<;X2?.8M M_$V#;A"ZC^#\GNBW)G_^3^&NC;X M(U ^V(&Y"()(W=VXAO-*-1R35,H-TLV.5>*W))GM(4YF*[R/G<+[F)>PE3K? M-I[CFYP0H$D.\H&F?@;EB84CHF1ABDU ?73MC+O%+9O(C_BO)2E/>7+VP M*U6Y NV!_UD$\"M5&H8]QFP]R#Z(NFU M^W3&O1B^]<[QO)]X-O)S_MES8"]\._C)%[IP15T>5KO2'L%&,_S<$C5^4V90 M\J:8SD-5Z,! MKA(6^/?R9/>*OKK*2K&C;QX7\SFO=<3\K ]&:%Q%;N"-ZV*UXC>^(.ZU8I[7 MLV$[Q#P>?^[Q[C;FV1*S=FB)]JHTZ'\@O!E$*E MI7)VC7ZJW67\].X7F+ON$TN-T4V/$55 ;IDQZI!@,?XGO"=*S Z,">@#PQ^# MAC)]1F8-U>1Y,%3 )Q2L1TNB%'$*O*!B#2*!2>DV$IHQFQK.A*(@,^/GUNGQ MT(@]HR@*_1?-,BQ($X&>C/1SYK#YU'/1)W'!S&:@^TCV?X>)@;QB83=J#3#S MHA7/%V,XNE1A!@:4J\X,- (]7W -O&+#:O"4\5T6TMBH#-1X!U[L@+64&V>Y M1HP.'=#I[M*GDS3C34!7+ING:5T+PX.5BA.-*)/>?'";7C/VC1\BED7K0YOZ MF7A(51C%*&C2%OS=\>:I4R<]-*^NA"?'S+'A2?X; \X4TYYCWVU>5PN?(64I M'78YPI9Y8"5[D"(B)X6!P=F%8_B38A"PKN%)':_:N1G8I"NX3\#PQMC'S\%002@!KPM1, M1LZP0-4-YB$?RCJ5A=MPJ60G$8.&N(V5%6U$$XL7S+7BA_3,V>(42BPHO$U8_?,GZ<(;T6/T0)L_P%%C]'"0XP)3_]<]#W ;#6?O"]U#/K,T$].#J M9\$T:WI> MGY"!A[!77!J7/:4O@H!;./FC8U'\DQB5^3-BY\ &L3/\R&SBG B>&7XG3@^+ MSABTR-$*,]SXRBD*,F[DR9;R<3.[BLL880@FMT)N5,63)9UF'/U9ND3++)+$ M=3(G8"]37F6?EHZTX;+1&3MBJ*,E2%=G6W\+;='@X!%G#"/S?@#"CHET)UD2 M@L.X*:08DPD:#Z*4,5*'A("P;"TON]7XP(0[N<+:HG&P[;K?""S5GA4(JR! M-Y\[,WBB(&#]6,!.]>+EK=&Z+6HF^@ F M>7SQ ^IB"L^#MV Q!'1"V4!=D=S-!(8C> H.!P*&@>^?P;:=[8_Z(&QAD"@@="I9B#TJJ 71@X]"URE)$L.[_[09S(PFHA(6I*21]=U,W0FN&)3 M&'>%T!9\#?#Z'0XY'O#F@2ET"SA&8N+ZQ=,#3+LXZ"HX9!:#2EVPH.B2'GOQ>6$EQ0\ M_M$'=$M./#@!A5F/='+9"^$"+Z4><\@[^";VO4$XX_,3R1Y.6\KF&T=)N8/] M<'?-YO<6*ZW-N+>,^Q6%N41Z,?,3"JYJ65/4J_@S&I B+5($CZM$Q4W]:QJ_ M.)VU'&6W@9/!0\FQMEVXP<)$UP*1RCVR,K&E@X('+ ;/#2"ZSP*@I"G)>&(G MPB)%2%+DLO#%\W_2A1\*U H&.)HJ+OI_^",S:E.(%SBBR"PALJ3A46F(US+L M%^*^=R% M'X?&W+:$/9)8.#(P=@(I2ET7FXYAS[ARP[Y#3Z)(CZ<;>)@?A#G)<*;YP9KP MI!,%A+$9MZ#C=],OA@_R"?_@KY&D/86TS>;@89-Y:2ACWS,L?G3AYYB:0JT8 MGFR>.&7!:09;:0HKAGM[7&'RVQW^,RP?4BFM\IWI^<*P514&HNW->)9JR,!V MY;UUYEA7YX>OJF*^CL%VY?8+*@!EJ30<2ETZ\UF0(U'O#\0SI[%3&K/!$X>$LU[<9]0>5I8 M@H,I39CLOIDL%YSB/6A:BK<4JJ)1%I0F7B(?M?^(<@)?ESR(,1@BSQX*AR,/ MH^/;"'80P+Y'155PTK!_+?#L"9**K_AB7.26TJV1;WN^.*.\%:4IJ794J@E\ MH.1*;XZW;S:6*[L6U;])@IR.((]3 \N^&>Q/W,%09'9CM)%?C3)>X>T8 K&QH_&>6)4#4_3V+D!AV5@!I8%.%;5//WN@H?(V2(LO#CA'9)L>-: M"9;M,S-!2L!=Q^LR G!+NZ]+24 +&4HX=O;^JV.\\*(E*IE($"U$VH@2>:Q@ MOW&@.ZR,,IX]GS*-_[FP;,K2 N6XF)&*Q*XPX,I(TAV1=%17^?"/^P_OM!$H M.=B3&>'(<07($\F=V*J3MR9G*(>9&(@3L)R7SXNSDN#K4JEM4IB[UOZ.\EXI M57+BQ%'^E?['U00)R:;:OADLE:P/_)M%B 5$&SMD,ZRRXT<9%K=2U:5A-B 4/&+'.A,R)T492]8?H';D,[^P%M" "1' H/K CE MQY(MKZQFO3,2-*/EKRP1I*8F3 MQXNRJ>QSCM6^M)D6 M#9\\A276<=9IA3#L!A*'$9^=ISL%=V0& %5X,;KR M1GM+Y4@O2"KZ-IHV+MAG'*20$@!(.I:HQ'$>,2W?C$,/VX!F8*)O]+>4 PE" MQ,$)IZ+Q+!:24C+DUC&JJ3&S894B?^7A&4$KV4N=%>A'!-CF8J6-1@-Q?VEZ M"/\LV@4K7]BS81GX-[W=[JB$AT;11;QD$R+GP\X7DUZPKFJ$H5]PXN>>E3*OE. MAG@! G@O!% :J.E2;6-I@AP*-8(8PPM:WV;T]VB-+071D_2V-B0<3M#U!FUP MJHH3/2Z2B4#<&G( :M^:CO $&FN*K9\RGXT>@U7$ #\-Y2Q]$ MU\/\-VG05D+F1$];XF/,WL^?\QG0WG] IG,A],UA6M""2 6&\-A3J ^/H/#>[) :R\:6S@( M*V3D^"6"/SCV"8=!#H2%,>8H^!&63&J5$?:*2,:S"1TKC@#X#%2%&WWA^3:( M4V2;$3V )6'Q5*B.3X.HL^NH\8]GI':IE,%8XT9BKSJ>UX M@3>?@M(G?X.V%^4!C0%N:XT9_@;12A'VA>=1LG3B*YJQ$3X._E2DQR9ITF") M$9+. A6/8%5OCJ8EXC<3 S ,W-G\AV@S1O5JR.::[PS:FR]LU]P+H4[(N_WA$B3-?\&7EC?;VTRI*LOU M9%;,>E;,L&E9,5)?%-,7=.>(T8ZOAF\ &_/N&@;8I$NH.UE8._3@OI9,5;5# M?V/O&WE.'9/O$(=8N$ID/']AZ#@X!N6/\..( 2CDTH\&S54H%[&[ MJBPXD*QV5%:+.TYM-8MB:*F5+(ROZ,'^$MH.;'M_WB( Z*7/45TZ KURXAO@ M-=H!UYK+D;KEV(9XD"7-B,1;)$.<5/=\9K]LTQ-JI^X'VE RSU&9AP>%!/O$ M(;FEV#7>KF(0.8HV)PC&\8()U[>(SNS]JK (_8Z8SPW3 R,^DIC[$7,E ML0#[/?'@_$>?>FQN\E0%(#[U\^,-#\0/;L#^5+X99H[*74F\,HBW.6\E)NLF M8OZGA]>A4>/@?S#'@X?O7==[%GW9DH##4I;0TALI98?.(TP_ ]9(^0YJRJ]0 M,3D7\Q%XJ@NY*)3+R4*>JE+S\T>37'\>E05ZQ\66[7BQGMU>&W@?OGV:1HW- MQ.4CM6,,-@?E&)CM7Q$L3?D(/*XJGS[=9I]VV7ELRV<>90*D ;G6#\%'PPF5 M3UBR=4LP(S]"8^\D#LE5AUHU$R1?JI?,\D6UX!6DHHB?\C: +Q[E@!':(6:* MI'M01T9YFJ^B_!*>-;72.9PG3&'OV*@-3%PN;KO8+E)D'F-H,?2CX@>$H[*M M=QQ +,WUT0H>>?@'.RD!_==._+]9@-%J:7F=F.%L%XLU/WZ[^7P'NB6TZ#J4 MPQ;[41NA!2:-+WQ^[F[()HPR'O$('MOFJTG@?^$4F&@YC33* G?AR$^IK#@; MMGC J")'L'[D$,1%%W1MX]RZ)I0G4+0R.H'1$THA2";$I2W8Z(19F^923'E^-1J#-!!#%JP^2 MN]$X\U*DM0"=Q;V)T:J@"*VXKR<].C@2>RBZ.2JB1!66.UGJ.UDK4 MMB$Y6F<^BD3&[^M:1A._A@.M@$C)5$Y&[38MBS.W\RI<<<0.I-0!WH0L[GJD M@C^.$?,[EX:?KO3C,>F+BWBZ-S8TYRJ2R.8XLKXU%?^X8)B_UP :UD>&,"J\ M8<8LVXAPM:DJ$<> !\&&L[&CNHJ+FS)GOF+19;?I%I.CQ>^/D%])VM+Y0T*R M= B)U6/=12QK,<#U6("@6DMI=)"E Q::8=L">2(,NJ8,GO)&@QH'PIM:RD-"MJ2]0U.<.-;[FOO)* MJAR7_A>VM J8O^-1 3<"!QC6/PV3 P.0*"7U0+P.[D BGM1/^>X3C!JN^4>Z MS7&=^?"S8?I>C">RW+T9;2B0^3@HUGILI7";4;D'D:OZXOD.E03&$",JHH[$ M1P+X)8H?AP-)!5(?J( CD>!1'Y7SX5L^> YV7X_\"0(/HI<*!XV&0U<.R)9]OS@1%O8IA#.GNFML.6T!RP M2[=OHQ=E$:YK#-K 6SKBEPL;/5N$(0;AM1"I1';T:0 M%0G811!A)R1RNQSM!W/(L%UQ=X4*'@LO0?EF,,JK&(H7HL9%Q=P*3W-.7):Z MSCA1/UH!Z,!A,++QA]08G 2U8]PXGJ,@QV G,10.K)XQY1OBWT3-PM]%B1Q' MB1'1..\1F-DV]SP&0%=F-;[>D*$(.O,&];#C@?A8U*0R8D5RW(TH>6!U@&W= MLX^P\R)%YM2!N*OK)0RI:YB;61*IRPWP/YB:*.FZ>?,(R) OB/BZR_]N#DYL738O^@0P9: B:$J7,4M$Q?#DLB3.$B[JG1!?L5&$#,J]U)4-6<) 3FM).IF,=? @H8=)!:"K[?FXW4B)E8YB MJ<%2!=7E*E^I?<^K?2];%_Y-5MRW11#81ASJ :DP(N_JQT^TD3CL.!IY4VR8 MDE"46W IB5HF"$DW;RW%,0O BXW-V!C#:Q(ABH%A;&.;]A10#S7:X;&I].,L M0G!._.2T"4O0IH3AQ*560,R'RZXV\YAX>!R9F.B5M8%;P#066 M";7XHJTD<#*!8,$%@>XZEGM^13L7"<+I[9"*BE[6_8"\UZ'+\,WW.CAOV_I? M5_;(T(UNIS>9P/^ZW79_; Y 6?>L#AM;QK S_+^#_M5Y+X,*D+\&H9?_8J_* MGY$R_,S :C*5=[P@_(OGOOOKYN8K_]?'^"S\#%XSZ.9:1V0@Y7HH AASS "D=P%B;=&P$&IJ/:=X;L$'/YN;1D,+^QWZ8 R6*,*-ZD*J(EF- +,[:8WMCP&XY_*PYV'FM# M+R\:P#)>$8,._I.R>EO*YT0H*#@MM@<11 5"' ZV>0/0<>10GQP0:@PV(; B M(H+B[PW'7% 6*^P'IF4_<_P\Y@9&7/Z)@S-PDKU7AES\IO.6A\@=PW7%92C: M.2F0*"&(#.:VE.P8BY[!S_]DRN.%!1((@W=I7@PCI3@M&BA-3X1DB/IHIJ]O MXCU+05A%V(EO>C0HEB40>G34[8_S40P/3D2U89&\BYRM=DXB)D;"@R\FBY?"^B-V:36=A5 M@3'#NWR7L@2#%,-S0%TV02= 3 1= 182H.@,[Y]A"]X8;_GA@@R#*:&T"U9* M;7''/J6U@&1C\:,X_HVA7C=@*HXO*&#&S]#;0N-7]%2M]1L!!GI1?O^\+LFOI38Z/6!*=^9^*YYP-Y'?_D#.Q@XQNM[ MVZ6MH1_]L?P*3/NE9 90->(M]$+^=6+ZM=K<_ M]^'\K>K/XND5?_1Y:Z]_I MP]:P/]CX=;NE;?QNV[":UM([HT+#;O^NWR[VR[-,MMLM?[(#F&NG)G.MU<;6 M:K+'XX+^7K_\G?0,US6@SE!;_J^KSE7BQU*2\_NVHM&)$HT7/SI:>U2?_\*' MUWW[5?7'-5\YQ]1PET])2O7-#]< NPS.\K?QP;"ZH!QK/\ZC/2B^/H[ M64V?N;%TMVXL58LTM=WF+VB2UF67#Q6 Y%%A]8;>_#T\RTODE&B+:T V]!3V MH,U>R[R,[=*/P\H57O1ORBUEIRGEKKP!O"!%1XK.7J)3=.$[#JJQ8?Y\\K$! MT#NQ#--D;#+9Q@]8DGG,C1GM9R[$@:[5K=FUM+WEH*U48/5K$4%:_;\=;]'I MQ?KXRO.O5NNH_5Y_!:^Z[(7CMSDW8)NR/6@^J[I+LG0#6;JC#9O!TCM/7+TD ML=C(P14AJM[J58^B)UO];_O8LGEY2&J^IFF^;EL==MK5DQ/)M9)K-Z^VTU'; M>K?97'MYYW6G54&OHL8'=NYHPX3^K_K1ABC)8W8;"(> M59.MO+*0)JL963HC3=*E@G1Y,QBV.FOW\TME=>;NGC-V=B[/"I<*F1:9ZRPRDS?4;NC@J&OFL8)ZD,972\8"Y"4 M.:X[VM+/0I>*'Q07R E:6^WU\EIS4DA/(J1JIWT>,964V1'C'K3RQHTN7G\V M-HR=A@:XA%"VIFJCD73_*TB986X_2-+E)'Y0MS60<1G)"L(EELJSBI31U>Y0 MWC94DC*CUGE$IL;JL[%A[33LUB5$MS55'Q9,:9=!@&/[05I>LTY2YB24Z;7. M$]&L^(%Q@:S04?M]>3E839#RL/]Q-%!'HX*%.\V0!VF?K);J%ZP7D@9*T3O9WZG3PO5I&Z95HQT' MC9/5D"^[G=:/@!H51JVSE&9US1)=1((IM=4<,][H!V2&-^-#_J'V(Z&G4K\A M UN3!(LQ3#UQM6>PP-[+#4I>;I($.;BQVB(W; M)1G1+WD71]Z@)QDVW;>&VMW0"-341*P$!UE>#<[9!V/B'6G[Y[)EAKUB8 M=M+'AKI.&O,Y< >*"*T.VW.)AMRI-\>+@Q? D!M71O/"YK3QI+#E$K5'B9NU M!S:0E-J5P<8Z,%8\."Z>'HGZ2F'W7D$V;,;IP"_#J,,I-B.#_QG.*VDM&-]S MZ/6OWB*]-=&^*#:UK+=!,8HV,WX6B?F0@;W:*\E]BENMPJ]\ZL4(GL2[[@V[Q_3ANQA7-W9Y, M&+9'1<::PL;!#"R04&(:? NV:.9MI'B'NX!Z?DN_1 +:9T5748/L@!.@!E,'49)-ZF,6T,OM7?+;K=] MI,YD%]28;-#J#7O'Z/(TT#=_7:W&9,-63RNV!6=IHB8W5FYLJ[?G7,MK-%.# M9@>[.BTI>W;,:-:N_$86$)R;W[V0NMF30WIQV[ /@M"8[XLVYW<_F]EVKNZS+PB:@;VMM7>T/"F;Z5N;&3\)OKU(5 MW-[JT;3BUW:R]<"%*;_A2!WT9*L@J?ND[I.Z[\)TGZ:K(RTOHH+4?177?=W< MN5S-57T-J,;;YJ*;7D 9$('A%(1XKAD"3%]3M=S%PA*'"> MIK)"1QV-"A:_22D]K@)MYP;\EE+:3%88J%KNMM]22$]BPG=RPQ;56D@;>Y'V ME^\%@<)SU@[!J&N$8]K5U%YNR%,9;:@X4=LRVG!.^+5&,%&GIP[Z%>P5+(EZ M4$?55@6OU:1FJ!43H6(HB. I%4-%::KUB_;,::!B:/@%15*ERG[-F1M9+I.@A:B%WL]'F:H7&7E,\$*;C)5U.=(?G"8#+<,IV MNK0O*YHB.6%S8G;NE 14-E]7'(";M0;?=A^*Z6S6C3I]%N#4Q.E+N9X M7:XB[ND"0@F-7X=<0M2%93MJ=R1[4E>2,D6K&NJI3R0G;)%172]8FB!E],@R M>AZZ2!FMVD;I_?-H:TF7'=AZ16_!>-T75V)YR6XOF MVY4*"H764?M%@27*VYD:15B.+"2588NBE1=G98J*6WL[V%#J9ZF?,_1SYRC= MT*5^KK5^[N:NUZ\"4TC]+/5SL_1SIU-'.93*^:@1KJ+)09>HFRD.\SOU"[U> M;U):\XZDPU9G.*A/?\=NMSZ-,X\Q5[FQ4;%P7)W]C+M+]D3](45^N:VAW*:&NSJ-K59.M!">A[X"Z.^FI7-B5M M&%$[$NI;:H:#O92>VM:D9F@:427<]Z7<4EQF5]+^4!UT\M[$R>#*293/A057 M)"MLOK3JJ)V!E-(JDD;7Y$6%9 4>-^RIG;[L\%U%TNC#HC@F]932QEY4R+:D MJZ:!K@ZZ%0QLR[C#8=F1>=M;-S?N()FHX(571VV/Y"UFLXBJ#8H"G$O-()DH MNL4L@,4K%4.U::KKLJ"B^5<5E]>95%,[_?/TP)0Q%=F;5 8^]Y/10>ZD*"FC MIY%1>3DA.8$Z87;;FNQ.6C&:@-$NNY/6_$;BLKJ3:FVUURN8+5O3\$!=2"-; M'TI.$"WVU$[[/$WV)&5D"V$IHWO%:U6]5_".5\KH<2DS*'KY7D\A;6RP7'8H ME1V6&I;+U@# M(_5S<_5S1W;!D_I9ZN>S;\= ';8+)@%(]=Q8]5R\B/D2U?/V)J7+344U?9G@ MHF\I_\AV+>;".X;$GOP-V" J?ENALHA>/W*5,FGN-X+UCM17L2 M*,%B!C.%44#47**X$3(KZ@(%_PT63AC [WPEA-^'4Y\QQ7 MQ<7.<3./.L>Q M#5T%Z4%L(:>\L;"[JQ\HM@MC> M8AQ6\?;]Q]\3$![AMB>+;4(!.2@L#?7I$#QH]8;%NKAN[;?: M;W7ZQ1H/;_^NWSY"<]@Z37;8ZO2.T77W*!O;;@UZ^W6RK<9D^]V3M-T=5:.# MY*HADMU!\CL=E9M[JS:HI>9^&[*/X]PL%OA-V=I$MKPNU'DL]RINU)XMJ/=: MYF5L5\E=F2*&J_G;IAZ5Q5"_!.GNE7WW/ M6IAACL;FAY6Z[L,\A?.DY"3E) ^=9&,3MKX:MALJ<]\+F8GQ,&5B.[-#RF.: M='M4]?N?WE =#>K?ID>R5T79JZOJ1=/S*L1>>6X(ZW+'=V'8BI(3-@OI('=] MBV2%9K)"OWU9K- ]SM[F7_;KN6]9)KB>_%MS:I_M*$ZZ,OBR4J2IJ=V1K)F MKHJDT;6BC7+JJ>TE*VQ1H$6[J4E6:!HKR$K:9@1F"7;R$M F.VIG*)'LJD@9 M71V-) YH%2FC=7)K^5I[^I(5ML#;Y#7])"E4T BDS M]&C@\HVX2\V]Z HR]E!3-3VOI56S[A"2:YO&M0-=[+)SO$(66[Q'N,<;PL;SE) M.)'PQ_-S@QHV+7V2M MJX)&E*;V>WD3"ZMW@RFYJZKBDA6XD!8%0Y2;L(QX;[4S%]9MEAL8[<-2$[9P@NP *#F!V(1:Z[B&&/O(BIE MM*XZ;$ XLY&DT=1VO_Y(3$TD3:?;.H_,5/SXOT!6T+J7%0*2K+"9%2[LAJ"Q MT<#OOF&[,$/J).,5+IJNF2,CPX'5I$MG((.!5:1+MW R<3W5O62%C1O5SFT# M2DZ0G- 3B@I&MB@@FFQP,LJ/RUTP?0*25MS8E$RTAN5:L,^"9"+)1-'Q,BH*"M= )LHN MF![F*IB6;;'D).4DRZ_KK$@$84-3Y@,B"%'S^J7=W+S/3??2#MJ."IXP6EM7 M^T7[K96P)_4(2$@A:+00#$?JH%>P^5C]9:" 4U&Z/%2$$;3\:?5G98.+\V8; MRWCM]H'1$LEYDO,DYQTY^/)[:(P=!O^U[.?K_X _HHG,#/_)=N.MT)=)_<]% M$-J35PS3X._CC>5;!(MPC'G WD=_^<.R@[ECO+ZW79H5_>B/Y5>@G[FR0_1" M_O4?+[853M\3;6DMD8D/ M"@V[_;M^N]@O&S/98:O3*T:O,VQLNP7V=HTFV^_N->R.6-+.TVBT]FC&N6$R M-V3^^8-*7^ 3Y3,\-@V4.]=BEO+(YB&;C9FO=-KJ'L=VCH!?#?9C'T.E61SP MF^)-%(HM9J(R'BH-*?LNQUU.%3=*;^N=?Z.P#"GW(Y[ MUU3>?&#FVRKOB12JZF^7?ECJ;/6JI[)7^M7WK(49EH$4W- [3SG)BYID8R$S MOAJV&RISWPN92; 9$]N921SCC'55,+RF]7MJ.W>OI2W9%Q6]0I;\=:Z[O+[: M[OY6\=-"+)IC7\_) LL+FJO]^;OPRR0H-987196F%!GC@V>2M()&E.01J]G[N+0:VA"B0K;'8' MAI(5)"N(>O++ K9N;&SVH3!L7MV^3O$>8QPOUUM.4D[R5)-L0 I1 M=A'/(_.?;9.54<13E<(-.4:-QFCLO>RC-PE?#']-HF090S6-J*[:[\DB&;O]*JMIK=IM2&-IG9[YVDE*TFS@S3Y.W'5.AU>LL+F M0("LD9&<(#CAHG1"8T.Q]VX0&HYC$'218XR]BZB7Z6KJ8%BPJ9N,.1TW&JBI MG8$D325)TVD5[+);3Z4O66$+L)6,#$M6B'"T+@H\J;$!P>^^8;LP0\5P+<4K M7#I=,T<&+$']/$ZM=#%W44;3):)1%2G3RU\E66OO7[+"QHTJG%TN.4%R0ITY MH5D]N\NHG!8+O*P2U-R+KB!C]S6U6Q0$O3(5J VI/*YA557\A*.!5E"X0%>$$;5@TH^H\;'!Q[FQC&:_= MSHU5*#E/N"EA-5I[UW)T7,Z?S#06 5-FAONJ>!/%6_B*[8;,=ZGNQ' 4 M$Z;IS9@?*#[[U\+VF;((E-!3@JD]5T(8S%>(J/3AQ*?!E8GGOQC\4\<)GXW]SUK888MY3O\8^(YCO>"*9)$#)SLW&=>8..:W_L,"YJ>V1\OMA5.A4RE?R6FTDY^8HQ!32S"S3_9O@B3(1E. M*E1Z9WE3TG].XU#MW'AB[\8^,WZ^,R8PQ?>&\V*\!E>_+R\.5I;>R6*;4("2 MQ7@%H\XH@ DY2>&;R);S@+V/_O*'90=SQWA];[NT?_2C/Y9?@6&S%7U/+^1? M)SO1:O/=$ $[\6;Q=8N^6CF\^'=ZKS4:=C9^W6YI&[_;-BQFW7?U0L-N_Z[? M+O9+.5DYV7TFV]MKV!VQ\9W&]6CMT0PSF"OM->GWYN7H\>%^$7(ZA#_SL_<. MSUY2DTOG[QY^2(XKC-P[4J;]N]^F[.-Y'9,'SK!B-/WHMB03;O90>4@YK#EN MIZNX46B*[N.7EW5G6/_MTLM5'^7NR(FU[;UK*F\^,/-ME?=$"E7UMTO/HY[K M6Q.Z%$@IK8%$\VXI\ZVX@A''WDAMM_/>0^9:]9GK,"6S-HA9-;6G-YE9][HD M:E*7(JTKNQ3)5E>'JH6!9"+)1(C9*CW('\J+:[DO* M5)$RWX45!RNJI[B4K;#GX9=-CR0FD MKF4DL!&1P)O -I2OAFE/;/,R8H!ZYSRI#-*IW&4 ]KKGR3>2E-E!F<%E9?]( M5MAB .:MI).2YJ1YTE%1=A!ZQZC1WFN[:F/_229\%@'\U&Z1DLNE%PHN? L'U]9L&2E6H$ZV5_W\OAUJZNZH.R>WE6B5OSY,$ZG+*[?DLFND F*HBST$ F:FQ=[^4T^.UHZD@[3WFB M+!';57&C#@;GJ1>4I-E.FH'LZBHY(6KP*_$=)2N(/F]Y2R1KS0J-C6M?3(-? MO:N.1K)U1"5),P#C3Y*FBJ1Y@[U=96GOI;/!,#>"A^2$9G("^ "RMK<183_O M$AO\ZGVUTY,AP"J21ANJ_<%YG$I)FIV-/2[*VY>LL'&C1I(3)">(>P&)ZM>$ M".!EMOC5-+67^RY8QIQ.$FQ0V[EQMR5E3F('=EKG(4S%3_]+9(6BJ6&2$QK& M"1T9$&Q$0/#R>OQJ;577SY/1(IW+'MV 9K*3,<2,_[=S0MK5V^"4K M;#GV9<_/]:];" M#*..D"TE6EZID]IK"CZ?@C+Q?"6<,OA_GS%EYE'+4K;>LE3!EG**8KNFSXP MOM6TUN WQ0.&W/OW>DM9?;W/YCX+L V,[W9W/#A MF=!3ANW6Z#>82)[7?HM6ZWLS&GYNV&ZHS'TO9&9H>ZXRL9T9_IMFA]N66NJP M-2RPTLPW!(;#@J55]P:M[F^*X5I*OXU_6UJ_Z;FD)@Q\4FQ&D)-F.#1.284! M@CE.YIDYKRWE.XY ;XE6BIN:O3%\VB]&H%@+_%5JZ7T,%,/T MO2!09@LGM.<.DOL)Q@S@+:#&#,=YA>5. A8JXU?%@*&2>? WPIL(V1>GCF.X M3YR$0* GX'_XIPV,@6^";<,MN7WXQ_V'=]H(W@#[,;/-1,8JJD*V2NL:W[[ M3+R7#&Y]\MF+HFLH&OG8(RU:.=C[[]1$UID:'(H.9VIMT-).RM1VD/ S,:P/ M7[G(8&L\N\)4R??FU'!=YL"JG MGBIT.FS?_55%86S:(=AP4#6H\Q'9D:N;^<(/\&\XO@-B"W.V+%AB@):' H+\ MDX7UEG3*5XB9J]CIG#J<.RAUA5B*-/P,3@%0SO"[B I+BM[UW'>"@QR2XHT[ M+]8XP"V?>X&-$O.>?@5\\8=H(D^&9?I7@E#MY"?&&%3&(MS\D^TDYHUF3TI0 MO;N\*>D_IWXTA[GQQ-Z-@6H_WQD3F.)[PWDQ7H.KWY<7!RM+[V2Q32A@3 MI)/NNB!5TQ/&*8)2L;S;08Z_0&TULPBF=W5X0QG:IM2"C,M>1QY0?K<>6&$*E':4C*@A5S@=P O=^4W,Z M$"KIX82XBA[\#NQ[$U#I\V; M%V!:%YB?R\'2^^K,%YO\7Q>-Z!P';)]\U8BD>_QZE_,[1"-0V,E9%O*J#]R+ M?>#]7GZ8"ZSI2][^GNO=UP7NHX.-?-8;T6LV[T*0CV#;?-\"7B_&Z/!K,%AC M_Q28?:JX(.;X+O;+#DB'@M(%$8!#9\T%?DHI)F&YUEO3;O51N5O:SSH(]^.A MW8YF/W8T\T5/#F2@&OJ9>DLO1@8R1_JM;F2.K#N9FM!>NYQ,?=W)S+F9N_W' M>A]0VQW!O,<4Z=-B-"_B!U;7&.]UBNH@8OZNM,7/:(OOP_7;3?'X,VZ1D[%5 M60.[XK3.>>GUR/QGVV2)NC_]I=?*%,@P $.-;@W\M/DR8<) ^'#S50F\28A$ M$HH'--8B'!ON3P5("79@]$O@9^#L:7(>!L0GSX8#H\(+Y@8J/%>,@O1_MI&% M7VQ@% :4LS&&N:*TU.5YX8".,8:)S3V?U"(,O*0FN6D$,H1,?XMJSGU]Y[VX MS%I^CD?"@I7Q\4<6@R'\8&K/E8#O5Z",%R -$8\NS\B'HP$E)7XV7ABP.ZFR MR 0&(Z[B')V+>;A)VRMR^_DWD)R<-C@_3!#U)\\'=1CSV;K)!C_JY']-QODD M_!=WR>OA9EBP& >F;X_161&D2W-_2[G-9/NT88F^<,RG^T>9<49PH)MVVG98 M.19:RGV:?;D0K$^ATR73,M=&K5@X:V?R;F&:&*;M@$?((@.%7+UL8:(G'NX^ M@Z\8OGC^SYJ;J:M2D$L1?H)-'F.\%IN0 M4^QS#K6M]7+'] Y3VREUW5E2UP7\4:FM\W#%=Y'GD]J-B%YO.&UPO1$IP4L> MPQ#6VP,/6*%-EP)% QR&XG7=5*AW<[SN:'DAB7NV*:5I;V.Z$#MM([(K8VX ME"E9P(C?.-FU6R@8.%@$.1CD(U"7KBV2Z>!>)3]6YJ!F/ N\1#*T1% C90S! M^T(#5<1J_.H9R.LM@J5KI/H&--:J2W7>T>6N^-*VG@K10GCL(!T4 M24X"_ )3!)!_\)T+.[J$\4C_S^YWN2/B>%PM!GH%IPM_T9%[@H\BHCR1Z/H M,8R,ILL4&(@E#X%Y#U(]IULU_GMXR#?<\#4U/1X]C@9:FV@4CBE[12:L^$"MM@>JAB-/B!.'A7AHW"13 %8)0D,+P( M*2"RQ,="'**&MXLW<+9-E$7JF-J?C*MM]E\FP>3N!\9P_QLC$';OQEHTD$;M"_]5K#)'4? M1@.+7OM-+5J4\3'/?/ N-+66)9&/*I&R9:N-X[@^T>Y5^BM]UKM M)8+#!Z,,@N_OR.T[G6WDUH1>WT#NSF]Y%J[7V[K$+(*)YX#&IM,&"TPPG66& M@8O_9LN;B+N2U+HEI\NJ5;KL7>]Q/"IO+)B"X0?\< 6'"+X)WKZ7%POK%PO] M2[Y8(/Y,R$D%YB:RSCQ@[Z.__ %FQ]PQ7M_;+NT?_>B/Y5<@CM=*<3F]D'^= M[$2KS7=#((B)-XNO6_352KT\_ZZCM08]?>/7;3CV-GVW;5CPXGJ#0J-N_Z[? M+O;+ILQ5 U._6XQ< /MFY&^N/[KT;9<)L[+-94W'YBY!H)=I3V1 M0E7][=+SJ.?ZMI*(@O-Y\:$/PT.KQMKW1TS-O>@*@IOI(U4OVJ[UF.AN94*X M2ZYM'-?VU,XH;R>SFG%MGL8#!\!45X2BF*97,CUK"C IV:=(/^-^[L:&DGTD M^\3LT\N-@-M0]FEL?^2H>NL26B-KNJH/"T(ZU[1I06U(TU8[@X*]6"1I*MH2 MHIZJ7K+"QHWJ#8HBXDM6:!@K]-NM\ZCKNAB 6UH#-J-9WK*E?Z1>(-4PDHM& M$4O8E H*1E=3>_IAL?&S=$8Y0^Q<2L7%2$6GIP[Z_N#?U,:XD^QWCF&[G]MLE^TGV*^T\'+6&DOU.U#I/UG_4JJ:B3G.M7TE% MK28KZS^65>,7+(Z4Y1^R_$.6?\A,=5G^<=3MD.4?4JAD^8DM6V%S^,QWHOJ/:O2L6^N(4Z0;XTJ;I$YK MM-P6"_L6JSG;-5(WG72?(\3%XYWL$.(LU[\V9;U G4 [H4QAU^&QU+#8 MQ=A[@<]F48_RLS?-&9_((8 M%O3-LA;C'2)SMGE=Y]YWJ$]6,SGGO__MW?M36TCV?ZKJ+B9.U!E%,OFG9U4&1)VV4H@ M \F=_>]66VICW?1+?@ F0*Q U>P&VU*K^_3IEJ67 M&5ZEWBQ,KP667K\J@ 1%09(>'FB6ZI[A7?VJ\=T:F@VSE PD>F'QXZJ=)G/0 M#@N?CH*=AH3W-0MOW9:$?T@1-YJ"_RQ1$*F^.B$9Q&A=ESEK( M$'?>2W^WIM[YV^W2>7T(Y'1M 7IS^%Q+0%_%EH!F*GAV&%9 K7#BF 4PTX&D M5Y+#R@82[G&X*ZOR*>[2W,0#N*P$-OKN;XOW]P6_H7;W);^A]OGHC-P<=/T= MDF.ONO I)%D0^-VZ*.N0WGB ,;+:DFR?M6*PA5;2JUI^KN-&V MQXJO[];#HE93PFK4X7BPP?&F;<^/-\BST3( X Q86 X&S#0T'3BRC"0[;;3A MEYN5 :W7,8#&8!\/\E)N(M];=;9]Z+8NZ7A^TYFWJW.,@)9WQR8Z6W"O.=3W M$$<(EAJAZ7MX*DO%QVQU=T>#."_K:WV3C_<%? AZLI^)/:Z>_^[UUE; M,70Z7R=^BO]=Q5%<3@@#'(DQ:E/O7!: 3,)F^^90IC%JFWAJ.>3#M2O.I2>N M1)Q0M\)0%$,B OTAX:(KD:!GML7?#)+L&CW%V56,C-J?Z(@5H"^ZKY_E@. MR15>!4O."=P!Z\*SO($(XP0L15GX7H^F81B=\Q*LB^=:>D,1+9X.WOPF:%O_ MN^\MYT.B 1>L P7^F^Z>OVT'_PM(@_Z=M 3L.Q2@'MX$G3U'M\:4]P/%R!(,RW_4^H#]B&^[KVI$W'#H>B51$,;!.G:"3#10' M58WBV6@4EPB%Y]#^+[8DPG)JXUL@9<"Z!8@.B[PD,P1'&,"PL/]3NTNZ](Y' MX;3ZH&VKP2 .8URG@_JOL_P[.=#4<4NEC(C-^"/I?1BN C#NK8/X2RK,)/%$ M"%S _H9B@V>%LXADOS2!A:P/!Y WDU:+/#[(P@K%9X8F35K&:86CP7ST0CUV M8\#6VB L<0E<@R1@,T5SB3+0]&SC]$H6)6TE&&QE3/8:/[PODQC,$6;IJQHU M["G$2,F8IX%J0'X+9892RGS&0%3\U*_V;=@!ZSNG#?WOICQA$Z*)%Q; M%W)\8N?0#K8VO#!.-4GGJY7CYD6W.Z:2'1G51+Q.>M+F8(\W;9)!6:= MM X56*1P_8SK?R3BE+T4K6 \V5!R#5AZ2'X5205ROB@C#K$)U!\LG,:W"$IKHX22$+V$?8/Q? M[-"?D$1=D4-?*5Z-YTR*_4]SLEG:?N>!Q[@[+0_V'BX/3'A_QG^G@O+.T=S4 MAU;Q%V9 1%(_$R?VBS'9<9R*-*SOI__\7.8QES&XUKPVF#.WI?E(\^:;SH[# MC2YW+8#U=SU]RH,RE;2!RJ#MFNS$A2PQYS,C !?-<>-$IH!],OXE$Y8ZA=#,('I0>1' M0N,?SUD.BJPBUX::+&N-D?BN%V'FS!D^WYUOC-?@DNUV.W_'S@EE7HJ8U6LB M\4N7W%HI86B2#'OVO8%R2F5D)F^(],"YM^J4GS_IEDZ=-\L;N$16"A@YT/JU M:KX,,LGF.#1N<1^"3+N628+_FDSLE.QA=XB_( MF(4,JYPC]>KZ)!/JO,/9@3TN')\JFL+PW^5E+I'Y/3%"LQ@OJ,8<('(=K;YW MEWLY!;0H$@"XC$:SJBQ*P0REG;2 5X5VS_K>X;0(H@O,VO"<%E7__Y1PIE@7 M<&FA\_VF_;V/:49U=YYYT^?08HY'NX]V@%8P+?1H_NO+QT___5][G6#W'1!F M7!+V@.\%AUE!6H"Z NK)F-3%NMCP#E&TG9.?$[[H;WB]"$D ?/,5A<#%V?$Y M24ZL,F3?$A,?\ \8@.0Q,3H.']*:/U?VT: #1ED=].U G8 BX58%M42&/1M MBKS!']N_H?4#7)E6(^-7JE(RWM %JV("-!G#ML[@E-V3NA-5R?%33VSK)VZW M.7IL2?+)')A 7Q:8RV8)Q=?[7J]TVG,.W[WMVFD> AZ MG5:HINXL1NU#C?@T#GX[16,\/)%$E$(X.*TSRI&;UT,-<;Q/JC0*R1!G[,&; MWM/?"PU6)NPHA^/: WLPX27OT(IW@!J@DA14@B,0J6-+JAKN )X(\WCL[N:T M6"-5B$M(LY*!SG5/-(HX2DEQO,' M(1W;YK8@&$I1I1?Z(%2]09PC.$4KGC2(S#$Y V$!7L6N "U@'/&K<1AAF$XL^X)9=9AI7HK(9;#*(G;!XX@B41US"T&5(YR-F]'F8Y1A C M *F())4+"^NF2MA:"^UQE3% 5L61:!2C#QU-Y;XH8L;0: E),L75(HDGX?$M M91ZH&<1I41%C,7X%L53#NFBJ9?FE94H4H/!PBJN2 >5ZDI&F(]PY1Y(P[\)Z MB)YZ_F1G '-E%-DWVS)?&&K/GHKT7&<.;?/8S'#R[6_I=C2K[ M_LXN+IF8L!BB_$2%)Y!=O+B\AYXF:'<32BS4!IC"<*7=IN/4Y)WI-&IG3C0B M.\JF-Z>/OH2"I% *6]0V6_0XTF!1*MF#]6AGB]HV_C2#5R1%IJQ>D[ICH]^+ MS.!RF&?5Y9#0C9;!H$/*N*P(9H)&1GN^A2+\;J(6A'[8SO'%2%3,&%07""^\2!#>H)LFKIXB. MR,G/Q'.\(XWL%D_YK2Z 3&'V:0?8D_'N'4?C!4>H]A='J)9(0]U>>R%AK6?V M9,;4M,GK61#^!11-V'RG9BZ='*(TLZ:A3OI1_@TE*XU<"S5)'+M$.[.=S+TX M!1P^(O/#!MV5X=\# 4C)QT^8R/>#6=U[S1F2\";7GZA/;>,![_ NS) M'B>/QU4=-]3B@&O+:V1<3"0ENQS1"N@QRI,%2S8L,_2NYP#'95AQRBN&<&3. M]J,=7N3HCE2F,]Q SANM)^V#<'RT*N&*49;+>SZKI1V".7GGZH\#&QR4\\PS ME4E]/93D:DBS=',$^(+O ?IGX7> 0WB#=PU0#)^:AVA%P^5Q[EUE["I F&(;YT'=N M/@'J ;$2C\F/F?*/@Z0B)PK[7\VXBO1P8D6>U]%?&U2#%>HN_2\8U>A17; MB1T0[)01Y_%R BEK>SRG@ -@C6DMXP'D#-R>%JR]P)[*O&_^A<\3YP$+M*XH MF>!&)=5QS 9&Y0)&_;LV<8JAE"4%0MA#".Q:)20+]:,H-XB"1LI1FDOE4L4\ MA@(1336J>$[LYT4C+)=#F19X$. 0H"BTS9Q0%+E23H$DR@K@)#[.\D-VPJA9 MK8"[-F^NHX@R\FLX93@RPH94F"^ +("^5$R-SDKX&;&:IJWAB05+;;1O?R88 MB_1P@NK89L8M3JH'JKF-#1\6RQ*$4YWT]EH4KY;Q0BR<9)Q[1.9\'\S\>;DY M6)U55.'0R3-!;AE.QLA,#)H[[38S.7GA82=C#DV87@17 @@V$]0M2'7R]"FV M8^%Z#/"<5THSG1,06,!:@D0]*&08YTJ'/C@/A^3,?-ZKASN1JK[W@7-FR1^M M_-2<-HM>$-75H&5R:7 :F+&5QZC!Y&!ZD8 700IUME9^CFPCIHH"%.]9H M!C\9*#F!G2 H)DVN2BK#<#C9)1."(R[2PNH*H$/!R6_7DC@%:=R'[55QZD%% M>56#00$G@5A4)<;S([6_;IQC99FISN"2?V"H/CN_@+T!<26*$8"A"@276(PB MHBN0?AA<$FK[G+UKU2(QJ93ZPBBRQ6LL"ORSJ$98_/$?12J>CYJ*@NU<7JATI0V; MJU_S2CN/S?5,2$S>S'4L7;*97>?$@T%7; ;;ZY)W/-B. MU"?U2/=$;*C2#IH?SL$%A)Q HF-=MIB;,3'__Z%0->S$VJ\1HQGVZ;9?;$W3 ML])9&OW>FCZ,2AFBP0/G2%6CLTY;FOE;]SV99!DXS9L>36'"?"JRJ;3*U+4/ MJ#H]LFK[(S!V;5YC34L^F?X#16?"3M.Z\(D4(+G*7*'[JK!4AYU[,.A2> Z. M!AR?6%XILL>YEY&IBUU%D.R6'40?#H[O6;4)QJ8B=5BGKCO M@<+PR3CG:J4,&ZR4Y%?$H$J>8V@)V2T75>1[O72BQU%(MZ6BIB4V?P>&H'1( MLWRK?O$H $_V2:U58RRSTBFH0(S1V!:!H0-6TRQ+*>:E"=?BA">EJUHSQQRM M:$L]6E@?,[!+WSNN)P .E[EHE)8F@'HU2F#02&D%2W)AH "#5 GU3+E1&V^$9'JWF?Y,IWS+\] MM<"ZLDY42R)M.')#4XNH.5 .YZ09Z[TMIDLZ+*TY\K(J-TV9#)MD]>SF7%- MG>]0=2)WJO4I,[:>#&IQ!.>.^)IXB7Q=\G%^C,WM):;Z$JZ ML8)V=WD_SI,BW/EG ],9O),3WSNC*,R)U>X/7_G.CWKP'L-A]?S.P,#W/E%- M OFA) 7LFRQ&CBG!"&$C^F[@7U-$3'U1J]X@"!'5*V5/6Q^W"R$Q5CMF':_&0 "*61KP M!, E8U"O1JK8 M>C:HI:) 5KQJJ[TU/W: N^PT>Z$@'T('LA%4+8K:8;AR9M^ F(DV9@;7U%HQ<;\]/R'L+_:@QK:7F .]?0SF(HZ_(=\1 #- M30ABVPM#DP0WY0ULI$8^#5/AOR$ 5C+(^*<]/29 M6?W$W2!H2#]FHFS'][ZEN;S$:E$T9_@M8T#LCYQ Y,2E4))\*PBM*"37:!AW MFJ4K*K>"[08Q4-?W/LB!(.7T#5U+%S+%?G"6<5[C)[/QD^#%QD]^]J$OG3KW M%3W^#:G\T)D^GQ&N7XB!!'7A)&HW6S>L/IMTFI3@OWTO1UIS&.1O\A>F#/8ZZQYJ1C!+&08'7PN\P3[ Q5G@Z]YU,OSKW#I89*% MW]=HKP>;.YV=-3 /0S&&6\J\DFOOSU+OCF=TW6?PP+V(&SY] +1MQ]Y=>]^K M+H%JGJK+[?[M;6WH]ZT'/.LDC4[A*_L8D%KG,;H&(N\HKT;)Y)&>\C4N$^A5:):R%9[W+RQZ^H*(W M*NN+3:O19I25FVJD-0\#&S!(VZX]0"BST]H/.GKM>H[O/9[;U)[\CHT21B.$ MB5BTX$9/5(8">P=?$S",^W&S&[MB00XWWN$6KKPB\MOW)15D:"_]H,I3SB]5J7%P;%4\ MCUR4_#K%%*LM1G#"-_]<(6=E^"LJJ?0 _EG:QSX;380RAS^%^DGJY]]^NEM&/O M;746_HRO7UMXZRW#[FSY^YWM1Q\VV//WN]U[#?N6*,'4 (+C?OZQ!AJBWB+G MH#.^\8+Z+F)_F!F:9^/G.JBTC^J >J>9!:MJQ0E%^PE,'@ MD9?"4XHPO9',I@/*@<2K8"9B+J!0RNW=3YJ6-\P1B I$;O_NJLFD63<(_&$Y M6GM_Y'8&Q).Q*-__BU,D4_*%M2P??:[1>2H7.WW3%% M#"+O8VGQYME-(B>ZVJ+3;@.8%=.^K@;(G_GGX)A0#49D$,S,DSX-71BGZC=) M0;RX=32;P4"#=%XUR&IID,ZM&F2V NQ5@[QJD)7^5=32;P;J=5QMDQ31( MYT=LD&"/>@0=^489!-WM]IT:8[^]\\(TAG&@WJ8U7KT>3R)Q7C'KBDF<'\&L MKQ+G,25.0Q?W"^.[7V4=S6:PH/UD,/7Y%E&/[^J$N>?52KU>Y^#EDJ74)TF_W5X_LE;_WA38J]&#.<>ZM9QIGK6^R32 MRTI8$;B=YJ)*HIQH-I[) Y5@\8+:M#8@GOB#>^6ZR]LL08(^3-3 M*$)W+G/K4:WKY$F*C>!PD*LEQN#5<1XYW+O,K?2B[F/,D>%^G^M7FEBGNF2E M=K=5HG:UV_G'R^:G![S M9:HAF?L^9X,E[VI2AA>=4S$)OE&$VD5%%RB2@7X+";?X5JT\\!14V*27QA-5.ZH$FI5%O; M?B?8>O2#2OU.JN M&L%T"T&A[ZU;:;_QA ;1Z]:NVJI?C_-J+^5P*70$=NT!7.N1/>WI!:P^25[YXL7J*55D_C_8/>E++HLXTGV*%D15 M7BI[G&977#6UITO_7A:CK/>,J\ $V+@G?IQBJ^O$817\WGG+HKI\XT=89Z&+ M[@5[)[J+O1-O^UDT@7^&Y2AY__]02P,$% @ MD)H5Z"CO#Z"# -X M !$ !X<&5L+3(P,C,P.3,P+GAS9.U=:W/B.!;]WK]"RU9M]5:-PRM,)]E. M3P&!C*L(L$"F9SY-"5N JHW%2'(2]M>O)&QL,%@RG>YAQNDO'6R=XV)_?EAXG7>NJ]-.G=^\^_L.R?FV->N". M.,$2^1RT*8( 9\P7@"P0^$_H%/T$P]""?$;JTK$\*UB:K-<7S!0>U2JT> M%8O.TIO+Z?3JNN;4+6?F7%F753BUKJ[=*\NYJJ'&!]1HN-?5'^8W==AH-*:7 M%:L.8KE4JU?*O#[VQ*EH*RWK8_[)3^F5*O:A\O2Q/3R%#4?&7 M%?)VBXL#%PY9EF53*]?URK:DX,$9S-AG'/K.EMGEU.+K%6+5PR!QOBS/2T,5 MJU*U:M445(^L696Z51=(R#G%TX"CKA#N#LU@X/';4N#_$4 /SS!R151X2.J^ M4R!QFD,Z1[P/EXBMH(,T7OGT#@ I%%ZN".7 3\%FD$U5=1GE"E8"&U%[Q(%< MQ:HLR411U;)4^3+R.)._+/GKXH6YI;*YU8!9W?'6(<%]9AX-] M[%@LZ)#J-_O::FP[;.YJA,AWD\<>1?7A% MI4S&A2/&B#.NS*>*^E<%5KR$MX!" @G]6-X'[%$%#+D#_Y/Z>S_$0W!8) .X M%QO&N%VG'H2%!R,O9OK6=Y$OP.(/1CSLRGU,"WIRV3)>(,29F=.U+%HU:D*" ML7 CVLH10BN8M$,>BPJ\CVRZE5L/Z*1J"]SM6_EUT M3;<.9&1F^T(L].C#P,5<;BU/%#6+4ZOJI9FJL0U 9F!C!;S?VGG3-:%!FRQ% M"Q>B#'Y"WT+D3 -:Q1NG*+YC\DW_;'D6T)\CAOTQ)\Z7!?%<1%GGCP#S]2O' M@8DA;3S\>%(\;$P#[(.D\7_]\ZI6_? ?L*G$6X %R;!!V)"$#$62)I1YY=._[%C(D)45.?N:F7?W2&R0&X=C@;#SFCR6[-_ MU_GOHSU\Z/0G_<[$Q,W'H%JW5_?='C$!006V7#\ P58@*<0@W.S?VZU>ISD> M=R9C0QD.P;02U [, "$+V- 4S?OW@\'=9[O7,W'YMJS6S_5]/T?0 GG6[HM! M=3(8&4ZAR>):_UZFXWB++I"+[SHMH[%"E=,ZM;'O5 DKD#?#A=9XV/RM*8?5 M_ITX,GKLW/7L9LONV1/#2#;BT:KQX[X:$2T(>=6L&3*#!'6!%.LV[=$OS=YC MYT%,@H^CCEP^&$ET&*C5Y,.^)I('*"*09"J0!.W!PX,]4:T6\=@>J(U*IV^Z M<4PFC=G]JU1A1 < !% M4B"?MQ['=K\S'C?;8B,SMF4&Q:@'',3I?%]+;6$C&I#D*9#[QX^ML=A"BJXO M]_)FLT *HW5[:@L;4X -1Y%!]Q%RD!G>GL"9QZKZ!92*-5+)6.T"JV82Z27F%NTER978!6@U2J(L07T==' M4IOFOL\FT&J12FMD9$B+J,^!G*>Y-L?!6EU2F9'#:=,B2A(E-LUUV$-HG9]* MA$0$171W(L^9)_+W05JGIS(="8XB^MTDIV#64CY"#\)+O :PE]G%DK=2IUH)E#QA^;()!GWW M,Z04^O)IO-=27$.OE3V5I=#+'IL$PB:(C192_"A#)WS H"-)V6?,%]AO$Y]3 M<:2'X11[.*?HI]!JQ4ZE/J+TH 62AL#&$HA,@82M(FLL7 ?G9.%"%W08QTO(46M]C\B6"&*U(!\(6\G]00[9OMZ(5N!4.B?K6HU8(X6F MY? :&?\!*/-J2;2MP%M0Q'J=TF--J70"7Z#L7T)%J]CCX6L]?3(N)"BW5*KSJ*U4J32NHDI"EVYTE<^0-?+!Y!R^#Q97.OL5$)$H@OI99.[$>)!/\K@#^%:9N_% MWD4C=%@649O^FB1RJ'(-J!3%X6JB06ARZ9R(>\EH!PSYBK$V6 M4^RKJLJ_5Q[B:+K^#4':\=W0:SE4?'VC&OT;%;,GEO:&UZ@F(%D5$-4%3-= MUL82U8ECYRV*4H(VG3\"S)2M84"=!61H2+&39V?Q=0:TT6%X]\_^Y+NU"B*S M0-E]BX'08Z=L(HUXM(JFB7GON!E15K 18($Q@'LA?]Y0$*U$S51QSM"R! MS5O2XT_@W+AD";%OBY.2*?ZB0JII!U9W(^20N8__AUS;%67Q#,/M114UR5+D M-GTW<4^/.!#863/HL:VWOG]%]/[??)J%1Z>FFS=2WY8< M81AS0U4V1Y;$%UV+K@TDN4-3;@O+5+USOA_(:!G,Y(OG?5&9XQ[4XG(T.$?+ ML,_1'-'O'&M=_"+.J'+?):1V[)T>.2Z:?KO &2/Z)):[X8T_[8!/H?^EK6*5 M90]5)LBS&*YV*SHF,_X,*S/68\P-D1TO!"=JAFVZ5C89F->/7(W1P2]L)E[<#'H MA1F L^B%/?F)0<;; >-DJ6O,D<)GT1#EVOCFU1&:"PO9S\L\(W\:=19-B_IYU,=;D&%'K*ONL"=V1*[2)MZ*FHX:>=G^[/'D\%!N MB_4RE1V-)(=T^'+"K)!-]:?.#F/DB(+N0%3,EY^R[8H%N.\(OXDZHO&@.]*- MK(;PLPAWT2],%L#IR37W'@4?!8- M;09BRB-2BT'G82@P/%*'^/H1V13][9IJWM+HB2SY@%8TTV]O3!#Q1Q%DJ$O) M4GZ:0SV5NV0N\NHG+W>&/X683# W9=#W4@X\T9Q8XFKH^5/HNF MC+ C%H!N6RR#O'5V.PX6_:Y#L+JZL/D,\J=W_P=02P,$% @ MD)H5\/" M:EU9& +^D !4 !X<&5L+3(P,C,P.3,P7V-A;"YX;6SE75E36TFR?N]? MP?5]O=FN?>F8[@FO,T2X#8/Q+$^*6K*,;@N)D81MYM??+ &VV(54!PZ^$02+ M)$[E\E4NE5E5?_KSU\/1UF>?_O1? /]\N?=NZ_4D'1_B>+[U:HIACGGKRW!^L#4_P*U_3*9_##^'K=U1 MF)?)]!#@M\6_O9H?ZQ\W>GOZ@8G1=)0BK)@>(A@O/907(" MM46ML^?_\^D7&;3643&0(0A06CJ(27*(PMBB48H8].*AH^'XCU_JMQAFN$7L MC6>+/W]]=C"?'_WR_/F7+U]^_AJGHY\GTT_/!6/R^?FGGYU]_.N5SW^1BT]S M[_WSQ;O?/CH;7O=!>BQ__L_?WWU(!W@88#B>S<,XU0%FPU]FBQ??35*8+Z1^ M)UU;-WZB_@7G'X/Z$G !DO_\=9:?_?;3UM:I.*:3$>YAV:H_/^YM7QSR"$<_ MI\GA\_KF\U>3<<;Q##/],IN,AKDJ^6485>H_'"#.9\3#XIGSDR/\]=EL>'@T MPO/7#J98?GU6GPA5V^OP[M2F,TO%H(9QW]/?9LRMY#0G'KW.D M_SB5TOG(HTFZ\*%1U=%D>OZ?HQ!QM'AU<#R#3R$<#=X-0QR.AO,AS@;H>?;* M!D##,BBK.(2@(Q@F@^/*2B/914E5;F;$SD*I)1?@<1_/9^2L+ MH2X$>LWPIQ)>]GXS3\71*3%-6Y-IQBG9L6=;7[#:G#.3=DI:F*:K(+HPG"8,YWAX_O]E.CELH_WYI!/9GZJ:F-@4"TNDO#JCP^;"D],!HHZ&S#0F M\%X&8$PI'4+*(8GNP/UJ==V+)Z;[#67=3.<[1S@EOL>?WB'YDG.J3I:@6(Q0 M(9<"-A*K2B8+CJ="[EK'J%!H%+FU&;B+J%40(9\8(MIJHAE 7F-!&CYO4WQX MB/OAZ[+!0B**$S(CMR "XX1:^LU39 ;,6LNU=R6JU!@>=Y"T"CC4$P-'2RVT M\Q>3\:=]G!Y2N(8[A5*#/)P/ O'B/!&!O&A0H@B()C-PD:.7*42KFH=#U]"Q M"@CT$P/!QO)NIOD7LQF%UN>.B^F2(JI<>4J@BI5 @S/P&%TPZ#4SL;'*+Q"P M*3>OPNS@Q3C7'V_^?4QIZH@>.GLQ?Q6FTQ,RR'\/HV,Q8@)?"+?3T*71N!XYF&FB&B>WQ9QI[,CVI MSIBE0"R0>7=%$VO&(P2K-5$@/!?>,PKR&V-@>?P^!'>*1V&8 MWWP]JBM.9)P6^?M%#JU#@0K)O9,Q(O>N!7C! YA$ 7KA4K/8.OI9@:P^1<3M M$-%:'UVLHQ!5'^:3],?!9$12GE57-C\9&,.Y"#$!9T:"2MH3P\Z 55E9E\EZ M"=?=JLJU-&T<0TT.#X?SPX63'M?5V)K)XCC5F)=;BGI14F#*,I(21 #/M03- M?:),A5(6USH^O(6K"^V1\2&"NC"0 ZLT8&9+$&Z&JYA9!!5H/Q5*QDY\TXE M_U#ED]XL)+97_;HB[W+R:X%16)^@R$1T!/+0,1 4!1D@=+($C:U5W][Q411R MNC2W>/1I6AI-,EDS24&I(^O*BX4@T( 0607B37'5.@F\AHP^.;H-M7]-Z+>1 MT)NANOK8R7B)BNR<43HG"FB#!Z5] <="Y0J%\M);;)X 7*:A3^ZLL=XW$G>[ M!:"=A-)#>\6(HE.)>DB\E-((GDPJ%EVB45/1>ZU+( M#:3TR:TUAD +X;=<"CP^K*+%T^23\'DTQ0/*1X>?\;16\VXRJQ6:G;(?O@Z( M0F:ER,"-JA4\XQ]54WJ"OC96^D.T3WK;NSS@=N6T1,19?C(D9M(F4 MW A)X9MB'HP-'+5E F7KE8![KY$^;!GM7IJ]8NS6%F[#]?+)$4[G)[NC,)Y3 M1ENGXE%=CEHT+%A#:6O@H+4CDZKHM^AY 1:=SH7RVRA:YWZWT=.GF+F!]IN) MOJ,^L[TJQIWR<88+9@=66<834R"=2(3/&KP9G0&S"!X-4UFV3IAO):A/\7,# M.+03?C,\O!V.B>UW%'E1##\/XT_#.#JE9]'/Q(3E3I$'E8'(4:@,U$86L*D8 MSS5&[UH#XG:*^A07-T!$0_&W,Q'?RW=+38\2K3<&"QBAR761 X,0DP4?':7[ M&()SK=MNKB6D3P%N"Y.PL;";Z?TODTG^,AR-!DY&6_O@@(=,"9=@#AQS'!*% MTLYQYIAJ'1.Y:(NUR'X&SAA.F*(->Y-+*2/!(%.ED"Q<",S9O MB;EK'\%:JSW3XZ4>W._L,2698*A(3;6<2K$V^!0$2&11".ER"JW9NY&8/B4R M&R+AFA6H3[E18ZPT5$4S>+R?S/$$!&N"U4+ 8DU'24G6SDD$C4Z5X&WBV+J, M< T9?4J)&@-A4Z%?TOZ?GE\6T3OZN]E&[0]S^K[H\YJ44]_X<1R.,TGLTG:P M#;9MWS9&)YNX5V:JT9;N;W/_K)]T-N B%8Y!$V(\)<$$)@@^>:#);UG6:&/S M=.0*$1MWW>"(WOI$7N_W,/T#EQX]D*HD9U*$$M)BXQ '+_5B+5!Z@4YPWSIF MO9F:/@6MFR'A2L]=&PVTR[9Q3.R-:AR4#X?CX6Q>F?V,YT39XJUSBH,TWH%" M$\$5DT!*9HS/2;5'_1TD]2DX;8N-EKIH'X]^+XD/B@Q1) IU7-VKJ+2W1$BR M4'R@B"@E;YSLRA1^)V-CZ$_I(;O321G.!UHCJZLH$'4AT09T$**OY\S(HI(- MM8NH-FOJ^ >DTIMP?PMSGJ>!#"\@Q99TNA8,WKO%%D(Z MT[PI[PY/?J<5@R>E\\U$WLZW+4./4G86O*3X',DN)V')KQ)W2;G$)/>4#[1N MB[AQ@J_3!O09Q\?XEC17-VY,0YK_8S@_>'4\FY.^IF^^IM%Q/:VKKA735Z[] M2M**$JR08))@=:VW4((2:<8YR2.FR+7'QARO06:?3-^Z>+G:(=2MMAJV*\_F M.Z56!Q9;#'#Z>9AP]F$RR@,155'624 ;#"@?$S@;(W!6DM8V!M$T_!^YP?$PH/3/FE(N_Q#*9XM)R^YNO!&Z2_W M'@HKG(C(()%5HO2P'@7%683 74 6G0VE_22[0$*O['1?\;.)VMKU6Q'CPT_C MT\7L=+(_#>,9A2DDE;^$X;@*[50X-30AEX.&F (7%YMJ+(>09&U$R"6G9'V) MK5MQ[T%>G^I/?85<5]IN5]7"^;(UY:B54Q9R$?7(%J$ABL" "++$;O+>MEZ, MN4! KR.I&E1:E$#Z)MFH6M"R00 R&R0K.N; GVHD];CQQOH8O&KA^Z'_QJD! M$7KFLU[B&&OZ4Y@H,GL$GC(9)I$H_0D8P'C.??#%(6O=EGL#*;V*/%HC:3/! M/U[Q^9H===U6HF\=L/.R].KL-JI17S/@M]V*R7D6?#80O=6$NA+!&ZF@L&25 MTX:U/X?U%G+:Q@?9!598%J"+34!SRX$7SH.CT BCY=ZPUKGR+?'!XWJM5ABX MTO*RML3;;@"XAK^;H]D7X[SXZTP;^7^/9_.S;4X+B>Q.IHLWYO/I,![/:SO/ M_F0W+/IY$FQ@VHLO+'UR%Z?# M26U1G]8>TM=X^O-;"8A^.0CC3[A'7+TI!=-\8++C&BGW)EM;K\)A9&8S4Y % M3[R^$UEK0_2P'#8(!BH)N]/)YR%I]^7)QUG=!/"6IZ%4;T%^/71"9=J+_E6M9U]-4#:V?S MB_39$HQW7(&NN^H45QJ",1X2]YRIQ%1DK5=65Z>N5P'#DX?GINKO&I[?JEI+ M].6LF3&\ 7XHAYCDH'2 21>/3"1T=QS\/ \QKJ^K3N__3AN:GZ'P.>@:PZ M90,D 5U/V7&&0Q"&R!4\^WH2II>MSQ%>%YYK+;E>P,/V>)6=:P,TS*60)0A3 MSP15F622?0;43)N$-O#2>LJN1VF?@I^.,'?-8F[7*FW7.GE6%]P9?R KM5,N MG"#S[?B8 7&L*);*4*(F<82Z6T$J#[8>MBBL3$JT#F!6HZQO]8"'P%<'.FM9 M0;H!^]\O[1@4ZUE0 J&(6MM:;( 1+@$F99 ;A4ETT"5V)UWWC#1^""PUUU?# M"^B.IIB&"UD-L/ LM)2 15"(PDR F#(#[5-B7'.94NNN[N7Q^[3E]8& L;;X M.S0EYW?!5-ZUB(-U:#5@=2%R$S6D69?^YX3](,:CW4U MU"EHOC5?G(5?BS7_I9>7+!TZ;61A"5RJAXI$(MMUN&\T7[A@P)9>&>N+'T+3@:6C$! MW.7LG<].N=:K0M]'7P4&_L>"P9JB[S#:.;L<[]R077M)W@"#H-@K%BC!%U"6 M18A9)3">9?F%Q[>3M%*@/K!EJ,;ZJBES_H\G!%!;R?3 MUY/C."_'H_.%IX%AA@N' DIVQ&PFC@,GCK$H$81@Q'[KY<';Z%D),P]5('\X MQ]9&/QU9FM<8YZ^'LP5!9!T/A\>'@T2.UCN=@*M$'M@(1OQZ \@"Q6"VQ.R; M7XAQ%U$K8>>AJM>/8F\VU=1CM.ODD%0(=:;%=KAK:I,7""0;4B]@LL!L2'6S MJX=H$X(6@KZ*,K9Y!\,]R.M34]Q#@:LCY;5#UV7T7XEE*U5<<0V""U-/G\)Z MPZT%400+V>EB=>NBT)U$/86J@E\>SX;@>S71Z^]^B@^_TG3S@ M9"ZEE!;0YGJ^O*%\6B^VXEHM=#$^YM8;L.]#WSU+TC\FK%KIK]U!6^T;1.GO M&QM$0\G)H&+@)%*L;BV'2.X=8I9295'O1FU^>->#2G!B:(A4PKC@\:@>>M$O ,V^I1+/*%)\]B ZGKEZ;J- M;,E%&[Q&,(P"(Q5S@E@HKZK3EBA4$IO7]-?=Q[C9ZL >'IT%"KD18GUQ?1XBZ;46@C<*:IW)[ MN+B0>W^R'[[6LW?K]=\D@+>3Z0TM&LQH,*<:-"9+F MB&^]1B.9A!T2_C_#L-*7E*O\M M=:(8,[=D:KD(9,2SIWQ+\MH52XF65EZ4YO>YMZ*]5]%79^A[%$UWYEFWW^^_ M>/^7[9?OWKSX\(%KAQXWE(U[0[=OYFJ)7N[;%?)?#KR MYXJR'626TA%4]4:@ "ZI$D/PUC<_(>K^5/;*)3X.JEKHKT/W]W?*J7;VMM]\ MV,BY77G*YJ[K=L(:.:;SW<?UN^\7+[7?;^^30O^>@ETXY"U=..3O9("KIBI1- M0YL'$5&C^&B58^A.STZ?#XP62" CP'E! 6VV'H*AT#:[X#VWR9;4>H_P/0DZ?HJFN\'/- MHF03[;3K;2,+-3E!/*M*7\.N-XZ5>B.L$ N?D!+E?Y:!5%'&$ND]W=I[WDE4 MGT*LAX).6TTUO(#YZO70WTS^-[Y]RH'5J%#P#(IR!G#.%(@JV:RX"!);+YRN M0E>?0K"'@E%S?;4LS5V2P.DA$#>*(2=/=C$9T+F>W2=$Q3MJ\ EY=AAH/K2^ M(.J^-/;I>,5'\G%M];@QVFJ,.UALI9D-J]#^.AGE&-(?Y^U9YT1)JY,+AEC& M>N>=RI3-%H8D!HPI92SI\H:[JY']BF/=\X#%)PV2+L3?69+X\N.'[?>4Y+QX M];>/VQ\HX=EY?R'C^<;%[O$T'809[DZ'"3=(!3<;<-.$KR&[C=*Z\UUPKR:' M<3A>L+.':?)I//P/YNU,0!F685@J89SND*LKF%^&HQ&A=PFV])GC0\QUB:/& M0I@BK[>_5?_& SCA&:!4VDKF='"MF]$[8F53I[LF6=>2Y!Y.5)3&(NMUZ=[I:C/EW(T:MRX&=,-*G>T1^]!FQ'GKZ%U>] M'7ZE=TY3:AUY3"(C, P2:'9;H+ P@(G<>BV=C\$\>/BT1&"?KC_I$[Y[ XH5 M*U]GK]=O,_\*7]_7BS+VI:*K)V19KE&$ MM[;LZIDG!I:$S"F*1WU(NNSY]3=!D;(V2J2(0U*LZNAV:Z$./F1^)Y&)3"3^ M_A_?S@;/OD([ZC?#7YZSG^CS9S",3>H/3W]Y_OG3:V*?_\<__O:WO_\?0O[K MY<+%_-//9Q__=NOS?XCIIYES[L7TMY33] M^S=-]..I@AZW8A.=_&MAG 1\C/ M9E]^_GA\&VE_.'Z1^F]6!O3%P32QDD @C^%8:%X18QW/7U]S)?/(@FRGPS&%1'??G95 MO,V9[]<4\*U'5T [?1 Y@[, ;4VHUYY[!><>P^"GV)R]F$([;(8) MIPL)OQ@U@WXJUO5DC/\6CGJ91V) M@80F4+)(B6/ 2:(B"4J==-'?9L)HSJSL M1V'*A=D0+XJ07\!@/)K_9"KVJ<@7H[@0[N/G]1&^PG "K]OF#,4[;GT<_PO7 MXL/):(PR;0_":/JS'G4J*Q,#2;8LG-9EXGV@A&63@A39X"\K3W9):-/VO:!.TOSVG'3#GZ%@>3XO =C$: M_TV?_+>>Y#):ZR@"I0@Y%;%XCRZ#BYI+$9B3;+.LN0OFYAG4B1O7D35!EP6^4&CT6%,-< YTXGP*"A"X0C%>(-0.,6(7XD MO#('K@S_Y-__QXKRME;YNEI]C_&P'^.Z=(11 'K]HQ^+H60A@="$NO;W^$*Q%X$H;AC MC#B:$(_GDG@;%&$RHC.DO!&ZMJ%?C&;S#*BDLJ83>7=AWV&($QX@LH-TAM(M MDQWWO\().4BSCHJXDW*Q%(=O DV&VEKV_S[(>T+)VI*?A-+1,]" M (5.#-%**+2$(I)@K4!SJ'DR6K*4=-=+P[XH?SWI=K B7 *ZV.=[@ZY*SRF6 MM)*9\%P\6LX<,M PDESF"@*&S=%UI? ?,/;'"WBD:&]K6ZZK[>/A&%H8C>>V M1DJ;@ .RS7B'3BA%6^,T$"&X3])$HW2NK.D;$)Z\EM<1Z6T-JW4U_+IIH7\Z M/)RT+0SC]T^M'X[0:*%$?T7A% Z^A(R?*1M2 ,(([RDQL:PT%*V.3<*0K)76 MH&665%76_@KPGCPSNE+%;=;H]>W"W$+-=S3[PPE:KID):X8SJ!>?0\ P.OJ& MJR&.WQ_Z]OM46.\:_.UPC!(?3(W>Q7O1\X"KHA2<.%=>")$YNC(^$J<9HS0I M+F1MEG4XG2?/REU1]6T6FSHL1L@S6_P2/>VRZ9*BS"IKBH;86H(V&$VR0NE) M#YE&%0']N4X8> O*GK!G/1'?UKQ=5_/O8'S%R4(.QJ1S*5\YN#FP MEW[4CSTG1)#6L=A+R3B";4WQE336UI=S!]N-- M4*_Z@\D84D^#8LPIC=$3%;AZ)$$\XY9H$%DI&XU5M6L:%D#95_4_1M(5MQFO M3?8:)0^&:8;M_?@+M*_ZHSAH1I,K8D!CQTL"K51,E(5("Q*$,D0)9IBG+FF@ M*]G[U<;?CY6@0YG?82?6-A3_@E*7#NG@*X8GI_!N4B3V/D^G,'H_&9>B[5)H M5%2K@@BNB1C0Z9!)DHH1+52P[C3G5WG"_CJ B0:Z<)^D\(EU#C'?9 MC6<7IP-^+L2$],OS<3N!'S]LAF/X-CX:3 ?\Y?D(3LL7CV7"J!WW/K1-FL3Q M^W96XG7PK3_JX:RM5TJ2S!6^!='B) ++)'*JC&(AHG%X'<_.+!H M[(HLN.<$SSVL>(0:FXKBK+B67,%SM8;OU=1Z+@6J=^,8T?JZO@VDYKJPZ/C3 M#W77T=%MA5<2\,:TKUW6PGM-\C1ND\82FQS&;4)R*H67B/?I:?W:(;*M*'T5 MN7;@-LZ O9UZ1CUAI)&)X_2\P$":H27T5E.BP+@0@C$):A_>N09@!UT_[AV]0#SJ+STA$A6"J954L"PU:Y] M;OH^/)OG1J?*O'5\JY(F.G!2;\^Z)R6%K"$0GV(YJ:89+KS!DJE#%9-/3-#J M]O,FBOUFQ)I2[V #\GHM1S(8C"7!B B\5.PI<2NG^=E?0M+DM%IW_ZW6!:!WB0_F"]& MGYJ#E*;:\(,/OI^.AX?^O#_V@[N13R?[_GQ:D/T14(XCC+1G^R@7\_X(L3F] MT&^/JB"=8;146E.,?A0CGDM/.-BLC*,TL]I!XH:FMM^4WD5^='"\Y-XX*5L/ MU!A/&!A)I/22^,PY42HSXR&;D&L752P?L5:)NP =0%<:>!A=BN-Q7L1F)HD3 M(5@5O.9^TW'7VH4,U"5KE$!&18I1C[.%#*LL]>T MAABW7H>5JGGO@O09NL?.E#Q)*2X02CJ,')21Z^=4#TWL [0,%ZDF\@S?_(XQQ M?I#FE>$S5! E1L.(A0E33C"AK0N2Q5+W[Y*SW&(,6ID'=R/9!P)4D'$'B::# M&"=GDX&?U_W?L9T\ ^JR\H[Z3"A3N-SI+(G%6)@D9H4(R7*?:D?\2X/;!WYT MHXF%*:IJI5@?CWX[>O?YZ%5_Y$]/6SB=;G0U>=9K^55A_6#TF%*KY1Z\9BG5 M(]!7*I6Z/N3[^9 _-BQ$DB%F&8D&.KV_)6(8RM&_S%2#IR!R]2/5#V':1L/T M3$/ P)L2+W,@LF1E+9,<*>\X!8WVL?HN^9-HF%Z5/S4ZI:^BJ Y5<8(30H?2M=X0VQ$=]O9!.ANTYAH;8_V/CR;V@;ME"/5!+[M+=+%9R R MY\YJ=,N\-D0"&.**B+PPE@MR@(_H;->]93ZX,FO%82[N9-?2X#Z,YW\ M6D5'RYW\>H2 -Z;]$(3C)B3" P,B*3CB5:+HODN3J+94\S_#R:_J2E]%KIV? M_ (N!)6!DI1$Q!A->Q)RLL0)+:, R[.J[5;OY,FOE91R[\FO521:T?&;]C*8 M(9DM4Q]P8F/\T1BFY6ZO^X.S&486HY?<*:)\\+A^ <.) B=1TJ!<1&?'+]=U M;,D!-Q\/K*&3IF.!5GRG[\#XK_XP-7]<@9:=E@FL)*84*4IT38@K7DLVG!HA M,]N;X^R)BM<27^T>4]>A3??!9JAXIMF[#,10*4O'=9RH#X+0J*1D M"BR]>6_:4DJ],L2>Z/.Q0NODXI*K)T@EY<$[7&L"%0@FNTR" EQZ2LM9=#," MK=[0=2?/Y*ZS\#Y>HK5M\ S)C'0G31[_X=LYL*S+/CC-Q&06B@LYO1XA$\\P M<$PY)N;L4B_K?:-LX03CXZ7?="&Z;G5Z.!D'/_S]L(74'\_351(2!O\YD0BY MG(]SFJ ,T*Q83G%I<"EQ_@C-WC76GNAW;3'67F.OPSLN-Z@/+@Z$O/&AF2\= MC&4:(_7$RN(%9#\]^6\($Z5N6@/+)CQ"T0N&VQ-=UQ!FQ77X#H17O0/J14+G MW1*.-@5-C9<$G0Q.N*/>>1HX?O,(%6_5I>I$K8\5VL)C4+63KS.<1Z-Q_\R/ MX>7W7Z$Y;?WYEWX\:,&OGX1=3LB9*JS5ZKL'PP6ZJ_)U&[4)O=&*XD M^&8MJ55T]>8(#@]Z@GO-QHM[>[87>5I-: MQ3W<,J>C2=NY=)"2V2A)21\122-2QU-/F,[*2OR7BQJ^\-4QG[(&UY)? M[T#&7?DBKB7%#$AA 2BQ%D7"[9???S MG[+Z:HFM8HNJN4WX]65/)&:YXI* *>TC0]GRYX81'Y62TC(5[7W;@ZM9TE]? M/F5%/E)J%?L]E3D=C/K^@X_]W(_S#7Z=BSU@1">3B+1<$"<,.M2>XC1S:1:R MU*''!\SIK8&?LB[7EV3%_D4%S!L_[@\/SN"*3EV M'8Q&.V_M0IZS.J@)<>"-T[>SF.]^62\Z_5CA,>NM1 M=3*6]R/<5&XR):JL WP7H?24R :(US81)2/EBH5@EPL$=B@W>=@,(Y145WG\ MQ_[H]P_0EA_X4V ])\%2&CQ!VM-2,!EQYHH1;JEF- N14^U+/N[#LX/9QE48 M<;MG2271;SJMF &'=Z6V*A<;9C *\-GQTEHC,IW1][) M1.)*"FVJ";9R^NB=/X/W^1JFF>NT#*B*&<2%0#:?05Q70TU7XMV8[A/%=2N5 MHEMCIY6WGG@5#7'H^FKN8K1\JHL:;\.^E2R5\F(*SD^ MM&6>)N.58;7#P8U3XX$^MMM@QBIB[X(1LX7M%L3Y#C9H;4SPQ&:%+A#7E#@9 M+>%1XH+'+7?+59"MPHK[(6U^^ZB:^F[2HJ+L-^-EO(1A_'+FV]^GKT0VP*1$ MWT>HDD9.'HA-98=+ -5 (\W5>UX_A.G/X&\\7@D='%V_C6^.;O:"+(-O4Y[' M#6P[XWZLH=$'Z5)!'9MP1&[A%,YGZ1,1UB4BRT%"_!\:5Y#2YNQ22IU[(QNA MR^HNR2;9LH(6.FFW?>]!KOGA5>]"H!%(8+CP2L42";;LTC GP">NM*Q]>]U2 MP'; 45E+GZN=JGN$,A;Z+-42XQ\^OO]P]/'3?Q^\>W7TS\_'']X>O?OT[NC3 M2?P":3* )G\H]8WM^/N'@1^6*[)*N^KSDC=9(X6^_J!K)MLKS[I26O[:H =7 M!OV1>;,V1J.<0&9J7JZ>]NT?XM2WW MZ"KEHTF>D>1]Z6O/,G':H=-IM*(F"N/%QN8\1;25]DXUF7%'$[Y:"NCBAI$? M[>Q?P7D+L3^UWOCU *9B'Z:#LW+=[/].?[YP,CVM7;(*E_\(21.I R?.14.2 MU)8'J9-4M8E4"_O>46XK2NVF(^C=P-[!N*>2IBF8DA/SB V$*X7(ACB9C619 M0:YC[$N_S0I07>Q^E+EWQ; CSG!*)3B I=W\0"PG- MKHN3%@4] M:0'AO>Y_*U_-.UD&""9/02D1B)3.$2>"HH3S1(&FM;C@50]H\- M-63>@7GX#;[TX^"2F$P:D97 \$VR_]J[Z.C#NHAW@# M?@1?FD$Z/CMOFZ_3:'C.1LZ$=U%;(AA%-C*CT?"4B_^,LR"$X4;6MOCWP-D_ M*M22?<66%],:\ENKT8=!,QY?IDP%(O/1"1(E1TL5\1^KG";*1.^3BIFEY9J8 MW#_._NB[ME KMLJXDHD?C=O)]#*@X[*_?XK^Z)R+6D0JO#$DTVB(=.6 H:62 M ->6&^T+4>O7MBS$LS_$J"[]A=TVJE4H'+_[=/#NU^.7;XX.3DZ./IUO"W1XT_\*Z>:P/_;@(_/64U[VU?!M?:6Q*+Q[C(?V=P(EA7[D^2OK3UPD61 M*DV,3$B>A!$RJ[XQ\0"FS5NDZ@RYM3]14PT=[%+<@^]*,OMJTKK' 'R4KG3S M*PD$BQ%UL%J0D'201CK!;&UW=G64?RXJU5!5%]NBBQ&77+;P6H9$.=%6,_35 M*",AF$BRQ/]0%%-8[CK9.D3:2BG!-DFSJ@HZ+2>X!^=%VM)9H55&ZRA"2N7T M%2,VHB243U[$Q'EBM:M.ED>WJ9*"SNG2D4)VI:S@GDF]_'YQ?GS@1Q=- )SP M@:&X2F(S)PZ%213E(*1PC$/MFVQ6@+?],H.Z!%G>;*VEJ,TNF2>==2$P]2$*&YTLHJ M[T7M@[P[0;,'BA9VE66KJ*L#=GUJ?8)R<.CR(LZLRIBY=,%QZ$(D2KRF8;J= M+E+0DKO:]+F)8:>\\O65UE24> <; O/K=E_!5Q@T5S-L*=' /#B2*9)?BE@N M4M+H-82R3>$4Z%![^WHAF/WF1!T==&4>RB3G9#6!8@1I+1'E)A7)4B1.E([R MLAQ/C5GRZL=U;V+8;RJL)?$NF@W-CGU^A(M;?$=?^N>C2W)JJ03'A9&7.V35 MM."*&<(B"Z4SLA0W[[ZNUC/D#CC[S8M:>NB@%.)=,XS-V3F,X>"TA6O9>.= M6 J*:,ILZ6S"B,NEMPX2VEFT;0IJ,V0QFOTF2"4M5*R)F".;]E>_-?]9ZQLE M!=/&$BW+H4R5'/$RA7+A$PI",>"R-D'N@;/?#*FEAX5E%-62Y:^.7GY:(P=^ M]<_73&TO1%(I8UUV<=_GPQ92?_S:Q_Z@/_[^8V?7^Z [B.@R)RY)XE%77U&P^NCK^O'%A)KAV$G7?-\K Y.^N/BUOS&N#' MU0N];&6RX 71EB,=L^+$AP2$!Z-IL#E1X39@)A; VU>&U-1*!U'K*PCCXVEM MX/1:2,_1-9;EM#UU20@+ M"+_ZW1A+8MLGZG2BCRZJ^N^0 'K,T,)H7 >C)'C_28=#5//2&%%PJB*9S-M MR":)2P;C;_3$C1)2TE [=%D!WCZQIRNMU*[_O\[R=Y,B+\3=?(6AQVB\EW3, M1LA0KJ$NUPQH30(/G@#/T:68,MR\B&?! 8 '!MH'W5<7:,7B_SNPS3'-:5F^ M;W$A_%@VZV:N=,_%4I3>JHAN]7)7,*P^]IY2HKK8 M%QX$J,J2-W 5)JJBP S 1;8Z$*Y+X_&8 K'E$D,F)?/<1 @RK<&.N\;<;;;'CT59WW">"B?(I%H:+,D@B.%DVZI(FE&0EK)8N0!:!L-N!/;+2^<;,^ MP^IRWI4ZQNOSF!:I&.\LA51*O0Y@"4Q==5J_ \^6NJNOJ:M[5;^&H#=% @U.,ZF! ,7% M2V8,F9W#54VE()C55D.J71Z_.>4_U"M] [I?1;[==$1O!E_+MOOU3?EYR1@Z MKC$!QCVETII11:QGGG"(1H@ .51/J]\+: L=T-?6V>VNYY4$WD7.HQF>8H!S M5MSB[3@"ZVOL 0JL(>XN4F-WHRL]S!5&MA@;48F<9Y%8XP-)+!L> M60K,5D^$;I $#S@$F^+ *E+N."TZ;WRE?$K,>R*,="5$SB1(8] -S8,'B''VHQ^>7M"XM'Z7FC&2F4"GACE.O %)3'"R MW$>HHEJJL?8#]S-?#K@?Z_GC95@QJW@)8MZ19@D8%:]9OS+TYB]6?Z3P;ZIO M#EA'J' 9[CUJ<:FKLVZ&;O1G^TV)L:,JN\ M#,Y2>#,@D2NJI5?$Q=+H0)E(?)(9F8B+M%(!J%JJ<]-#RKLZZ!-4WJ-EUD4G MW"O5/1=G:]%'D]$B%"B7*C-@Q+I8+L10TJ&3KGBJW7WK)H;]\'"J2+B#TQY7 M\?X[Q-5^@.[$EWK?!7)=J#KEWXT13,_9!8 LF*&@%*>2&\I @%!0L@9 MIV9H-+5WH*XCV/PNQ+HZ::H)M*+;-:VG.8$XP77J_5=HA_W3+^/7_:$?QO[P MM. [>?_ZXPRC8LR:K-IKB+2+C-(= MGNC%)>,V6X?_)39+Q,4M1@O*&,(%=U%KB['^)L[<[9^77D7B'?0OOPO7FW*P MM9W?)+X$OJZRC ]@VU*^L8HFEZ#'VFK8T,&\ZSA%=([Q3$K#62(SX\2#QQOB/5ZX]60%-3>@LC@&I-&5X?''_\ M[>#-YZ.W1P<#WV]_\8 +OSPO2?T[\ M<-P?^W'_*[SJCTJI>+FH[LUE:7O225NC(CJ31;\F"&*%LX31D"0P#S14;X6] M&L2UMP03,+72)Z9!=MW8A.M9;%W<:+"6>"R?>QY"M M,KZ<1"^WPNA$,*JCA.88),HHHLBV\N)MMJ_X!@G5E79VY6S.Y?Q>?K_\\C_[ M^(ZT\?+MH\SZ&]!5\F/NW?=AOO_.+L)@<87D:HS=6V= M8SE%4&4ISU%'M/E>$2\#+NHZGD_& MHZD$Q'R3.V#86PIQ?5 4C;;0Q#KEB4X8)5LF33*U:Y/O@;-%K[V^(A=19DTM M=.F;O_Q^10RO6_CW!(9Q=G@O&QUUFU"5 M-$8%1,F%YO@602+>>DJT%CI[#TSSSA:J35-G>?]F:\Q911V;\I(_EM*-MC\\ MG1\-51E[=#WB&.T5OJ634O1:W< M&^*"Q/4 70I<"$3BU;M6K8IQ4SF8S@C4J5)V)>MRQ]1FC8"\#( 1,3,*78$@ M@7@6-4E2"*..6:5M YR]1.''8;CT_O8KKYN831N M?1SW9+3*&P>E676Y$R,D$K*51&E6;JD.E*;:*\\B+#MAAQ['@)M+3A5Q=Q!2 M?_#?IWNOY M(4R;IT4=[=T\I5=3]!TZJ5=VACY";$Z'_?^%=)P0>C]/3RU>7.TXFT3ZM6G2 M'_W!X&"8YB6[?1CA9R9GD-ZA&.>RLXF)6&Z7-K*4"@3PQ&ON2+0I 9,T"A<[ M,J@=36F/[-4N*7]WN'WGM []Z O^X@@_\M4/RAO=4QJXR5D2ZM&WE-YR8H$: M(D+,SF2<77\W)FV+?W#Q27P*X"3Q+T<]F;U) M)DE2(JS2.U,3:U$'P4BT64:;M-MOR()Y_?6>[#23.B@:JSG'X^%7_'S3?N^A M!0#J?4 69Y0Z*J&4&* Q<+R(/(BHNMK^JSJ1O]Z'W>)*!Y=8=O:2?VCAW/?3 MT;=S&(X /S^]4?[B=SV@P%.4TT@KXJ2I(LY;1P0$!S2G1'78X1=DZ8G^]0(] M+:[5ON2SYHQ?][_A;R[FI&,..F5<)I7'53,I]#&=8,27.5*MJ=4W+O19D$?H M".!?O-\I"G30"ZCN8CCVP]/^U!\TDC,O<3ED)5LDE1#$AFB)UL$&FZF"ZA-+Q?M:Y].:RZX7K9-!1HU1?RE;9LH0IR6^F!:_U]DF"K5KU>9C M_T6TM352\>[6ZD;_(,9F,D0GQW^?_L6P_*2=P-6/]FA40GJ:"!/E)G,N#4H, M# E<"2B%\V[)PH)-(_^+O$^#-+??$+NC&:H>YTEZD(*P#**\[@)]I"P(YQA8 M:R^TUUU5=5:>RE\OQZ[QY?9KX#9>%J\E"S([5VJI4(;,4!*D9H1+FJ1B4HI0 MNY3E29;%KY- [50INUX63Z5AW.!JD)U ?RFB^^0"2D^[F)R)V;*;NPM_^K+X ME=2_9%G\*FK82I7S,@#_*HM?694KESL_1@];(8SV4CD'E "^+$1F7&F=YHPD M[6,2P4KINSH7^#3*XKOER2KBWVA9/#AT^TRTQ'*+UE/(0/RT8R $FE0RPHKE M;H9X:F7Q*VEDZ;+X5<3911>?(EAX@]BN[-1=^.0OO[_U_].TAP./4BF$MXQ[ M&8,A.EA')$2-ZZ9EA$:@T?',!*_>&F%Y>'\*]Z,K=771XFNU M#-RNVOVL!G5+K7^Z4OWR%*NFMRZ:NZP(.Z?D7,J)"+3DN'J[2'SDB@2;1.3. M*X$S1[J$W0CK)L%75UP*Y/K4]0X(SF-SE%B$9:0ZC+BDA#!0DF,P*< M"L:E-(K5+HJYB6$++8&Z5%I34>(=.$J'D]&X.8/V(PPNFMA\Z9^/+H\VQF"! MXA).8[D_R 028@(".F11 M7@)81Y[O0E#;\7&KJ.YA.JPA]\V8C1G :)-EGBI"E4 'BVI+K V!*&%+T@L" MR-KKRH8)\8 WNED^K"+N[GDP[X ()D)0MK18%$26VZ>\]X((JY4Q/'@%M>.4 M.X%LWJNHI*C[U?\(*5=T+D?MN'6!7!GC4N> OHXQJ;B8P>S:+D@-ZN"E+Z0$.L?5#]&H ](<#C MA;J!O9]I6),B"T$E3;(O_1=YJ7'FQJ#SP[CG5. WM2_+O0O'INJ".]'RVH+= M];K? $9[B@Z-8Q((AKI(7!9C]+ 5PI0-5,F2)1@]8YB5*2.6V4285L&QP%,P7;7T>!JU MO=WR9!7QUZ[M/9B,F[.F%*.^/WK[ =&,Y^6IS?!U?W VCYQC,%YP223.%_U= M R0 %\3;R*6E3FIZPP=94.6[W'B[6.^[DI::;D7H7N>Q8M4)MQZ*&J#NHT+TG,[X$L#]Y1<(JJEN^(N$1 ML!U*U!+0K"> )?,9.N\$[4/ANU\1<)*BEJJ(F$5*==.74SE-(+XTVGS M]07$=)$<.!ZF_M=^FOC!Z/UP\/WAM,4UM5]]W(7&8_JAZ)O/7BF/\0BX:^8P M<)#>P6!P98BWUZBS\OP7/G =5_]C/W[Q;3IL)V>#[W-:>;":EJI;D=&I!3#$ M:FZ)\\9F")32FWN+"_SZ.QZ^N1?R(?E?<\?7%<-"SVO!VS7[_]Q89 M?V1ESK'FZ+\QYX(YQ"0"NTZ>L#P!L+"P )>@/X Y"I@";*RL.Q_H8H<^'%P< M'.SL'#PP&"<7'P\?'R\/+R^_P.Y=_ *" KR\NT1W"0H)BXB(\,'%]H@*[]DM M+"*\PX2%#9K#SL'-P<$MS,_++_Q_?#$; 4$NH)CU5S:6 P"K( N;( NS!4 M L'RV\7\/>+A15:(R>,BYN'%QI0L0M@96%C8V5GVUDU].M=Z'> 79!C]_Y# M)IQ"MI=A!WR%->\E97/)''O;)'*VCR2K=>56.#>/J-@><0DY>05%)65MG<.Z M1X[JF1XW.V%N87GRG-UY>X<+OSBZ7KUVWIZ:E/WF:D9.;EU]06%3\\EU9>45EU?OJF@_-+:UM[1V='[_T#WS]-C@T M/#(Y-?W]Q\SLW/P">6U]8Y.R!?[XA(\E9;]MXI;1.DL2N7*KCT=45GM2CKPC MVF^2_<<$"_]/2?:'8/\FUPC Q\8"&8]-$$ "]',YL8I 3DK&T2R.G-B;\%) M+];$)(LU[DJL@#N+!_RDXK*Q-(QZBC'DLH>>*F;QK'7D3-EMU^*5"S[:5%_9 MD]/@GN^7WW8'ZM*,K(@X.ENH.1,(>\@$6AWZF4!Y>Z.S)"46-"L%]1W,X+Z" M(2JEU5Y>$>())ALWW 9VZP^N%Y*%&H/QS0A)+VFQ0>_,?KO^@Q(3[F.NCP)E MAN($-[/@0P0P-+T)M_P\]F&!?X3 M/P?&O8E_XL=(1;KA1B0_$,H+[\F040]FDY9"9ZO2>,-$W:]>E'I=/1T.[XW= M5*;),H%P5T9_-TE]^JHC)^[.%1(V5ESMH"XVF3=N2NENE"SB1K##2LL-V3B- MH[!L86!;B=-])DPT5OFH9)=S"WDB;.\G$4L%D35$FS6H1/@ #V?HU9-*Z6W9 MI9ZB*+6N>8V8*[%GR&D='%&A?I_U!A]BFDX@B3F\Q"/J#,G0P_A?#$P///$_ M[0+K>"Q#"DS5VPCP8=SJ$N6AJL:9=9M(Z/?7^K()MBC*A D7ZJ MA^,W!,@(!JLZ$Q QW[%;E;=N"P;DPM/.HQ7ZC!&5B'\YZ!^-.W57F(5ZF0G MDT$5)F"\*L@$B >8 -D.T_R]@8<)].K_P?!+T9@OQ).-P2M#)_.774SM7<3TW8/S"C8+A#/LZ9%L:CF ?Y^:/K">XL[CG/[B\:"^0D MW\\ %//S=FQB:@:HR:GMSV)-@WXZJ67,:Z:@70[86G:K <*VEM#7?;D9@*-B M 7&[EZTH+VLFC$?)8R=N'O49\UI:6;@#^=!/7^)Z6?LL[UL9K8]VIS M67G=&A^N7Z)2E*&4G6JJ4L*WRV3AD#&BR_KDR6T5R@_ZDYOXZXAXW>U3@A:A MZD5ESG-;? )\D%^6*-3*'\,V;N%>0-+O1'FL(@O9HK' MK^]Y22YP_MX*EX[WJ&?*(Z-R0#NVWKH>_2NFR0Q#S+&E':VJ![U)TS:_U%DI MESMFEMX<%@7(/W(#'JTG&ZU*;5^ 0@OR=],C*%07],?L;5!-.J675LS& M*1&<]'$_$\A\;XB)6NPGSU"V[YY8<'KVU#$DYD)=M3^W%\F&2_KYR/UI2 MNF6LM..E26455PL@W=L%6/D\16^-&0 !@+>TS@]SL'^CLV5X6,V&;_S:R M"#X+1?M1]!B^C#]]68>$LOV2+&N]>_[C8(U9']NM3UDS!DS ?U!E^ZZ9E8J#)IZGW?)?Y@,/FP8^2I6A3)M#DA+E:06JHPXK1 M=*Z5G1YX(]<]\/EJFL>%,GVA9$O#T\#AM37O8RM>)4]=0F*> M=\J^.W3]#I0KQU)L_K"'=:Q8IEF"MH>L:\7Y$Y9&83:LYI+=!W*4 ES#7FI: MXDJ9P%5#&''P VJO5,!T]WAW0TGAD]FWI.E?M&-YE6NL=&\^V(7%YM^UI *0 MCHY>)M5'5+4B8T<"O89RJ/9/)ZEY4[LX)U47, \3A#<63O@F?E8?86OG)\M, MN\776:#\'"-+;ZL:]8E+=J&:[B1^"$.Z+4/I]B6JK+O<:B]Z7[W%@/=Y9\-& MX$ZQ)(.GBFJDG&Q@4G1H0R)DD/A#TIUM"\.0;J(B,;VWST*/#\'$(T@4^# 3 M8-P/3F< NN#@) >4S.NA9'Z)CF4"+,<1Z?%LB& );8D(K-NFV8@(36D M1\G!KWJLGH-J!\=Y.E;VB)%;LN%DMZ MX[TT_)YUX9L__8X#+E"?F[44UGQSS9#K*&<>;K:$B*$)PZ;5&ZE%HCVM MNA*,%&DVC^#I9T4?MSEOU& :+7!?<FD(,Z?(,/1,SYU4-Z80;\P&OBR&^0NR*BD=Z25F? MCK76)#13;#SF[,C).?;M?7DR)%P<>=4844\@;:P.SS(B:[$T()VF""&:0G0/ M]=AGD2!9H@ULHX_D,^T6T6 &B&% XU6K)9%+5V$,RT<#3]%\8>-;;Y> M.#&DY0*G\M+T49%,X%UA<[U2?]?[E%,)VY.^X7)/@A+@O6\1$<%NK3T2YJ39 MR<18 ]M#MJ*)!6.HPRO8VKBJC2PX%UF=)EQ%U'U ,RF:JTF,O6ZUR#TQXF^E M)&Y:W 3_3F(27> H MX:?%P *HKOHH1]+*C,7<"U[%,@&_F1?0 MF&^/%,[%_L10XJ!HC0Q5HC]?O?:E0O(GS61J#X.1FLN19I&8^W:_,/5F3P5P MU\P,?6T>2W*RYNE\R3Y@)+VXRZ/US?6J]S$_V 8]]J$K*(E0;J':A^K1\\H+ M:DEWWJ>,GZC&6E5+.P\@5OE0J^0 M')HE_;&M:,4O&URC*\\64^.>![/>\IK$@(KF-&&TSX/@^,'FGLBJ0UU3_I(Z M:DXL7]IEZ!?1[RZM[0"%-?56EX/?ZGQ++WIN,XH#7GD&P/S2'5*TWQW:NGX4 M2D6>S90?('_Q!*\3)M9%*BBF\9Q_%3)&9$D/$:/=(W2A.22/,.IY^%9\I^&K MG..7%[AP/RKKSQ&ME[7(;!1_,KLC]O[FXL,C]R.?G0E0\_K54-J 2 ].&&"A M*SEH08V.'K*%P+' $!MF0A\ J]I%I=^<,

+[NE MZB*M5)(U#JIUZLLB; =[OSND#JZTTX1K*=:)TUL?',B<#]U+IQ'\)[9$:X'Q MVYS($'@U46/K8@#N0[%,X-6K_HH+OYZO"=>W85/,B07^F5[-USC/E&%\7"][ MJ_WXT1P]%_ITI(&6/$N&&(F MBG2&JP[&']7B$U.IY#NEP&OT-.?34ZO]7Z\^DGX7P 8&+@1[0Z7("$-\7HGG M]O9C M$(0=6<6O+C:+EW_7DL_:?9_6^V7<00#$LVE.P$#AE+ZU)1@5L,$A'C1D1J:"I4T<^2R23K MI8=3O!?RUU;\.R?[;4V:KE[_=)_QD[.AWK;"%_48ZL6=X-%.KXT0@? MV65JA!Q:Z\6V2H=^7^ ;4']2W""$[/3!2#J&+[[8,XWRPWSKU/V ^8SI MQ25U4 [5W .>07IY[]Z<%'("T5_NGC%NWA?::I4.Y+,+=WIC<&F#ECM@)!.(LQ]X9E-'/ECJ']K]?LPJ1,;H M[NV:^A *I6H \F"OQ!B9L_RS+\Z>.$U8[UA'3)9YAT+=,"($W80DV:J+TG3) MWU*)!&G/+>G])'2AYDB[;^B,Y9+L%5:-1\\??V;A?^XFLV>6\H[;/O"LV:6/ MC;N:LT5H9?.^W8<+W=.&=?DUN2B;X^]=$?&8,WB^Z;K[D[@(5_PX9>-+J?UT M $KC6'89.!-F!(5/^"-TORZJ#-M8+1"CGCH5CSYWV77?(L^RO*5Y31S+RA2> M?9/_V*)=0^;*VI152?'S3M7^0VX0RDT.?CXXOT43I? 2EJTC-,/:&DV+BMO' M!1P)XEN-R"1<5\:.96S)YUI0G+2@_,"29MVU"POV0JKW7:7>%2&U;R)C+EP5 M7+UX5YB%KDF#@:6NY+))1 3-H_"228FCZJ?[V(/&)SOP]TO@']XQ 4]D;#') MFJ@>1[OJ).3QC9^""7H>#<5S^POK21<9R D+(]?4A[::(^9Q ":.OK M7-,,=@D(E7+8)TPR 5?\[BJ!_8E(RJ M::A[.IOIL25XF_=7KP/#P18K$7U\"-_C(A]MYRR$.O^\.\XP/) M-^]D"SU35G!O\6RHWN1''[GF8QDH(ZEV _RN4,VT8:J5YYT< __QF==(1T9F M>:K_EZ46["*[HN1B^?4PA0R1IQ>.C.5=NO\%#\<3BU#O FA*R-C3TZ]LG M$4(GOZ3&HYV@2@X- YXK!;6W@6FCBS\YT-RQN<.,^:$,/UPC6\ MGOZ]?]TA94I4C@N8FX_VWZG=*_#'T9QB*'\_!@%P]?1:::=?E3&I]R5K-WW(@-6I* MH2WF&8,[BK3Z >LN/[/>(B;:G=)96<5WA\YFB?B!@CMX3ZV*G2X*-2 Y1%;- M$$Z*!9B83-]MB;6>E^B%"?V^=> X(4Y*J)H^?=IOFR MKKYXR=WX*H,N#R4EE5!#YW-3YO$T9P/]E--O$S["+B@#Y>3*5_+N\[ M*W50%";SPW@%"0L0H79.G?9$"+A+9);\VK3O;47RS E#UAQ1A3416F?H*?+Q MS,-@S)0SVEYU.RW7US\YQ"#.?,Z=+>-W^(/[R@3 S[-_0(ID/-*G!;@^V): MX-25\%)S#?Y)#FWCL(JG">&J\=PV3!0#-7XUQ'PU= M*:Y@5?8B?_YXZ&&R32W_&]5@PY;8]B,_?[$)-VQJQ5CQ:=F6\W0GO[0NWML+ M^^ZPM%,H/I(-!^/*L5*TL_U.Q[]H#]LO])N]/Y(Y-77IH>M\YE M^QF!:U07# PX1\JL#LKS.JPK<;/03<74L/33-=GXIB9V"4;>T/4ZY#1NR954 M2(DVPCP,U9?TO'SG=?&5";./B5MA^Z .[5X6?/9@/8*HWH@38O1B!;57N<'K M;58QK_?>S9GU6"N]TC$N&]\+(+7"CA[ .VX00!E4D[ZA[4VWKW4.(3=*WSMV MAG"=6VHY)F#T!/>J09#&3M)MK.?S,.(A;1;$W,!\TSYYZAW6X7;R:< ]% %Z M%8;N!Z]-]L#F+41[+,JM_/>YWA;X);'VD"OXS6%9B%0)CT=QT)R(U8W(D4KU MO==JN.VBXA@")2YQN6Q0IEZ;G.KA]73A)A\NSEJ@?/EEP=&[:V3,=%^3@STD MBW(G;A0[.LW@[O>B'@]JT"295'VA^4M<";PJ>7G > ]+-/4U3++Z,V!4 6Z2 M98B$>"/!Q;,>+FJDF>R<":5]:I]D8<#FN=Y$7^.]SB+*HZ?&5,]8O\O8P@T3 M*#)@-O6$Y[=UFG159; MU$X>4,OJN/;NV*%9"T-,37W/&URS]>[ E+/D.]4AKQ;%4CPE7BR5&K9^6OKE M^YVCLAE Z4M/!\?/N;?OAOC*C8^WQ*N6?6I],?0\V7+!L_0?-F'M5=4+^]4O MU5:F9K^/:$GJE!2Y=ND6E^'+>@A2<3":D!7LJ/+V)GW)Q:X((\4OQX8]^_RN M/^+C]ITCWIS.EG7H]Z>MH3] JOI*6.HAUY[Z>OTI$Y@4'WCRBR?IZK+&VSTI MTD5#/EDR]1B3D;_MS]=$/"XQS!^PTM;,_EBCT;&/>M]8S)-W=-'[\(C5P]KH M4N]I\:#KOT;G#J0T%B].(T 56(LK$35L;?LF_'KDEDM=>)N\?=/(7@,LN) $ M]L*^8DCO#.28@.F9ATS@/M=OIVY7 ZT8D2^@0LBYBPF0S].@]7FX,(&>[TQ@ MBXQO2UQ6(?RD81D,76C^QB83X)7Y@-K0GL.#&E&_G<>)FC_ SWGT84B7X4Q M!/5)G9*Z2F-8,P&,),V=\:6>"6 [F<#J-"8>P%BC_G][_JOQV]/F8:&ZKFH3 M^=,H^-!HEFRG43%KXM>2G^G_]/##5HM/TV^D[^XP%.\49MG"TH2IE*^]2'>5 M99DF:9[W>E%1VB&1-=4#=U*MGL5YVSS]_C*?A(4_7T+_KI:W'/B)7NH M5H>JJ\?Z!QTXSP1.E%6F;<\GDIIVI]_>;)P>BVVZP$/3E8A=ZI"6(C$E5MJH"]K MKF0_8 /;H$.BLD'*V-#T0( (L=].%E7AO$R@MS,/0PQ%T:ZQSTDKM, %F%V-K< M,9+3ZD_Z>R: +V5HL]"-H(;_GX;;_D46U"J-)679P#XS@:JM%A-2/\4:O%>LLE13 M_4XB%-@KZO'"]K(@3B,D!; @3F#@M,4?(@8 MMCEI1,6>JB]+E\OB!(SLC'-_.A =:$)=DY Q?$8(C6D)$R3DOO%J^7:SHW7,JXP>^WYO?Q7[1?X!JP.(QM@O M.6%'^)$4#.B6[Z(VC@T+/>IUJ_" NU_'^7N;'8XKDU6Q$SH)1[YIVT:F$$:>>+ Q-;=-<]@QNR M54[[^FI=+1/"-@8+?+UO)@S8_HDJJ)(0=DFGE^ G#4FG"+P&ID&U%WM=U[4[ MY7PR0HZAB0K%IEB0&W62YOMZD$AH/>U&Q+6\@+?I"2\+9.>/J3;=NO,QB]97 M]?)-A\Q$&+* ]N,V*@6QL[L2/MN2R4(ZY?/><=3RY:DLDOA06^[B ^0+=%JH M*%B=&WH3O)8-MA][>O7-0.FWTT^[CH,_1?@8[.OKC1'8[G48P1FCT_0M1?J>S84[W.O./>^Q5+K[N&@9\'YS# M+^T(V3- \R_RR#0$LUT//YTL>GI3M=QR(*]J_&L>+#4QN]U^VQ]8VV/$:TU" M4J2_U=W%&7_+W$_^,:!W/96OI/+X6WN"S'H_FD#]KEX:&H,J0)(CKP[RX1(I;MT]":',!0?T0TXS Y M[NV,E%Z3ZOXK>E8RD4AP ?L9CWH6@8M"$A_A!9Y]P+Q;I7SO6\*V9#P>#$VX M_ $" M8/-(FB!JDD!);+&6!#]>_>DWJOA*;2BA5.40IN, $R"ZRX63B M,&:RFQ!=49UV]YAQW_R(H\;N\>X$8,.VS:G"&]V'*!>+P+O!HW0G5,@Z(WF^ MK)7?W$W2%JX87>@+20[98)/=P,U2*-Q9%[C70#C,@C7SI0O)VLI8RCQ7+NI4Z+4;*4@/RO$4&B*,6KD%L3WY$7Y5>:XY MG,N0'YT+X3DM/!%;K1?0BHVN"<@;D4^\A8U^GV3-T(,/?BG#$%\3WL7T^RNB M#X%WNN@2/])&+R:(-%KJF1]E>TO-VT[=S()_XE'R^&,;F&T5!1910X&)+2F![6P:E_E;KBH[5 M_*I4XJMD+<3LA:?:C_]PONMQ@\ZDJ,:UT)-@X:0U3\NKY5>>=R@H];QD#H5- M'$$?-:1 /#;:@B.-GE 59CUE2#9&?*:8B8O0A2! RT'C8 (Y7CF0 V18@Y?P M8?B-TWXHZCHTYO-_8$RWT9$)^P\R1S=L,QBQRYC+F'N';X@;B<^I8N;S7^+7 M7Y>8T9\P=@?ZIT+%*;)!N#(IV*)&IX',!%B',P#&K3I=$J'51;TN8=",-%-8 M/&;QZ]M1Q]J4GSS;]XE,@+:[9]JGI:3HZM?R)P9B^55JOJ\L8TXR@3*)<$N* M'+J"6EPPYW@GGBO*^FW5VVA,EWY@F@XMK*06R((_PES'@?*89D38V9&%K3=5 M<:'G1+\YFYZ-X\J^_/G*PT>%AIWR#;5K+;XOBWA@QD=$Y*X$3K?8@.9--3/5 M4&?;?\.M[HY14IO3M@V,Z$,3]IK:!\93+P:.!%Y;OU$^[-KO_3F8*\DTD0JZ M-+B5XB0"PU$B8//%;P57UA;$^IT/&;W^@2^]\KA&9.^-M3)#YB]QE+"&P^T%7Z28?>_@ES-H#HPI+JH MAIB^(_T0$"N$:GT]E86FSP0BW*@*(-OI)(/:9R4B VX7+\4H2%^&C=ULGT29 M7@\S\F("4;<8/:B-,]I,@#K/!-H2P0#U)0@ 'I^&P&4#EN8U?ZHO _B)^S-_ MY.08OFR0+A2/9&QCR+A\K1/N;#/X/TUV_PO[AL?=XEGP#*@A^,?IN7_FOGU. M^Z:45C=P"91LW-9MQO(.!08T?Q/TR#",#;I#>4,?0)V<0GIBHA&D5Q@WG'1@ MDMS:356_X@S.S\A !QY8@P7.'O< 27R#VH6<%*,_7?93G!GVQ2TDM989E-N& MKX)7"^>-$3&JMUI2DL]X_(X DB=@-9E'7)V_6#2)F-\ZPV'N4DN5!=EII^AY M#=)ST@Y8X9$ZK=/26C6*S[H?(;R+!ECH+.C/:-C#27PCE,P#;\ERJ?H5"8;M M^?EQQ8<6%!]L:.K#,]J6E/7A0(3M'(=5!N"H!*F)Q3T/T@%'3LJ!N$1'P/%? MX)#=[ZWC$>*A.B2%1KW$AP;G@BN#_7-HN3*A7W;=:;M?N]=O^UMZ"R[&11JT M)G9;MS#D!ES[_5X8R:B^ZP@ZLE0@\ MTS2L7:\2\!%J"PSW"O ^@AG6V' BEB]3[0*?4?+!&-_7GFLZKQ/9M(.O/RY] MLIS=@["721[O7-)0:5',^_T-I>!>%E0.DG0:,\3/4/ \C!(*O7NI:]+)8?=\ MAM]\*RV,+,/&!%2;9A$MYH4N" ;W#RJ7"[I/6O9A:X-*1?)HHX1?V&23_< U MF)$CY@TRIB$LH'V9DICGZ![L78EU]9)ZD5KN)7R85&07+WQ)^5XOH,CJY62Q M-)F@:.L:(ZR<$P< 1)XV\FRX-CZZ0?";P=%2I]*)].)1PW+2^\_G(S4-FYJD MIVHD3(T1W8G+AB0Q>_KSAD->:/A 7YR&Q;6W[R^W4#[=EDQLOK]24)>#]\,3 M"PCOLL%U4KCU;O=*=$"<@9;0F%,TI+";1A[[MXYTVBYNXC[\E'$?3QHH46J" M50"'_]CH_C>"OT424Q'PGGBDE[?HMD5=ES//B+?)9TV1#U-:3."NX$^'57ZT M$Q3,0@W2=7KF+0B)+K$N [*'C87YEK %""'ZAS\=%LP M3^_FQ?:#F$A:3#6 M2 K=P3B<>=2@MOODGHU1M&^*:NQKY.K$]O9-O 83(%80!"4&/Z!92'9G+TTX M=T* :[U2^U"1T? C[(5'(-4FV!NE35/_%4D\2$!?N(AR:T5K9:L5N;EF#&J M\N9[.^MSUU'-JA_&B)ROX ](S3E@M$[BPTPXR>_L:J)YO^/F5VM>V16[^ZO1 M=@P=ZIX+ZN=0G_'+D],_P$2J0ZCQUP,IGRIBJ4LV>[_?B#GFN_R(\ ((%/G= M<'Y8>,,!,'$2%:M69[[S[I>84R7?FPECX1K.LZ7QC0DF,N37-V.!;5Z&Y#HE M'*J7V:\P!,B2Y!KD)![IKKZM+-%.7X=Z?4D';P;[(LW/_NIR9C6C3F-@M7)(<(8HH'6S7W[S/K]ND)N M96%VM^FBJ[,$VOX<,V]H'M-J"I-0E:_@QSC71YWY*RV'RT%.2XQIB;BZLC^BW]@:[- MND*.H4;],T9G2T2\MLXEZK1O86KJRWH,@:,]HSC*V#>DIX]X1<(SV1I,V,;P MR:&A6<[)>S(]Z0.9C:1<@GR#G8)LQLE_.W7'%3.!RY@AG!V]F':SRJ%+)_&> MW[#)@$^8RJPKK"/^[59TF\6D1>JH3T;QUD'PXYNH5$B8F+VAR;?![Y?M%69?&615PVV&E- BYK$M"G*3G MH.&+F0(#TS9;@D]OK!P._[;%(]".^G1_J2T,^4Q")8N\=6_3)Y*A^96F]7JD M(K.DX&)].5EW*S6Z8Q,F#GM_H'K[G\[LE3Q44!_T^":4R2[Q.:.OYW?>M1 T M+WEO2YMCVRID<)>0QF@&]*0ZZ3+S'RZ>70<+]::+DX;V0^G-,W53YS8!7J3U4/LJE)HRIEL!MO([\:P'$\R*)I8A=\#BDY^BR\E'=D3E1C>&L M'I9ATTYPY0A-94O=IL9)_^CL[8@8\4ZC9AU:3V@@N3_T%-@];2W\E"_FY<*@ MKFWR[0<>>XJV >,L 8%_D;3_('Q.XM YR!=I*IAAI\F5Q^0@74V/Q:!?\R[] M3*;-(I_@&E$/T'PI4^JM<)Y %SG5[;9"']<(J;PD.^PW?$&]1)NANF596;SH M$6*$ZWG;1H#%> ]"I,Y9+ PM"1:VI&A, M3G6@+9+L_]V-"\-^"@(,)0@A/1.C@H\DAGH4JRT]_U64PZ,:TGT@S6M;/>;. M:T,5IE9;6M=7>($F],[*=[]W")>(G.](P M&^<@^-9T:V>/<3O=#$ [8IJ35)G 7"$$",.A+#M5!$'" [\P@;XS.T?H73N[ M7 O.PBP_H:9?X'@9E+E>(!F\Z;_M>>Z-<6,"9GH8FMC.&_^H8C\;V(]"VM'= M/8Q8/R8 'D0QE)/PQ.A*JW"T_)@@$[@T^1NW:\(L,YBRU48D'_HS0>"&@=SD M,UOA76J>RK/P/&GGLW5+8P)WZ1[>67-F1(Q?._>>SL/2E>C=#8([[!6B?Y'UE9(GA+#DL7AC OZ>+./QWD]QDC MTK"D[U;(;26H[!&K?]N6_2_5V.LN(H&VF]<*="*;-KL TM[],H!0Y@S;\7VJ[_P$-_?>N"\WXC">=--0E(MOXV=JU K\Y8ZCR)S+T M%=X)1M[-4QK/U#@#J1] U2@-V,"ZD96%2U'JRP&3XVS',<*6DUUJFO.OA\QO MRJT_+[;-/*'!35O\COO_347_T76M!RPY4:6&T1W2>P;]2NYZUYGXECCGMU3Y M<$47G50UGTF0$8YO#_ E!+ P04 " "V0FA7EH.+GONW ##P0< M%0 'AP96PM,C R,S Y,S!?;&%B+GAM;-R]>7/D.)8G^/]\"FS-VFZFF5#) M [QJIGM-H8BHEEED2!U29LU8VIH;B$/!3I=31=(C0OWI%^#A3LG=20 .4NRU MJ@Q=)/![/SH>WP/>\3__GQ^/:_"-%666;_[E+^Y?G;\ MB$YS38/__*7W^X_ MPO@O_\^__K?_]C__#PC_U[LOG\#[G&P?V:8"5P7#%:/@>U9]!=57!OZ1%W]F MWS"X7>.*Y\4CA/]:WW:5/ST7V7=7\M_H;2-$X\XD/"20R1BU,8 M)S2&)/98$+$@H(E[\? W'P=!D"('^AA[$ 5^#%/BNS#UPH@'S/=2'-2#KK/- MGW^3_Z2X9$"(MRGK'__E+U^KZNEOO_SR_?OWO_Y(B_5?\^+A%\]Q_%^ZJ__2 M7O[CX/KO?GVUFR3)+_5?=Y>6V;$+Q;#N+__KUT]WY"M[Q##;E!7>$#E!F?VM MK'_Y*2>XJED?Q05.7B%_@MUE4/X*NA[TW;_^*.E?_O6_ =#04>1K]H5Q(+_^ M]N7ZY)3)+_**7S;L03[;6U9D.;VK<%%]PBE;"_3U:-7S$_N7OY39X].:=;_[ M6C!^?-AU4;P85:),)$HWE"C_^ZG)?CD#OB6\U2%6"^!J<3_;PCC$Z6=K<.^% MAF#3 ^Y-U#9CXIM*&NTY8NA04;_Y2_BN]6VA \8/ZW>,\Z*@M%K\8)\ M9/?X!RLO-U1\%>]"FE7E*O(Q$@)0R-/$AR@E 4QI@J#/PR3THRA(8K2J=I_Q M%=O W^XZ./6<>A/^14/RZL0*+EB9;PNR?_<]KH^]T,2[3+[]XE\V^)&53[B] M0:"6AD(CR+]V>$%6 P:51/P_?]F+9X'C]>S,K6@@#U%Y 7E!7" MHCXBX,&'_J[*R9^73T\%(UEM$WZ1]G)Y=_GE[E?VF+)"1VF,#K8TK5$#!GW$ MH($,?A*@RY_U%,@XEVH:Q"J-$ZN0,0;!'PWD_]>>&E&FQY(>&9]O5D6B+/YK M3:)^HYDJ^1T7&4Z%+2?LIO?Y(\XVJ\CSJ,>$JXQY1"&2KG:"PA ZJ1-'+G<) MCAT=!7,XQ=(T2H<02(C@CP;DZ0^_*I%JBN,\>B;6%)K,:*N%T\);T@-')IAU MX9\6\/5*'[A2;VDS0E>W^/GW4KB9W'5"$$+4>U]=8*W865P/AL3K_T71%@T7X<%'WI' MB3M[[R?QTWYQGQATEK4\+%"W=$>NTE^I7\3#8NU'C>,P(#A T'7$/RAA#,:) MPR"*4(PX"=S(3527:&_(>.(?G@80!VX,8S_UF$<")W$]'9]0 M9_*E+>P6)T@[H("T2/4\1JT'H.9+3D7KU&]O:9KGO-V\!AWR"]!1O0,/KL:H MUG9!33BSY)QJ33VKVVI"RFN'UF@,,UUVO2&%>*FP]ZSY>KVY>6*%-&#D#%F% MUY=I61685"MA:9"4$ )#&J80X=B%B4<=R,,(1V$2$C=F.II,?>JEZ;&KK_)= M4@)A...R9%5SB+3.<"H?5<;*O^GI,XV'H*;-IJ%V8EW6@08_=;!_E@SOD(,6 M.OBC V]Q.TV?,4N:3&/B6?68/B&OM9C!"/K;=;]M:+%^?KAC9%M(+?EG=2O< M+G;U=?-P*Y:+@CH:'V5IZD>@90*N7!(=8O&^+_YD%:AA@T8_J>D@!1+'MSOM M\3>QCE&D[D+NA1+A9=G9[U2CQVBK MX?*K^,,'<$N M37])A'H&TL2/4\VH6LY#FEA)=H*"GJ078"\KZ L+&FE!)VYM"O<$!JW$%T#* M7/^U)[4] VZ>IV/)Z)L8[*R&XCS$OS8N9YK5,,KL*R[8.V'R4@'OB6W*&M]E M44C;0F[>EN^>]]??2WTRH!_V[F+QZCROV$6?%[WB]5=K4'+A]:9I3 @,U,H!+>7A00P82L_J6 MP2FJQO<*++ TBP[;LP+VC-G9#QBAP&@CX-28L^T C C5=_W'+M5;N3^>Q">N M-O#*3*J/?\O7-,7DSU9=E%?;HA!?5T'L4I=R'T:>+T]B40"QRR@,:.(QRGF" M7%]EJ2O.M[1EWT,,OK:0P5.+66WAJS(]K 0FX&]JA="CKD,+.KC"L6T V^60 MMNG?]1MQ3BY?3+Q83I7UK29#C>Z5-]7JU4E\IU:QJL/,HFXU9>I4K^YM]J)C MKC="P[&RDA':E]4NB7=%>>(1A&-(/.Y!A!&&V"<>]!('^3@-8^0$YP;'G)A[ M:>KY4QO)09I(#KZ+Y,A:_*!0-M!,'H6:]SH1P1/K[T^GHF0ZZ$V2!JY @QX( M^-.&R8QP-F&4S*F9WSQ(9H02E1B9L2',%-I[EE;[Z/M[]J-Z)V3Y-]/\.(%J*L<"+1.K M%XGP1<*,! EJE!8WOT9XL)9%?GR6F9/'!T4]S!D?OMPT55QH$6D7W? ZE53Z M3&)YR5."ZGD7CQ4',4^" ,/0\Q!$LFQ2'(0$^BE/J1-$,?>UPGN59EV:2MB! MEB_9/NS_&S3 54*VSG@(BCOOMJF=6*U88=4@W5R#)6LIYRISSIQVKD'#8>JY MSLUFZJESVN[S]FRS.Q%EY=^+O"Q7)(QC#[D.I!@)S12Q%&(GY-!E*$&I'W/B M4!W--#;ATI22?I3)**5J>L8F41.KF XJJ/(N@ /LT5Z &J\]W:+*C"6U,CK= MK!I%5?C7RD3Y/D,SAWQE=+L6OM1A_ 2C"M$3]S+*8F_48R]QTX01H79<3QA$ ML0]3/W*A0U),<,!9'*1:!I%=?$O34IUX\AU_6[!U]IAMKE>MT4L06\#3].6LORD%:VNMWM^4]MGO4=W)#A.?*L8&B<GAYF6$WK6N-M8AUZDK()"JDI M<6))KPW/-:N64A+[MID&[E;?[.1[IK\KQ>%^X4) M3SDCU2Y"]^4O7B1D\!"%+/"@G[($(AQ2F 9)")TXC05G<1P2KJ-W)L"X-&WU M,2]8]K !K!419(_BR@H($Y-TD?KU-TPA7'^V!ZVF_M[X\4VL-!OII-G9R=>< M7XHG)T&WF18][#)YHQ.KO40^W5>_?'G'52X,C,U6JN8V;3/?6-P*F/ )65+A M4R"<5?%/2/'KU\644YD>VKZJ(]PSBS^S:L7=A& ?<4@0"86ABAC$0>A!E$0( M<\8(58]X[7&WN1GO0H\R"H7%GRRY0$*Z?8:!RN9EA(4?:BA4H394G>3#3U6:D MKI<$20P12GV(7#>&:>0G,'99F@CSR*.>5D>2$_,L34]T,&LOL<:I9S^RE#Y,VQ;I["(C=IZJFBY;PK.:6!D> M+RPBI 2UF* GYP7H)!4K$TA9Y7Y7)RTHI;C]H_ Z4?,"-")/6E7$ZD.9KIZ( M'9AO74G$*MD*-43LSJ?O9,KML#9VL![O1U:J.I=';EV:FNY!!.^9F/&QI;U> MO8I%,T_1-.X_GLG0Y$>A0^2 /R1<2Y[B !%&'N*Q\6;S# >$Z7N$0Y<9>X*/ M657'YEUN:'->\L V)&/ERL/4X[$30NXQ!E$<()@X@0>1[SO420/B1R]1?\5?[TI,W'E?8%EZ_?;?)W) 87A03YI-)A2&&5!'^L6+6CA M@@YO_1F7H!G=BODF:#6EP9/1JT]E_-E>A1K"]E^-.K<9F+3;-7/%*\^]+,04 MCYN*ZAR9'+][:>\\B1)(F- %O>I5X+ZUXMCI=')5OA3,V[.IFMK"'67)ZGG( M,!]FAN[Q(>>S=0=%>F'N#E\Y:U7EO^#DS^S:I?'B5/$/>PRZ(<> MA2@(*(R1^(<%&/MI$L51H!64,3'>I6FA?9+(+-65E1^K\?[G6SVL-]D&5:RO M? $ZB2].EUH6UC#*+ROQPT/!'FI@ M,D'F&]ML>YUZ_1 S)THPI!%B$*$D@+$3.^*-$J TH0'%(=$*\QN9<&FOA)=X MFTRU&K&:JV5&NIJ^MTGEQ K[3!;UP_X4J;$5]S?6%U7I.JL)OK'C>)\4:'-8,C[@TC=(_IJ ".MCD%2@:\*!#;W:2,T*M MW@&//5;G//>1A K8X,LK0BW7E#(CZ^RSH9%IWN3(2$WT4R=)BG<;%#2^J;ZR MXN\L?RCPT]>,?&$/0JNUP7&IFSH1]1V(*7<@PGX$TSCBD(2>QV.$4NXI%9T: MFVAINJ>&JE%F=XC#86UBDYF)]4>-$NQA@@;G>)BA'E\:]8@M\393(6)C_O1* M$"N0,EA[>.C^^8H.*TCQHMJPRO7VR@SO79" 4.P[/H<)CF1Z5^)"++_SD!EXN=LS7+YALM7\/6L43JQ/SV+/2G'@J?R\X;G>O #P MJ(>G=I.>.BF+:E^N;Z^H\+J.*0M]$H>.[\(H13Y$CNO U D#&'$WE"D=41(D M*FID<):EJ8\^OK&P,PTNA[6$-88FU@XZY"@K R7AAY2 &*"G ,1/^\4_//8L MBUY)O&ZQJUUL6#.SR.F65/_ \O"Y>KXDI-CB=5=@;^5%4>JD.('"??(@ M;-YZFDJ"'U335+O+8,-&5B&_WI1543NM5_DWMA$S?&+?6('KBAA9_FNVR1ZW MCRN>!"$/DQ!&L5\G=X4P#F,7^DGB43<.68J52O-JSKLT0Z/#VNMQ4F^@"=B@ M+CAS 1X;Y!I[&!J/06$+:!IRISZNDOT(]JAE+9^.Z XY^-+P^^N4_&IL&4W# M\TP[2!;YUMM3TF=M<(M)8[CY=IST97RQ 65PN[%M21BCY4N*W0(<7R 4%?OKR MDN\:]7Z;RZH]JDZ3/;-482&:>P[ M#":N/&JD7@A3EG*8AHPX#G<9];6:7*E-NS2-M<<'<%NS.]N I[K!F U?^8#V MGYSKV'T @VM1-]BLA)G>F#21?@5)\B0LVY/GFW_D[]K_@_ M\N)J6U;YHUCU];8R=2(OY+'PH#'G$#D\AFE"(^CZE)$PC%.$E;HZ'Q]^:8JH M Z>]+W^$N?$-^?/XF%B7J%*AM0M_6N(SMM^/##K;OOMI@?H;[@-7F9[.[X*^ MVZ["^R0?-_0=SPD@]V($$79\L6!]##&+./6=B!"FY0*=GFIYBU>C3[@"DVI& M@AU^)E[,+TJHMC GR6 99\/:8?O)B68^:1\3^/"8??0.4Y>C+(VK1+ M4Q8[U*"4L"_ $R[ M[IHZ$_"]Z#Y>HV+4OH@H)3X-0MJ*#X+53_$-L.3[XUT MY-XUY K,LLY8@[JMS2IP@QJX33]#ARAK?H;2I#/[&3I$'/H96G?;T%;UR"O, MD4HZ%XY3__<_P";?,)#5+E_M[^?;JI3^?[9Y.$=7-4_"1#%I\SNW%JH! M7DRPNW&2A4E43#/#&^J3%R(.*X^7EYY7%J%7#/#3+CB6.V'*D!M#3"-AS82> M\'02$L$(!1[%R.,I-RKI>FRRI>F.7:)[OU"G>13R(,]J"L$6>Q-K!G/BC%/Z MAQBQG(]_=*HW2:8?$OI4)OS@/88]>+=IR?ZY%9[6AV_BGWLQROO\$6>;5912 M2KCKPB219: ]-X")X\BR*,A-B4^([VCE,9R<:6FJ8P\4U$B!A K^:,!JZHW3 M]*HI#2ND37VR8L:7?CO9,2YL-88].<^\+5['Q#UHUCIZ@V'3Q+8*<>?A<0%:E!;[^0W38*LGWXE9YNVK-RSJ06^\DX?*Q4:TZ\NFUI2_KVPPVH\;WLDW3YF&]5STR.D3.\BL_D9>H- B-* MM*I G!#>J-3#Z[%FJ^=P0HA^T893EQ@:[+N6[+=%+MX[U?.M>'#5Y8;N&LW4 M3==728C2-" A9)ABB/RZ'WJ$H8OCT$T(PM37ZDNL.O'B%G>+]@+4>)OXGWU' MI!JSKE6O^@P4C?P)F)U\__ <4O5-?TV&;'D"JM/.ZQAHDG'@)^C>;Z:H+@F1 M[XKR"R,L^R8'_,RJ]E1WQ:+ BY&+8!B',40!CH7O0#ET:<)31RBN2*_;U-!D M2U-('590[, :=+\=I%=-[]@B;6)=L^/K2X\OS&5G.UEV]CN6_9CJ)I=-P+[L ME;.+Y+"G@U38LJ1W!J>:5=>H"/U:ORC=8Z93NMJ>7X3?_3$OON."KD+?2:@; M)#!%V('(BV)AYW ?IA$/7.HZ&&.MF(TC/5]O:&-%*VXR M'+MW:2NWZT+2ZT$@WE7I,Q" LV\9'>H@J$;6^*;#N3Q-O'X5*++G8(SQ8;09 M<73 V78DAL3I;TL,7F?V>OZ(LZ*.:KC>/&VK4J:ZKOVN<"1",>8I@HSS "(2 MAC".< (Q(9BYC+LAB75>TP-S+6W12ZB[ )L:;9.=O0:^WBM[B%^U5[<0(^13'#I^'!K74%RFCOCTHO2?>8E$+6UP'BT3*X&7C$RP[D]+/T'1P[=8 MY:<%'"IO>-::IBSK#(N[Y\E+6 9M MCC3+,CPI0+?Z3E^@[SA_SC>W+/_,\LMO#_5!8]T.?/U\BS.J<5 _,LS2UIR M"^5)]6?QWV5;[NCE>76+'T@!M _TQT@=][4M\CGQ\K5+I98#KDB2D2\^-O9L M;KFBD'T/7?46,[-;C$[D\ZW895?AJ&RM1Q_[Q$]=!_J!0R%"S(4Q\GTH3/#4 M35B,2**UI7YZJB4JE!:JG@T^P*::+6Z'H^F51 L2[%%.8)J/DV')1!^8:%93 M?5S@UR:[PAV&>H%5UW)H)L]15PZ)G-#E*<0,$X@2C&&"$@))Z!(_" EAL;NJ M9'B3HBKHCZZU^G=S3/CQ9A7(:G2:B_\%95',PRBD,?1"ZD/$$8C%) M?-?S8B=9B3=LFBOK3U/2^K,LG38'XY3Z7@P3#\4045]\Q[@#(\=+$B_U4R=R MM%XZQI^TF>H0GD^9XIO%E(BI7R9,EBZ5P,!/$MKIV'G]]\]; MXIA8!R^&HQ?9JJ6S2EGD8QP&,/ B!)&#?!B[/(2"(=3+.VM MT(1!D[8RS'J/]]QJ.L95=!:TB(]5SYFR9([U+=J#"=ZX1,[I+=J35YYY6/L^ M*\DZ+[?B8[&K[^0)L\ZC/(!)$D3"AHE2&*.5O/BH MGSZ"'EJ5DE#Z/*MI %OL3:P+S(DS/[,=8,3VH>VQJ=[FU'9 Z)/'MD/WZ&\W M7WV5L3GTEK'B[T6^??JXT>Y#/##$TC1""Q5(K* &>P$^YGFUR56WB<8X&]]) MMD37Q"I@B*D)&@DKD&*T:SPT[FP[Q@K"]7>+52XW6.CY'5LS4C'Z*\-2>WP6 M3U]YB1^[>7&+.W]\PIMGT$$%+58@P6JL[J-$*:SKD4;T:.WBH<;^4."?1BS0Y>:&C79YNL8I^R;XQ>;RKQ*+-TS2[+DE7EIUW)(AI%V&61 M"UG(0ED:2@98$0+=$(6A0T+FN7KVO<*D2UOX#698@P9[U*"!?4:Q**4GH&CY M6^9U:@_ J7ZOH &1[9\ I4IY_4--$@X\!%T[C5,!GW,BRK[SSJ2X(;+SDC2 M'Y$A!+<%>\RVCZO8I9@+E001%\H(^=2!">4A3)W("WSL^(ZK5=]R=,:EJ2/9 MLH#5D1;B_])>+L$3?I91^9J)H:-4JZD>JP1.K'?Z6&7,:-T6K8,+?FH!6SQ@ M4";'5D;HZ'SSIH6JBG^0&ZI\HYF>N<)/F3P1D)U;;M)U]E#/5%YOZNU[ND)^ M@,.$QC#"5*@:E/HP%C]#$D7+U$U]QE&3M<<(.HSV](DB&9:TR=ALL^H21=%?:Q+5VPRK[,@" MO5_SM;BCE%4QJN?=EGU(>)HF@0.Y*]Q.Q&(,XR0F,!8TNS1!F'%7JZ[.R:F6 MICWZ2/^O_QY[;O0_ *L1:Y;/.4VNFNJP0]G$6J,!=@$NJZK(TFTE+3E0Y;+> M_U0=1L9YL548Y_1$\Y;"&17XH/C-^!V&EH=$O*GJYM&;+UGYYSNV(5\?+_ ""1CL$!M6 MUQWE7-$2LJEAJJG/H:85-,< MEOB96&G4*(]MQUJ/VU?@PY*J&)II5BVA(/)K!:%RR[G%05^7_GV'RXQ<;FA; M KBN]K$//T@X#GW'X3#RA6.#8E?8)M@+( \Y=>.(.PG3*LYAB&-I.J430VXI M'BME70M3U[X<*VIM]6DI.DG3/X.)]98V_6U=(& USL02G]9+DNJA>*,*I494 MG2Y8:C:"==QQ=P(1PEU882H)\PLG\($.TP\ M+8:3V"=A%&J55CX]U=(T8AL++_#*15GBM6X4_ "KJLZ:#:XF=],:@FJ8M8;J M@ *)U*:#-L:&-=?LY$0S.V5C A^Z8Z-WZ"F('T_B8]JU9+K*']-LT[AZC.0/ M&]F+\)H*_R_C&=Y9=W7GIH)1@: 7R"_^MGUD]&/V0_REOF[EAT*;D-"%-(UC MB%(0$0E#0DQ2THEZ YE%?+N51TYQL9>9U/>+B'_D+M/__ M?/3*+] YGDGSZI4SU>]3)_&=^ITZZ=RSO(WG8*][C\\REWY@_('L\A!&7H6(.#B!.'00=UPV#-'']0*]_TCE@EJ8:.J MY7"MC54 ML!98==N8G/&(U'8,YB)^8LVSLY"&@^POP.[A=&7<&G' IZ&'8] .Y7Q6K;5+ M.0/*S.U4SB?ML-V*A3$-CYLR88#QC,CN44W3EVSS<)NO,R*LK?UY11!$Q.?4 M@2AD 424,YBZ'H$T"GPW#6D2!EJ1+VK3+DUGWEW__?/UQ^NKR\_WX/+JZN:W MS_?7G_\.;F\^75]=?[C3/#I28U[QI,@ZGU,?#.T!@SUBT$&VG&AL1I.M\QZU M2><]WM$BXN T1^]N?<_,(%%YP>G)>EG(>KG'R\PXMI]@;"NM^$V2B4=2B,]/ M'):C?!3(\@V3>RK"1I#]8'26S_&[_VNOI!.,C"^J\\F8>'VU $&'\*+?6 MHAOFP6C]G1ARMJ4X+%)_58Y<>5[WPU7HAXPG*8&&DKML-EUMAPY89QP G&,"(!A] MC.B!V9:F?1J,8 ]R[#S8@&#%;5Q;M$VL8K09,\B#5F#"6BKTT%PS9T,KB'V8 M$*URD_Z.TB6EF0S3P6OD>-_VU6>UZ\2.#K0TC; '# 3BG[[]W*N&K+[_-,[? M^%:45>HFU@I#K$U0.5:9&J.-JO'19]NS4A:TOWVE?I.!8OB."_K;AA;KYX<[ M1K9%$YNGWJ/PY !+4P0"(Q,@ZZ:8.YP:&N D40HKWP9'4Z]XB1$<)\%1 M+LR6^,E1YUO:8X*]6-*C%YNY!C8C<]O&%LV5MP5[PAG]\$.VH&3B^CIMN@V\ M#T+B,.1YT(\C#E' B7 YA-_!O !1Q^4LH%HNQYM(L31]U6*M??Z\KAF@DU/S MMA\(-1=I\8]Y8I5[7FH&/I6:T5*QBT#L/D@M'?6-31$*6^D;BWB@ECS(MY%A M5L_T31_3:X_W;<'HO65EB_ / E#U?/>(U^L.^BKP$7&(SZ%#,1;O/^K#%"48 M8LI\FD2QBQVL\OX[,?[2WDP-1%!C!!U(M=?2*0:'7Q@6>)EZ%TV+$F7%.B+X M@*DL[FRTG?AFK^1.C3>+^AD1IE,,8Y?I+]E/@M_U[==\PSYOF\)<7A1$G&.8 MLBB$B 8QQ![CD'/FD#!D%*N=TAT;?&F+M<8':H"@0:B^4@^(&U^FY] Q\1K5 M8$)K@9X2V6AU'@PVV](\)49_79Z\QLQ;O=Z00E8,?L^:K]>;-@:Y%"8 R[[) MU_Z*^8&7^@&&'O$DZA$N]J/IPU&N?1 1U<\%,'^&>0;<".T2_CC&I[13H4 M67)BE*:?0(>&UBZ!UK_X6>!<6>L,_%(4\<=OOL']2;!"D.LR"5D('MR[G M5A1"I>?;$X-:5M^X<_GVQV#=(ESFAS6&F"V?:)=<3M;QEK MW:>W"LJB6MT1ML%%EG_,Q5L%EU5;>37FE& WQC#Q?.':>@Z#V!<_NM0C'(7" MNTU]%5/Y]!1+,Y@[=&JOU 'JAE6&'4(F5A(=,(O%:%ZQ;S0I7GME$_-USFX@D0TD^%NR?6[8A3=$/%X<$A6D"XYCX$ 6A M+*0@%C2/N)^&D>O'D591:H4YE[;">SC!#JA1H)@*X6IVM&4:)]8+1@R:MQ4? MY\1V=_&!&=^FR?@X!2=[C2O<:EC[_HG)LOJ;A[KM3[<=__PY;[K^;*I5$CHD M$/XY3-Q8^.YN$L,X]3!T& T]QI/8";2Z\XS.N#154[?X:L_CGF2SM:8C7M/P M:[T_P- LE3]*O)K2L4KGQ"IGAQ748"]V9Y_/%V /V&+Q?%5N;)70'YUOWD+Z MJN(?E--7OO'LO.CW6W:?_Y[EZ[:!X;_EC^Q*[@L4SY_P=XT8-MUQEZ9E7N<0 M [JMFUOM9) Z1TH!6C& D.-B+*SK?/K'-TVF9'YZWV@"TL])ZE9FST:Z]_AD M;Y4(KDS#0(JX^AAFIM-[]B3\OJRI5!MRG(;"[8).R#R(..]IEN#&S%,$7G&(4AJG+/>'FAL+-]60#:Q9Z MD/CB#VX0A12Y*_&DTWQJ5ON3S,0K:V)>SJ!/S7XTI61BS=R'9<\@/":L)=OO MQ="SFGG'A'IMT1V]QDSMW1>8,ME[K6OLY:' XSX.('-Y(!Q$66#?(Q%,42C\ M1"P4GZ/5 ?KU!$M3?WM\>HOS@#BU!7H.'1,OTCVT"3J?G9+;TGH]&'[6-7M* MN-?K]N1U!@TV?LTH7;,/N*PN>9$1W'X*$X<$**8AC,*40>2[&*:)GT @3F6MH(;E$#"_*7!J='YX 2-PXO9$CE3;PGO>1%.3HUQ?&$K,Z31 MVN%\IF;JS&#$F%Y+A6$N!CLBG+AUOH8&P]A?]",8N=3,5OF4;=@-ORH8S:J/ MF-2[6'7!C96+B.,[B$/7=[CPUUP/ID[LP-3W7 <11J(XT3%:3LZT--TG@4JG MK8$*.JQM(1+-L[/3_*K9-E98FU@IFA*F;?",DF')\CD]SZPFT*BXKVVA\1O. M;?':Q:G7"2IEG:]=OGON_;0O%>"FD5 @G$.<1+&PFL(8)F[@0>H)GR=&"7.X MUJF8"8BEJ99^V2@9W+1F=>&G*["J79=2E![$[U8,(7A TKI'-HF%C) M-+ LAPT>D_6,8,$7P\T6(GA,B'Y@X-&_FS9<(L56]A\A^2.[QS]8V2;(K@A) M**41AU[@NQ A)X))XOLPX(1Q3#WF(RT/YN1,2UN9#4)0X1_@"3_K9\ZAL1O.=5FZ+)K; M9B5<;F@[9R^S_F43]U6:8!^+MS?TW 1!E+@.Q"%+812@($HYHJY>&[9SP"Q- MM_0-ZUU"62M.?:[=+:Q/IG%_9STZ7>=FV@;7N[QA >2._ MQYRTT_[/&6/J^T&W14ZWI.HWO7^?/^)LLPI]'\68"B^(><(6"^,$XB@)H.^X M04*]D'I8V2DZ.IF!H!"4?N75IJ[BI(B8QYL6C[,L! M6JSZL<7'B!I>Q!8XFGCYFM.C%04\0()1H.^Q\6:+Y1T0IA^N.W29_BJ]+^AE M4?3J<#X\7'[#V5ICM0X,L;15*Z 5=;$24"-4WP09HVI\O5IB:>)U*P.G9**1 M@"I^7:?-7;PHAWM(H-4%K<"2T<(>&G>V!:X@7'^AJUQNJ_C0]>:;>-1Y(:99 M(=]C3I3&T'$C7UCE*8P=?3/ 9/1DT= M3OQTV\-ZS^#G1!@+P7XHY/#XG:H.8F6E)H!@%DUG3E! MK]7?&2/I>U+7FU),4@BKK>LA+^8EG_/JDN9/M;VBV6](><"E*;46..BUM,F=H&N1-G-&7IOZ++/Y<-J" M]STZ_9L-HU]D(<-[<6]=A4DGF*5_X]+42M.F1Z+3#%QYP8::I6-,Q,2K?\^! M]9)31T6V%8CR8NQY@T^.B740<'+T(K/%=Y67U0V7?9?[QREW^9KNK&T2NSQQ M0PHC+T(0Q=R#*0L)3#U*4\I]X1YIA9*,3[FTM2P1RP"%.[S6]6X4^%5;XW99 MFWCA=X35H$_!:H6CGIC!B+ ME57;OFG%/!1Z'/G093)GCF(7QF)!0\J)&U!,>(2)CK7P:ORE+>D.GEDIG]?D MJ9ZS&%,RN;O?LO%AA V#R5GR]TO M_RUCA1CRZW,;I1?3B"'J8.@%C$#DA.)=G?($NJ$3.K*N"'*5BLL;S;ZT)2]Q M@AHHV"&M;=S/E[]KQD::/0TU+3$9QQ/KD//H-:]=K4.3[2K62G._33UK'5I. M5K;6&L1,H=VV]0EO975"X<5\Z&H3_KW(RW+E!'$4^-R%3D@CB/R(P=3W*8P8 MB[F#X\@/M!+IAJ=;FLJZSV6&:U?"\9S:C2,TJZDF>^1-K(MN=T4O;W=%+W=@ M+T -UYXJ4J/%DNX9F6Q69:,F^&OMHGB7291I?5AU612J)Q*'=RU. QR&2OY- M)YCT!2/C9Y7F9$R\HH_P8.ULXK3@AE&@+X::,?#SF @O8SV/7F'VXOZM9#?\ M0UEEC[ABXD6=1!$-20)]69\0)4D $QX12!F*_"B*8M_3JKGSQF_HD[MY6M.R,1+\S47%TVTP#/XH_TZ2;[G<3HLO61?#3[K2_6X8*]? MHB>NTG]IWK+\DE1;O%X_W^*,RM)0&ED9Q^]>VFJ]_7 #.IA XGS9?%$WE>H$ M9>-OU_/9FMIN/HLHK1?N,!=&+]X30\[V AX6J?\B'KG2L)YFOGD0J^GQ/4LK M&670[CJE*(F]('6A'R/A01/BP"2D*?2= /GU=[:Y[,U\9*OB;K7)4J_?N8@#[:*9QZ?9-[*F8."'I3-'+Y: M_]3^PZ;*JN>/V;IM(+]R0\(C*K?-A!: "*\OL^E8^)5K<&$UEG\*9&-#N$/!IOM]/V4&/UC]Y/7 M&%3WE\O[>E-617V0?Y5_8QN\J;J30?ES@1_8%VEE_8I_9(_;QQ7V ^K&Q(68 M)5SXTYC#.$58EG)D:9*2D*1*54L,YU_:TNXP7X U:] "V04OOP"/#6"-$O@& M3V-8&_078,_W+C:@$P%\:8C_=0[B-?H23/L 9NI9,,6#T&MI M8$[C8+L#@V'G:X5@+O.+-@EG#&/F\IWH!=J5S&3$H3SE'-* ,8@0]V%*/0\& MCLM"% 78(S:Z R^T%.G57&V!]2J4VB-QXG?"4$-@Z\5*U5B9MA7PFY0M51-< ML0FPG0*FQ_+Y=S52VV)^GUEUPWN__L((R[[5W45H$J9"M;C0\R-9A-P-(4[= M%":1PPF.XC1"6AM.Y\%9FE;J%4@N=B#K 6C>LEG/BLUE37?$YA8I9VL(+(O MQ-P5,;T ,I5?O#->_'$OU;2E1O39G; 6B0:8-R]6HD^<2C43@U$-+& EP0_2@M7N,CT+N/O*UFMYPH@WSZL$\S@)G!2RA(00X22&,0U=&'B4 M8H]RGX5*X;3'AU^:PFAWP6N(H,6H>R+P@C[5,P%34N8Y%5#CP^!7)T[ F.PI@Y%49G7-IR/M9,[0)TF U/]\=Y5S,$K+(YL1XXETAMBT"9'$M&P?A\ ML]H%RN*_-@W4;[27P&$7'% M/X$30.P2!CWD<9HZ$8^HUO:R+H"EJ2>Y][2IUL^[.GQ[:;/9U:M"(O2R"?"V0O\&**0AC"FK@-=BAAR?.HACK5J. Q.MS3M=OUZC]>@ M1OX(P8@B!V/7A7Z8^!"E+I6;ZL+6%03[+HU3)V&K2F9BST[P;M+_T@2KO1CL MT3;Q:Z !"FNDA]OH];FAQ3(72JS8JFLQ/-F\A2R4!#^H7*%VEWZ:W!=65KBJ M7P+OF8S8SS;UAOU[\4O59+FA,9:F=WM8P0NP0*)5SY4;Y&U8,=BD;&*58,B6 M5L*<"A5&:7.# \^6/*R5.Z+ZHJ*!=)_\470HK^WRFIE[4PR2!/R1>2^4G1M@P6]2P=.JHTB(V)\^8?+#7WYB]Z5JPBAU(\\3SA> MD? &&/$AYBZ"?HJ0$W,GI0E9/;$BR^E=A8M*S3LX"Y/.ZGB-;+J%4O>[D?NX M1'[#]G !KD#*'K+-1NZ7Y!PTF#0K<9_U$%E"H@#Y,@05(8@\',*$A:[XS@G" MD*<.3?WV(7[8T$4^P@[7&SU )G[_)H].S6V<[6%,_+:1R"Z:UE$]@!=@CQTT ME\CG].J7_3LL%F:WP:RMFNUG89FWG+L-V@XJO5L9U/K^Y"4AV\?M6C;*[$>Q MK1AR?>[[$?1C%LEBTA2F2+Q).?51RKA8#,RSM&=Y L+2+.Y/K"S_!GI@ >ZA MM;;==NJ!G+T%9X'F-]Z6ZW-_J<*]S;VZ$?JFW[\[!6 I>WHC!&GL\XV-I+\G M<%?]>5N0F^*^+-J*6V*\7UGU-==OMZTZR&;7=,I) M(I2X;@(=1 )A65$.4^:FD*1)$F"')8ZOE0%D!];2--9[MLGK#>%D M9F[-S_W$2JX3"+02M:6'ZA9LM5"@)Y7,I10K.EMGC0Z8788M66F60,UJ MN=DE\K4U9WETTXZ*CX_YIGY/-Q-?E^66T16.W,"/7 XQEHV17(9A3)$+>1IX MW..^ZS"MM(L3\RQ-A38P05G;+66S>K,:*?@IV[2_^5FWJ>)QBA5W^LXG;NH] MO(:S&N)%J_(N0 /39L/$01ZL=4D\/LO,K1$'13WLASA\^7F966+TM#UDOLJ; M'LOU#_<%WI2<%06C[BKA.'%P2B"+_ BB)&1";\0.C,*8A!1S%#NA29*6RN1+ M4R&W8J"OLMI"[?:8I64ID:ZF/Z:B'W&;!6'UYAY MWHKQ^I02A-.0Y2/W4,(N<4IEYF@-R[70P<:64PKT&J] PXSCRO0 &B1N(!R!< MT<3EKG!*0\191!.7!-I1;Y/0/WUPVX=FMWDFYL5+FX?83V'D(0H1]3F,W8# M)'1#GF":4%^KY*YMUN=Y7<]"M>JNH5T")]]";+G[+O""#O"TM7=U*+*VNZ@P MYHD'.X[:MRK7\?MCI%M(4;Z\(-\E5D(G\7G9Q5BG(0>3F"0$@)1&@H5 MSZ((8B;S@A,_C".E_A"G)EB:4NDP@@XDD"C5J[D=)7%8A=B@9F)UH9UC5=1^2=E-]986L&%>PKVQ39M]84T;V4UZ6 M=579>_QCA5R6XM0/($XC%R(GQC"1,;2Q++K$0P_YB981H3G_TI9^/W(SE_B% M,=<3 *R'NGE;>2!JIL:$-$^L1OH,U]#!"^Q=#>R?)/R?=Y6QA0P6B\::D6>K MBJSF[/.6E36CYJ#.K.$P9CKOP^/3.G]FK#Z-O7EJ NKJQFH:BNOD($M341W0 MYNP?-%#U=-)IPM2TCQ6N)M8S1VD"?S0X+<9]C7)A26V MR^[D-$O3"34TC>YHI_D;5@#V6)EX];<800ORHC4U1I>_#E4:_>*L4#936[@6 MJS)E>BW?1ID8[.QV^N[Y&KB-2O"B3]OXU7KJKRRJ5=O0K?T8NJGG)-@E,!9T M0419!&.#V:S]FY[C3&#M!*E8?=B,.$8DH M3 A-H>-@87E@UW>EY:$>\S0PE];*G"$&ZE[.\6JG)*L1:P=MGZ17]0C&"FF3 MG[PH[7A<@,NJ*K)T6]6-VZH4!JI'+/V!E_8.[[ !"4[] M1.4%5^,G*:8,3+SLU837.C@Y)JG1@4Z_9^MU MV]2"OM\6LN1R'1FR\ET_)4&*(7.)*VQH'L&4^SYTDRB,W!2CV%>RH54F6]J2 MO*2T[O91-IU!NT2*ISI_'*_KSY_<.L/T/[9E95#=?9!YM=>Z+3XG7N =S%V# M&PH:I.!VN*25?G2T B&VPJ6'IIHW?EI!Z(. :I5[].MTW.-TN\;%IZRL[J5Q MIEV_6VP<,T#:][:PQ-O.#[Y( _:IAVFS$H$6%43>/T MJ+.5T!@5K%\W8_QBTZZ5X@58R,97S9=/V8:YJR1U*?/<%,;$]2&*!'LX($0V M1N!NXF#,J9)!,#C+TI9ZV[.QA7C1?0,D6'"ST;#73Q,[;KQ;H6OB=6_,E$&G MRP$FSFAX>6S4F?M>#@AVV/YRZ&*# \0[5GP3]FV[+7^UK5*\^;-):BC;_>(H M<5'D< 1C%V&(7"\5*J#NAND[24@B'#M*S9\4YUN:,F@Q M* U#@Q4^!V6 M, MP-C$^J %NS]N[-AK 9L4 MZC*].*_4N,UL'^9NFY;LGUOQX?GP3>[L2%MN%?F1RV*70!\G0L.ZL0MC['K0 MCVF$N<,X9TI1&T.3+$W![C&"&F3K/VAV]CQ*I]JFRKDD3:U3=?G1WD09(L#2 MYLG1*6;=-!D2\O5FR>"U9UM9+\*TD!OB("40,AT-3[.T)7]?X*S.S90[K;EFS-9I,K6MJ67&;!T84<8Q6Z>I,K:8EAVS=9RZ M2:PCW9"MTW>_E2TT%K(U?O4;M(AI=JRO-\(=PR5[SYJO'WZ0]5;F''<91%]P MQ3X(:XE4*T;\@$DCRG']$** N3!-<0AQ1'S,TM )8ZT:///"UU+=,X2XR*B, M-NTMVS3-2XYU,9FQ:8G^)T+-+%SN]H'.AK 3QT1/U^ '1?[ M/$K)!FCH6$A+%>/'N(0>+/K@_^LT;3%^,%:[O)BC,"R+B MW>=5ZJWC2LHZ@.KR1U:N?,(#-TTC&% DK.XD)C!F;@A9['J4!BR)F)X..C[/ MXI1.5SFVAQ/\(9%J[F>>XE51UYS/UM3*Q8 HXW*Z)VBP7#GW]2QO4B3WA*BG MZN&>NMRP;1W.BM_Q>LN:_-9_WV)Y9BU>O-_8OH% ?6A==Q%8(>Z1,(YBR")* M(7)Q #'V,70XQBEGG%*LM/MI./_2E(>$#VK\%VV>]@7HRP!Z0H _I!B@ED-3 MM>@^)365,R'W$ZLB^[3KM[$S(\]6#SO-V>=M8&=&S4'W.L-A#*L/K=?Y=RSD M^Y@7[_-M6O'MNK7#A'M)F' @TS7KJNHEOD>8%SL0.[&PE:(@@BD+$71<%*=A M%!-,M-J=:,V^-"6X P]X7@#:P@>XQ2_SZ81WS:CY 5X^33:ZL4R06^"FHA&Q-DJ1J0U][REB$QH.2A$9#2(E<2)<0<*3*/4=K=2BH[,L39F]CMTX*Z9%JS31 MV?1,?.Z[)(:=FK3+:TU;]OQ4@ZB!K! M&V/,#NL!VWQ-K XD4K"'>M&UL;SAX&H"[C3"7RQR.%,0S%E$D&>AMSUJ!_$'M8J?3\\W](4; <7O, +)&#- )01GM5L+HOL3:QN!XB; MP!!3Y,56S,3(;/,&.:B)?A"5H'B;H8-&OC*Z7;,;_C';9!7[E'UC]%J\ES8/ MF? "+\N25>6K/&7FX800SX.>ZR00H93)ZFHI3)'OD=#QW01'6NZ;/H:E:9]. M!&G@[9&#!KJFIV?P1!3]P&EYGMI+[%'U (=\3Y)U;H%$6WZF 8)YO5!S MB@Y\U#.&,E.(O^,BD^/)0*WZE)T& 18JC4'LRVX A%$8\P3!&'&4N)X;N8G6 M9M7K"9:FRCI\30BF2;S" 85JZND<8B;6/5J<:*N44X);TA<'P\^J#$X)]WJE MG[S.;!F_#L2\WG1;W+?X6"$/ M(\3U],+8E$M3$0(H>.R0ZBJ%47Y5]8--UB97%2W8"R"YV^'=%?GN,-M4'*K\ M6-,AHQ/.K$Y4"3C4+,IWFC=6=;WT/JO6;,53'#F$8\@"%@EU$J004YY 'OC4 M=U",$%7:6#XV^-(41PU*?MY=[Z?T9]#!U>^HNF-O6%F;\I,7'E?T#I-3'@7MT5.+FG^5#'Z<8T? M5.OZC@ZTM+79 @;W!:ZSTCO8M;,ML3-:)P"T(JC7_AVG='@16V=S\I>]%I'@ M#XG?4HE@99Z,2@6/CSY;R6!E0?NE@]5O.B\7]"I_3+--?6:]SZW8'URB&/LN M"CF,<.Q!Y B:$R_@T(UYRCSFR+@5D]30X6F7IF_>_79W_?G#W1VXO/KWWZ[O MKN^O;S[?F>6(CO"MYE#89W%B/;/+(.TA[J5J@3^FR4W7HLERANG(I&^2<*I& MQ*G\4\6[]0V9RX>'ZD-1-US^G%?_FU7OF5C5CV)2JMVC0&6LI:D7@;E@#W5! MG:+(-RS?U@OEB6W*9J4(28 0!>QE43=IE,@=MVIL\SJQPC&@U+(2TB7-R,I1 MFF V0T='W+ZMHW6?M=(7TJ#ZF!>/^#.K]NW=5SB),(D"5Y@X*( (!PRFOB?, M'L0"UP_\R O=,XMA')]Y:5I);O>9-$14IUK/V+%*X%SV3@_TA72H0 V[WDI] MT4)QTCH:PW1-5UGCQ+QO76MCF Z%ZALC QAD9DG5MQ6+6M8K>Y)'1+?KO*IV M%6"QZR=^Y#I0]E6$*$A"&(<>AA33@&$'>9&KE'2N,-?2M% +3B>A:(3,8:UC MF:*)]4P'%.R0"BW38#6I03S"G$8FECT&9TK$.HM)O40L-6X&\[!&AI@O#4M- MEA=96(JWZ+N10B4_"%/_"Y,9G,7S^RV[SS_\D"8_N^$?-CP7'Y7Z^/VQ4O4F M-89Y?0$N "7CS)X2=VOU&%[W+VM[X3,RU-,35@9:]X\!)NF_NLV['O%,'#2L^4R//W,%O1,##+GYC-YS7VENH(I8];)IJ/N3YOL"; M<;>IM$C\0WA]S7.@R'$,4>0BFL2=^#*,DDFUH&-*JO*@^]=)41XMX M5X7>K*>W N5J.U/3$#FQ,MGW^^[8['"#'G @D5O?F](GS'(_<(6)WZ0[N#HA MIWJ%:XQP9K3Q9U:M?!+Z7L H1#ZF3C;AQ*( M-_Y:%DN6]<]JK'H+]RBE:@OX7*(F7L@2'I3XFC[I@I\&HEC7XL-MNZSJ$!F6 MEOG1*69=[D-"OE[V@]?J+?^RJ%9?I-=0ESR(>,AB&B%(21)!%,@3?B=R8!2[ M*2%I[+J5!>OD?E'EJOXH;>6A4_[=?IR[%F69A'X7&'CF7=!A\0XW04>N-S/$WV1"YF+G#B)&'5BK2V&H8FV2 M;FNTH_WD]7E6L])ML3>Q@C G3MM45V'$DLD^.-6LIKN*T*]->*5[]*,][N5& MUMU77+"O^5K<\J7:: 1V'+][:7J@1@EZ,,7'N=H6&^U@C1-D#:]].SQ-O.)- M*=**M1AFP2BLXL20LT50#(O4#Y88N=+LU7];Y'1+NC89//(903B&#N>!,/\9 M@W$@?B2NQST:I"SQ/)UW_8O1E[:H6W#=FTGO5?Z2-[5WMS$;$R_=C@C[1:R/ M2FSI9?QR[%G?OD?%>OVZ/7Z1J;]^E3\^YIN[*B=_UBJ@O-E6984W,EM\%3)* M61AXT/-3#)'O4HAIG, X#3E*0^1SM3K3:M,M;1VWSF@#&=28+YH740EZL'5] M^$'&53UY6SS.X\\;4VC@UZLPX[6[W-P^^'F1=*I#+G)JTU>*;[TAW@;-]TM4#;Q M\E=E:XK,W&%RS))Q3XPY7_[ML% O4FY'+C5L@8/+KQ_7^7=Y-"J^E6?VI6QF M?[FA'[,-WA#YO=Q$K&NA[HL([.IM)C%-2>ABZ#*7R> B!-/$32!SJ1\BYD4D M=K1ZY)P):&GZY6[[]+2NSZZ$TUOV&BYL\@V4$@*\DT:SJ\ZYCT[-%YGS@4RL MO:0H0,K2A +(GW;BU/63=@*!O40OBIY,4(/5%K^V^ON<"V?>!D"6R#OH$&1K MW#,C-X\I7.(&0<)32'R/0Q3X'&(G0%">Q_J1RYF?F 5R+E^7[J!JKDEMCM4T MHR7F)E9ZIJ29!SI.KJ.&9GJ;,$AUS:)RBYG2^(BSXG>\WK)WS[MO_RUCA1CH MZ_,G]DTP(>.!2)PD0G^$$/, 0Q0Z 4Q3),O")@%A(0^Y'^KH#[5IEZ9*)%10 M8P4[L+4)\/GR=Z,./8KLJVD6^YQ.K&3.H5-;T>BQ8TGG*$XZJ_K1(^*U)M*\ MVZ!&RFV15ZR.0+G+U]NZ#LOUAK0G(23T8^H''#HH\B&BL0\3C#&D 24T1F'H M:;2N'III::IGCQ7LP%[(VD)_U:C[,4CML)*Q2MCT!TXGN#(IEC)(FD:I%%OD MS50HQ> #IU<>186/P>(H@P/,5QI%18X7A5&4;C"SYKZP"LMR>A]PL9'Y'I=$ M?%:V:UPQ^I[QC&35*DUPD#(:P31R/(A\*EN%4 Y=G\I60@@SIA00KS[ETE1I MAQBP%K*>S:; L9J]9I>YB77JCK0.+?BIAQ>T@"WF$*NS8\E64YAP5CM-G8#7 M-IK&G?H'?&U>1>V7*![J]6Y9FBYHH?U-_:"N+__XX9RAZ!,OYA:5-1_KA*1& MIVO]<68[43L"OG^*=NS/AB=G^>-C5A^%EI<;>I5OY/XPVY#C9RUQ%*;4K]VP4S\&F8GSJ M0R^+9.L?;IF09NLD2VON>8^M3&@Y.*,R&D3?3.A%$W7EUZXW]+/XR*E:#:=' M6)IFDIC4#8@!9L;M"3ND3*P\>B!W)1/EU@'-OF5TB]=@D# MJV.<#R,C9 MV6R2<='Z)HK"U:9;"G7X^D>!36H+J1;^D55?K[9EE3^RHNY:]+R/5W-8&CM! M&$"/^S)6./!A[*0A3' 2<4)#-V2)WO:"SO1+TPQ=5EHA'LG#IBXJKKO9H,6^ MZL;#5)Q.O@G1T"D7"NB@@^\".^C @S\:^&"23D-FS%G;H-":?.;-"A-B#CKW+*5I@'*?4YA9Q&#D3$$\X70PZD$8YB MP1&CB5)/9<7YEJ:Z=CGX/$2)U1WN)G6>G@MXWZY*3QPY8J4G/F01DJU6<0(3H14@I4AN]Z;"KM"J0*@+8&G:H48+UGN< MFGI"EW]%%3(AJU-KEQ8Z:+'7&[@-RRU\T,-_8:^JTKGYR', X3GV($&&R9QF'B+.4^#'C MB:-4TV%LHJ6IK=:L;\'V#/H.L*Y7=()?57?H?-;F\8,,"#/P?H;9.,/M.3'P MS/[.L'B'CL[(]?K'.S*?]))46[Q>/]_BC/Y>'BD?HYW]K3?JTC3"B[[#G1A MR@&^E7\%IRH8J9\<:9(^?IHT'=_3'T^;4#U!@KD9A4:'4II3S790949!__#* M< 0SA^TSJV2B9JT$*:/OGG\K&;W>W#PQN0_4S]#<[]K$-$X6-') M!M(UUQU\D#Z#GZ0$(-O\#'9"]%//I]A-,B?1DE-G &!6M\Z.W1DCF<@Y,L!-!H?EB[(64>$@KH5YASJ7I MO;ZC? &>< &^U55]I!]!\_4:%R40KDSC4YB[%"E3:0 MVYI) G3C>$SB:HQ19-_C.#GC6SD>8Q0,^!^CMQK86'>L^)81U@;)7V^$:[-N M6G^+Y9T7[8LQB%A,W)3"P',P1%X:P]A# 0PC$C 991JY2F'KZE,N31OU88*U MQ*EA;*B1K&"86:=N8GW3XNW:E?BW>+ MC&-U4X3#R'6@ZTJ[TPT#B#EB, FH%S&?!\C7*ND[*_JEO3-:(0%II0357C ] M>W7>#X&:Y;O81SOQ.ZT)>GXA.&@D!S]]RLOR9]E[HGGP'0>@1T(=.-VC >QY MN #R9#[G0' AK/.&#="G U0Y: BQ9YZ_R7.T9.C/BWU6E^%-'LMKY^-M0!BX M,<[MP]>=C:!M\JY2Y4>3X/O3B@$*48A^FV MAS!V*'!+0*/%6&]E^E-%[ M1?_&$(N2BDL:%7> :,)37,X9J;42/_MU=M:C4G"/IF1^K@V:8_4'+G:Y-<^G M7BZS/08-KVJ&QS&3GS758]%SP<[D<] I,QU[/C?M3.E?.&[GCF4U2'C?TF47 MA+<*'.YX2>! SX^8;&J+8")>5-#!J2O^PP%+V*J2\4XS;9"?P<8FS;D M]]C$2PCU'2!$,<1W: 0]-586U4K6_KKAO^+_R(M.;[[/'W&V6?'0=SWJ((B) M%T 4*+4SW=PEJ7M\.P+1#7X%#>QAYD[6(S.^6N[0UYPW%QTCLE;.I@4]3@4^7+4NVB/*TLUHBNF2\MD.T[S=KYT2W MI&H/WOZ1;6C^_6.V?NP:.B4D=H(D@M1G&"(>1Q C3F!*6.+0@$4T5;)%%.9: MFBIJ\ $N .JU(QKB4V'KS1Y+$ZN9%N@^)*%E3((U[.0T1)U>+R=+%,[7S4D" MUJ10NZ&3 BEC+9V&AIBUJ9."+*_;.JG<8F;GO=N6V8:5Y57^F&:;^L,BYON8 M%X_X>L/E%_FK=NX;?DG^N5ZQ)M%\%08 QBF3X@"]S MVGVA>(6VA0E-@C!.$:$(ZQB$UA$N35WW0):@:.30,QSM/T0U"_--'\W$[XA. M-M 3[D+NDX%:/M 3\*)[D4BSM1,2E%)*T!,32#DOVJHB]@S7R1Z")0O7/KY9 M3>')Z'UM,T\WT5E--BX?'JH/11T #G TI1OOZ6$0%K4A^I X,TW M+-_6J[]7$.A15L8SZLCQBL9A_6J-P8EUI$WR3+MS'"?GW.8H1R@E#L2!2R"*,((8LSHYPJ=%-Y6:M#A!/-F IT4\"#Q MY_25MHI*GZSK*O[V6UZ1 M:3U 2U,;1VLD'ZF.;-Q,\.PGJ*:!YGPN$^LKFX_$0LEJ,QXG*V&M">>-2UJ; MD3=>XMIP7#,EW)ME%= D<1TWA00E/D2ASV'L80)#&KL)<:/$P5PGR*LW]M*B MN)KBJ<;U^/NLJ>DP0RXF5D>?% C05C-'1+6D,?HCS[KXCXCT>AT?N\0PW*') MXFL/;!CS4,33%#JQPR$*F/!V&.40.Q@%8<2(@V*MF(;^Z$NS6%[EYVJ&++S@ M36U9&K,Q\<+LB+!W>C4HL:T @A=CSQLE<$RL@U" HQ<9YL$6#WB3_6>]GW25 M;\I\G5'<9AS=BH]"=]QYPS]F&[PA&5[7I1+JKL3[+L3[0!K7\[D0G,(0RT)2 M 4XAC@(.H\!+L9.X+/&UFHK:!K@T77']^?[#E^M?P?KZXO/X'KSQ]O MOOQZ>7]]\UDSG=7VLU13/F_YA*;>C>V)=@%>"%>[/'WQY$G53D"PE_!%!_9) MXJRF>@"VLDEMPYLW870B<@]R0J>:1_^HZDA!_]_+6\:*OQ?Y]DF[4XCB<$M3 MS"<;4_Q> HD>U/#53ZY461T_QYJ T(GUJ!J7$[3\T*3*Z(Q+=8[93KPTA>Z? M?^G>:BU"ZDO3=?T_&;VF0J-E/*NWD>HFD.VY/!6:L.>>BK]M'V4J3AL-NR)Q MF&(>D8+AD[UGS]7HC+.(GG-'WC+-"S/[AAPR*V3?6K*&M>(AHX*2Q M;!3AB1<"0^*%D*8P29V0I0%*0Q1I5"$Y#XV2@IF_#DD+'; &"0!^ZD3X6:;>=\^@A=_O 3S\"+05]GD,6M+(AB!F M5;GG$?5:IYXYFG%BBB 0.1(XO#.>8!A GO@L=84Q3 MYOJQEVB=S2C/O#1CN <.FKDYNKZ1-V]"4Z(M!FR M%P^B.._<@1]Z=!R)\- <0'_GT2PR?MGA\-9#X+7CWA<;[#YK@+O%J/:W"F4? MCU^W&K3^$6=%71'_5V&T;(OZJ.%CP?ZYE?6[VJHJA")"?>Y EX411!&*(4YC M!WHN2ICGI(B34,=V4)AS:0N\AQ3LH&J6KM&A7,U L$SDQ)K D$-MHT"#%4OF M@,J,LQH"&A2\-@%T;C53.;>%[$Y=/=^*3X<,%/WPSVWV)*6F8BO]@ MC%,B_!:>0HR$&Y/RV \2GW+'U\J@T9E\:4KH]LO-[89*S4ZTXZ-,;2-)# "G9@P1ZM MAF,SQ)B"FV.)K*F=GA,\66Z JL*&F?,S-/!\KI"">"\<(Y7K]1?YYWSS9;MF MKI,&[F517-+\J6+TXQH_J"[QTR,L;8$+I%!"!1(K=(% *_[\Q*=I!+$NX& MD(<1AHA&+DPXCV#D^\0)TC1*?68[P?>_@,MR>75U\]OG^SMP>_F_+]]]^E"[ M+N*77W[[\!Y\NKY\=_WI^O[ZPYW]9%YS5V8&ZJ\ZDRB19UYXSU,WZGJ4]%VN7/(\=[),($1@1QB$*B0=CE!)( A:$.$6.YRE5 M%1V>9FG*3Z)\L<0,:Q><(%5-FYU/U<3*RH E;34T3((E+7-BDEF5R+"@KW7$ MR-66MW?_O_+>=3=R7$L3_3]/06 .YE0!YD 7ZM8-#.#,=%8;G>GT9+KVQIS\ M$>!-MGJ'([Q#$:YT/_V0ND0H(G0A&92LQCESNG95ID2N]2GX<2UR71[$>-7U MAL]\W_63"&(2((@PCF#L".,)1\):+ZE\ M@ L/=!!_GNTCIT>X8]) 9NSSVL:,\SBF/8= ^72V MY54]$BILGLW;XN/U@L0>*L_N.P+AM#3;+L MSD6O5U7+WYCMW#=XL\I6C_D]WQ3I89J69M?K,_H=U2("(6.9JCB*N3F$A*4M MH7.:2?>!(65/R7_P><-2-#N2%U$*VQN9D/(E6_';+7_.%RX)U;R9NAYTQI5RZ4L];MB7_'F'USV\ZM2,1:N M]#R1RV#$"(?(#U.( Y; A)#4SSN&R6>AJ" MK5:\Z)YJX!-:0PN?UL ;?,*S:O7Y^7J]^ M;-?T'T78XR+B.$B$CP@92GU!"K$+"?4)#'D2>(QRC)C63=[I!'.C@E(^D$L! MK\#_X_Q/QW'!"]Z 5RGMOP+7<:Z<\O] +@TVP1N[[=-Z(Y.%_Q5XT57HQ5=) MX!>K1/ZG&UXY(0)9GN^J9/7UH>3Z%1 CO'#9494O-2L2G'TK-:JYY N,[=B6 MX/\HP2^DNP*W!7 6*X-WZ&^K+OCI\--6!>]0[JPF>-=S9K3Q!U_Q#5[*:S7V MG*TRZA'G0P,C@?56_!#,:@1@$;R1^:")V[&L]JT.150LL<30;).2AJ+JIQRB^IKAF?7= M@@C'@\2I!_TH),-1$$11 M(.M6)Q$41JR3)I%+@U3+XKE*Q8Y,_W6*UPY=UM@=W(SD'S:8\3OY"Z_[#,1!'$2Q"P,7>1#)@.N$X50P M-TD#%L8Q=;6BATXGF!OU%O*!X@D]VCQ#3HT!+\%C9#(KH2AD&Z&<3)?BELCE M;/A)>:)+N=,EW_F<07KD7WC#\H_+=G=_VPAXS:] H8=&#J4"K/TK?01$1U[XJF""GX4*P'J5 M:0VXS%(N%<:?+O-27=FC!$R-U_38Y->+^#6?1HY\P'E&A2'R*5ONZHI5+7'R MA#"*,7=AF/H11)Q'D- @AG[@II1YU/'=0(6&+I!A;M3T=YX]/LGDQ.M7OL&/ M8D?=2:J7YG]](U'<]*AQTB4?IY^G)H)\9.XZCSJ[ H42A?]5J7%552.\(%_D MDN_ UG3W7%OS[_T]CH29W7>Y?#^Q &.YQ\B!BFW$27RGV$HN&7J2[<6"[O66 M8V,HTYBB1_G[_,Y?UAL9BG O_&+Z5O[S8(-13KTTB#&,*N%%"K/.;:NIA 9[J77CC%205O-KK>,W\KYQ!MT5*(4%/ZO_'25G M5PLF:X%)*G-.'*.D <-YN)+.RX:E"HH*TE7#W87//C:Y%*I/UQ*W:"QL5L3\&3XT_C"$9VS7/MSYT89'51NY]55Z1?9.M-\0L@B2DZ9(?-K6 IV'* MTAA2[,MVN@F#2>#&,*!10IT4A23RC,JNZD@Q.W."/G$F*^[(FRJA4!TSUZQJ M42L%A!^[5ZNP[#5)PNR[J9')Z%]C9-(Q '^4LSDK>-JN ZLEP_M4AC6!J;-6 MK-%@UOK*?5ROI(TE>%I>469BK.*/:Z'>%G&<> [S$Q@QAT.4(@H)3V+H>XR% M#L$X#K4<,0,9YL:C!WF;J_?B!G&#GT*-'$<&>&1J;&_NUD#\2(,#?8[;M4T5 MP/%ZL@U*\-X=UU0A4NBGICR4&0M^YZ]\M>.?A59R)GFD]?=L^_1QEV_7SWRS M/];UF1^&S&<0NVXHO$*70APX+G1\["3\W8#B_U"U^?O3LWXI"%G!M":M6Y/@>FGREL8#+V2=,Q'/;+67Q Q%*0XACG\- _!(MEJ,&O M>&UE']2Q+ZZ:>$J1@909-(0>Q7#0!,I:L0VU62>NO:$%Q7DI#KW7]5B*\6QQ M(]RC[=OG;,DW5:G^MX67\B# #$-$*!7."F&R/F0(W3 F3AQX:4J5>OUTC#\W MUBE%!(6,=8\(Q83X+@3["<4"+B,3AQXDR@0QH'B/;2'>+#E _,MAZ7>--\D2 M'U"F7LI#CQGUP;CGZSN^OGY]+"Y@-5MX=KT_MW4IFSKG? ->P4VD!MYY=H!3;<91B\JIJTPV@>=LA%&KUHG;3#ZGS5T'^H4KN*^ M;N%$E(=>R"%+XA0BZLO>X3R "?%Y@E.'^*G6(>+Q\'-;_GOIJNM*W5IYQ]@I MFOC&B(QMR2N#H6^MM^ILRR@_'GQ:V[M5L3,3N_TI?4NZ"E'YG.44+_\/QYN; M%?LDQEXD7AA3W^4PE$8TA0+.\$7#=EJN9TUR1S6[R5G* 4%$A) MP8T,YA:RJIO6G9 .V]S#F(D3D("''DPB8GTH;D#XY!C&(3,1:[C1DS-?5:8:V[+ODP+?BD%U8T$ M[8%4;?>V!-389_/3ZW]5QXDN+OU;WK6N]A9]I Y9%7YJ"V6F[QB7Y&7G ]QF1.[XG0 M31_W]*],R[P*&5;;,@KG>Y;_XYYOY!_@1^XN<)2X'N$^9#1T( I<*O90%L+4 M80EWPL"/ JV=LV^RN2VU(UG!1@@+7O;2ZI9G[<%8;2NUA=S8)O01:%+.*W _ MC)I!Y=9A.*Q5<>V9:N**KL-*GU=W57A'CSGRS79QG6?X'M,LS6@5PA%PS\64 MI)"$<0P1=A(8![X'/>3$).)APA.B0A6MH\^-&Z2 H))0C0K:0>M?^Q=#,;;A MW$#!8L1+K]I]BUJ\V%C0XK\.B[E]S$E6;Z\Z]7+M?\BTWR!/N3";65';N:Q; M<;TO4+Y@P@7V7^7L01B@XV*ZTK0RPL M;Z;]*<-+ZRHS^%OZQWK-_LJ6RT8JM[SD,3>G/OP1#0=W(?&M*.ZS^TP#*B ]&<[=T]B!;555R(MMC%.H)C'U2>@S=NI3@M@&P641^<<_K*ZJHP MM)9;5W[9C(#N^%9F\=QOUJ\9X^S#VY\Y9[>K;R]%58+5X[7LQE@4 %EP[$8T M3"F,?5FSDC@$)KXG3""6)CSP4NZ[7*>,G/K46E0T08TY(7F9"_A2R0[(&UC7 M<@.\%UR/H#2^A1I+C8/PR%0EP2T2 ^\;X/XF)0?9ZG>P%QY<#\.L35OZB%GB M+HV))R4P?4!.6C"!S2920U$D(U2J^-Y'<<[/G"N$AD3H!VE!*,T1SHH^N1K@S_)1C M&Y;WMQ\KEQ462LD8TB(KY'JS$0\6>0Q7H-3L"MRNZ(;+4_-TO0$?U[FL8+Q7 MRV*8Z;3?P5;(ZD123QO^.NVG. NEG7AZ_;#^6;MS(W3#%&M^W= MN?&\D'&]XNM=OGP#11<8P1%'B9^U].H1O:V0]3.T#;1&IE)EH.PEW VA8A0A MW#K@9.'"?>HT8X=[GS.LY;S;"#:0K216['/V2_Y;7=Z)<+\08GOD!!SII4GVSW5W);_7M*BL9.G)?O&4;G:<-4KMUBEFF/LAIHQ# MXE,7HH(O4I]!%B;"QXP=)^679.WUS3TW%MF?7U>)?,42P:7T8&E:I5CG8T3" MK^<,N>)C<.'U$R(^AH]32$-,_,#%J1>$6DTT1OH8$QQ_OO_'4/3&QX%XJJN: M^P:ZE>#-@MSC9V>J #9.MF;OS.^9O:D"R4 VI](0A@UU'YX?_VW]EVRO^7&5 M,_'?1KUT.T>9W:X@I97]7HL&6$+FLN=K75:[)_!:%[YAY](>)9TP"8@8><,)5A.:DP MTE'(?1A3@F :IX'K".LPX7SQ4AP5_MCBS78J2$^GG!+8*T#X8[:2?3)A MJAFETX$UQ9CZ-$I@PKCXX2;,A3CF"?2=F 1U#V/GUA'<)OZ>=L)59 AI?WZSP[*J)-F9?$Q FAZZ(0(L083!SB MP!"E$2=10##5BM)6F71N>]^A3)]LBU=+#6JQM3N):WT -4*Q#>OX]'(IHN85 M$14@LETGL6_*]ZF>J !"9TU%E7>MM9^3OKYL%GI-R_MC_;6A-^B,5DE;I[/R M*$O*#AK"C[)@S' ;K\%9W^3OW=M, 1B%MF8JHYCN]<(??EHOQ1OYC1A\^[9P ML1?':8R$_9\F$#E. #&-D"P^[":,A10[6BVMSZ>8VZ%[63$[;\CY/_Y[[+G1 MOP)>R*N[>Y]#REF(4>Q"ZG$*A864PB3P4\BX$ B[B>LDOKXW>QFPTWFR'R[S M6EOPY#&**4(1)&&"Q$_41;(>@ ]#[M(P31C&7-MCM8'F^-[JS06>:0N0JD;D M)=",O!F6 EV!Z^UVDY'=MKC7V:[!/;9[@=,-@C6C\&R"B4W +@7/#;[.)R\M M(B ,R&S+OV2O,HY]*[YS)J]UBJ;P92@:XX)+?3>%4<*(\#OCN-R=?.8A/\+4 M">/ K*; T-2S\SZ;/=D+V6$A/#A(7QJ$N6%)??6/HD@CHT ]MD=J#^4+*A6H M F:]<,'@Q.]4QT 5D.ZR!LHC7.:Q-DSV_'ZS_BR;>54-0A>,I=SS: 0=1GTH M[$,9 >,3F(:Q(#9&7=_7*I*F,.?<2,RH1; *MGI' )80F\KO;XA[)0_?02$P M& +3V--7@,>R>]\WX[OX] H0=#GR*J\:EU<^:R^\[W5>35%E4LCB@&&8I(X? M":>>>+(U22H<*,<-8)BBB/I1&"&2+%;\$6^YHM.D)X#24DK*I=048W3Z 9N] MC.)?EW)BZ4*\E.E6FL%VFA]%C:A& 'JRFLTM'[D"A0Z@4*+HBP!^EGIH MNHVZ7TF-_T;$?F0"M ^[?E**&7BV,E4T9Y\V?<4,FK.<%L-A+'75^/#V($:Z M_I7EBR!R412'*8R0O&K U(4)#2E,G=A!+HH11I".V\/ :2HX*<4 M5I/%^B!6MMAL #>^>6:"V>4M-<[1&*NC1F.F]VVH<:[R8#^-EE<,3]AW).?_ MW(G!;UZE2Z,;1M3Q^HQ^R0<102GC.,%" T#8.H#MFF;:X]8!9<\.5X>>-_OM MWJZH\"N^K//\LQ!1NAS9:I>M'JLR1^M5_H&GZPTOGWO OWA^\TM,+.;(5GCS M=KOES_F=4%DZ*^NEF.E1;-)<_/BVPD=P2"#^/\@"ED#D<@YC-Z'02P,?(KY0]PHPQZP0?P1(YCRGII/P^ >2G6\044QIF=56' MO0_KXKQ>BG#LR"U\%@<181&D,>$0$8Q@$F+9[C=DW(V#V''#^OC\02//:VAB M@V/SAPGR2KO&BIIST^( M+.;0J$)C*YUF<+YI,VM4U3]+LE%^T?!<&V>;O^'ECG_E.-]MBE#ZL@!Q^<]# MJC1'GA/&O@=3&E"(D!M#C(@+0^0X:>A&CIOJE3I2G7EN1SU2<%!(#AJBZY8^ M4L9=\8QZ##3'/IUN!?(*5/7+1ZUCKHV7K0-IY7FG/8K6A>/L$%I[ ./\=V&M M;=_NQ2]I>[UB,@2T, ,:9Z1^(!M 8@811S+>( YAXOL.9'$:QP&+6>IK'4,K MS#DWCJI%%HM)"EUFS-9B7YD?3:O KV@KV05U9*KZLEX]5M=H#T#\XX=1JR*@0M.$@@+*?%@'$<)C*/0 MI32BL/V>KQC\WZK^V3+%&+5V\+ MG\2($B^&-.4I1&G"(.91**,B0UE\,'""6(4R!N:9&U^4HH):5E *"RIIU4AB M"-I^AK (V,CT8(B5,CTH(M%3Q$N,4-*"^)<#&PR-.PD5*"I7\X#JXWHD4)0) MW+PM_OBPX)2'PCVA$,5!*O_!H?C^/G1(& ?8<3V7*;DFAR'GMK3_E,%(#/R[ MP(ZMG]66<@.@_E5KIO;("_3/N]N'FT_@WV_O_OCT[>OE"_)'\+/(0(I[GPM@/,$01=2#! M222L\M0-PC"A,7+-DC;5!)C; FTF%9[5SOIB5DA/^Z.HF>]C0CTR*:BA/%&O M:3WTK.=Q*D[_3MF<>N!TYW1JCJ/'?K]>Q')I*XB#-(.4\@"CP*8P5!A<@;,R\M?M M9>3G_,-A:[J3A[+%5/]U?T!':OS_[X>D;)"\ZXNJ8O)#JO=4D56X27C#)*B->XG7O[O[>J\A-GW]7+Y>;V1C2,6'@_] M"(41](C+!,WX+HP1\6 4A\1-L9N25.L667/^N1'/OK/P;[4"OX-L!9HZ_+^@ MU +\E'J 2A'-R!;=SZ3&52."/S)[C8"[25J&"7KV4BVT9I\Z?<($FI:4"*-A M]/M8R01T=O.+T]TV>^7?TC2C8H;/*^U65H,#S8W!"H'!7F)0BWPE5LQZNUIO M%2N0J:'8STO6 1R9A8:Q&Z&KE3) 1HVMAD>?K+>5LJ+-]E;J+UDKMV_L,QZ2 M)?)%Q/V8>(C R ]=F:U"-S*Q&*&E%70ZB8!1SV3WJ9!&7@XHUXRV' M']9W-N]?7TX"CA2=R[,7Y[9V[_$;>,WECS&5I7S%IP"?!'#+M4RZNP*%\.KN MY#E.P^[C11"-O&9;T!DCPJH7!B.G\'RTR9S 3D6:3E_W0_J+\V'#KC>;VQ5[ MR+9+I2*HYV_-;5D60JFONQ,(AA>=N?8CK[B'#2Z: EW+&Y/'*H%;R)F]9FPG M=LU^8+167#L&1LOM9*C)UEJ["LV%UO&$X7VV3&#Z@'/.9 (#7^5EP(T782]D M+(0NBSR(&,,PX0F#+L=!$CFQGZ98ZR*[=9JY+='B8!L2*2:@#3DU+[#;(56\ MN;X8J+&OK*6 L) 05)5'CE>VK'Z$\R=P\TN*;[';0S\TMJZIVR>9]GZZ5]&S MB^G^I\UHH:J-+HM@R2[:FQ5>UO73\P]O?_#UXP:_/&7T6EX)G=B'F#J4LXC ME <11+&7PMA+*$1A$ 4^IDF"M+CC EEF1S"-D/^ZK\98#\@8.RH!" M&SWBN>2CJ;'31)]B9 JKD2]J#-9Z['L_Y&T?8M0L# NH6F*_2R29E"(M0';* MHS:&-*V7_OR\+F_5O_)GPC<+BE+'=86]%3''D>UP/!@'S(<$Q<+TBAT>,*I7 M)?UDAKD18RE@&3JB6PG]%#PU*KL(DI$)JHD&^%F*9[78>8?JUDJ14VCBAL M57#JUM?HC.)DJ,G.*-I5:)Y1=#RA?R_W,=N^R1WWXYKQ11QZ09(D(?2HXT&4 M>&)'C(D/'>Z@%-'418RI7L4U!Y[;PI.R%78GD-*IW[<=@35\Q68*P=B[GYKV M6O=H;:H:79T=#339;5F;^,T+LM:_-RU#=,V8^)SY_3K?XN7_E[T4OZ8PP*F' M$!(6*8EEGJ\+<>P3L1*# *4Q]2*U9F7]T\QM(5:%=2I195*&%!8(:3579@^R MP^O4#EXCKUI3J R*$/4A<4$-HM9A)RY!U*?:>06BWJ?-?-$;O%EEJ\?\GF^* M@\7#"9&#G=3%L0>CD$8RMXU XO@IY&'H^4'BN5ZH% _57,LI[];(XH>6@:V4P+/FPW?-,ZLL. MJGOJTPZ_H,<+^6:[J%+>OFU^\,UK1LL2OE$H^""('>BS*(0(86&+4Q9!3EV" MDH@X 5&B@ZX)YL8"=8:FC(>MQ-0JC]P)9#\)V(!GY+5O@(SRLA]2OV^UBW<; M*UW\UV&5=PX[R>(>4JI>TX//71KF^G\XWI3QF"AT"(N("P,_%.9]RB.8!#R! M7I)0@IW \=+4+,AU/\?<%O1I\*84]+( UP.J94=U#K^:/Z^_0/_B@'/%Q5X675Q-IG#@N].!!HA0Y$"<:0!%$, MG2C PGQ/XI0H-6;IG65N"[PIH6:S\'XTAW=L*QB-O+[UX-':L0?5OV#;[AY[ MLKU[4+WF!C[\L/Y"_YJMLN?=0G=\N\!.*+93N;?B@,A=UH4Q31SH)#A-4AX$3JQ51KAOLKFMS5K6P@OD MAS9"*][=@U4?8<_E."6RO&A( X@XCB#&L@0.\SQ$D*!![.NT0[:&\ 3]C*=! M6.U(TA9NXY],]+6XNNM!SEY3I@8D8W=CDE/-HPU30VGE_DO-=_0#<*YE\9F; M7QMZO\FH@^G'68_O'W%_['>?%SB/"\.M6.Q M4PZ1R<(JTOKM8O4QL]4P5F/F:5O&ZD-RUC368 CCRK[;(H7M M6_H1YT^?E^N_\FN2;S>8;A<^\9/ 2U/(4Y) E-($XCAU('%;&X'M99592U):4(@K%E EL"9=]0*MQD^VX!N9D"Y SJ26[R D]DKY=D\U M=27?0:5;"OD.OV-&(56UHOJW[*9.2MP@AF'J^A#Y-(2)XR/HI&%*Q9^[7J"5 M"'D\_-QHXMJ@]-L)8&J+WQR&L9V5TLX88W6WZVQI/9\,/ND*;E?L=,UV/&5X M2O#P_/AU]9+)HCC:U7\Z!YC=^'IW?]LH J1YDM"*E^*APJ50 M37*^T([2"&5C!R$Q/W]H'77:HX@^QQ#A-H!LA1A"* \_3VIVU9I\;6]3"%T?DYZYSU1(Q@.354S 8Q/(]=;WCVN/JX MVVSXBKX];/ J%Z-FZ]4?.%M]6>?Y!YZ*9Q[PKX7K!V$4$003)OP1Q#F%,788 MC-S8<1@)$S\)--HT&HB@M/RF;[)8:0!HI0+@O^B3+&8$Q+?2]&9T/HCB.:QE M?">B-R$;^$U*][LLPE\"7.L &DI< 5*(#X3\%@]B]4&S=1"K,?.T!['ZD)P= MQ!H,81AC4U85R[_S9<$":S'DW[/MD^PX(LQT(4A'A37,PSCR>0A1RER(0NI" MXCH1=%T>(L*Q3Q W(#E3>6;*>-^YV'TR*F8#>5%@Y*^#+F"+?W'9<#9CLI// M,N,[>729Y;GL^)A+-34YT?ACJA'DJ-]FLH*T93B*$!TT9+\" Z7V+,:N7(BB MK;@64S&FC7FY$*RS>)A+QS-CV68A_=KK8MR/2)K$T)=^,7)"#&,>!)"'E*6Q M,"!#%NFXQ"USS,WQU6Z'W(>?&F==B,K(=-3L]3&&]]FCO24::9MA4H;H4?%T M\?<]:ARAG&9;:8\M/(H\/_ (]&,_$/90A"!VXQ!&(?<2&B5!%&M5D3L,/;=5 M?,>WPEZAZV?%H^T6L!3M#2,(1EZR4OO;0ON]UR7^<[DK++K[]4;N%N!Z*ZP^ MLML692RWZZ),[WJU%?(MY6.W*_&=A&5H-2#V!"I[X:_UP%,'NYXHU!+:>OJ$ M<4-8\34?I#%^+VQQ&9CM1!0'HD>);CV;N5M]<[]72" MJ=NC=BC8T@&UZTFSY2U&D#_NHF$ZX^S#VY^Y#&_[G*WPB@HVOJ;;[+4P"A8. MB@(O=#CTQ?J&*'(13' \:(^M18=3)#_(G>YHK#\;SOI M$&>KW\%+I84,[4QK#0#>JZ#'$QI?18T_QL%Z F.B8-[[!KB__5E#OA<>7 _# MK$TZ^HA9(B.-B2B ME-#$]V+HN]P1Q!8&,$:> SU!<00GW">14DD"L^EG9^M\^_KU]N'KS=W##W!] M]PE\_';W<'OWQ\W=Q]N;'_H%L36^@QJ5C8?NR'36$+RX;3\2?;Q@G\MPLUB' M6V/RR8MTZP/35L';8!33GBA;G*TXJTNL564%0A8DGAA]VB!BF/W'P_INO;KGZSN^EAKM:;W6"B7NA[%_[5E$<>?EK CA&G+$*4F:Q MQKTC3Q=OK*+@4BJ4J:QMLWQ8.1Q%.4P3]T/,A"AT/ MQMS#$+/4\QD._4AF0ZL?X@Q-.+>CFPV8D M\VW[Q#=E)+&\NBO"\+8+YO@AIP&&KAMBB'B80)*D'DPH38*$)9A0K2O>UEGF M9J 40H*5V%:/S7KW4NR?1118R2C?MZOKYZVJ\S$PS-Q6MQ07%/*" MTFYH2 R$>[?;K,#U\WK7\VO61G+8][ (XLAKWP)^6KZ&(C)&WL;0V)/Y&XI* M-CT.U5?L]&GY@/.,+D+JN;$31C!"7B@Y.!%_-*+8/7?+^O44H*J9A)<#-7(M'#>H>4*%#*.UYOE M"(*1^K*4<[QK3Y8C-8?ZL1P_;.@*B-\WEC<=7SC.^??L\6G[+?TS+_,,%]1+ M<4Q1!$,2" YPA3<0(Q1#Y'C$8Q@Q7ZU3F])L<^."0CRX3N$NYV I!3;S#7H1 M5O01;.$VMJ]0RPD*0:_ 'D,A;.E#6'0;5$"QY3[TSC6M&Z&B]ID[H?228:4B M2J4%* :_7R\SVDQBX!R'U ]\F#HNJ>:&WD< M) 6UJ,;E#GH 5J,/.["-?=-AAIA^^:-!,&R50NJ>:-JR2(,*GY5(&GY#_P2B M/+G\&U[NBBLKP3R[YQ?Y;Y^R-.4R$9@;W(;JC3HWEBBE!WOQP4%^<%#@RN!^ M5!/MX4.+\8 >VUG1Q'B$*U0S[(Q..32GFNS0PPR"YAF(X0@&1+79R#O=ZQ5> MON59KD])'>_/CGPVF_6*KW?Y<2A!+;<&UW0!IL J%K :FS_Z81J#+@9 ,2.& MKD&GHX !M8X6^]"S>LOZUXOX'=;')S*GKCY".=17=4+*$AY!S) '$7$0))Q& MD"4$1YCX#E6[_!R<:78L4)_E[0\ZU1;^,*3]J]\J4%.==Y8IL,%.SJ)[Q0,.3S )#2IK$?-E>HOZ-M! M#QMVO=E\VFW*GZ*B]7/\UMS8KE'R!M0RJALZ)X@,FS?F8(S,: \;7&3T:^&A M9<2TJVYDNIP,-9G!TJY"TTSI>$*_E_;-:BNVEWS#&W)5J*"2HYKX"45. (I*SJ MW;2[ .U?LY9@&ML<,4%(JY_V 9&_;2[QIRLG_: 4LU^VD./7E8L_N,J9QOV M>8D?32K%']Z>V\H]+X#^<;W*,P$09V9EXAM(#6^VEX,T]@U'#S[@IQ1VA-+P MYTA<7!>^,>2[%(4_5ZFK(GS+DP8'!]\S*DQJ]G&S>UZ^*647=KTVHQ]C)1TH MQ1M.*E2#1<-[O1">B9S68Y@L>:H]JO>7]DA]Y([V/6>P^G[PS6M& M^7?^RE<[_F.=;L4"Y]7O+0E"0J.00\Q#!A&/8T@8IM"+_=BGH<>HHQ1@,#C3 MW/;:6CJ-]=H+I *?V8)G9&*KQ 25G%>@EM2$XWHQTR [6]A-Q'J5N#K8Z3&@ M"AZ]5-@[P'2%$,4> AF,3(A2SB#O6"E 214KW.ODGFMJAK M.<%!4%!*JGX(V GH\"F@#9A&7L0&"&D= @Y!8'0*V#GH9,> 0VHUSP$'GS4_ M"+S?<+;=/*^,S@&/7I[;RCTZYI*2(R2^AF@,4!3'@$>83/* M 6 K#!>=_QV/./GQ7ZM";:=_[0]>U@OR7OP*GG#.#^'1A^H\^8(%#DL<1&"4 MH@ B["8P"8( QM0/G-1S4^QX)CT@>V>=W=IGK*#)LI;(2R4Z>-E(CQPOBU^M MW*?P006SUH_]WT+-.+>.\,CD4[KV#_GN_1S M5(*AJX^CVLN&OC]]XFRWY-_2#[M<;"=Y?DW_N1 Y&(/$DI"F,;4BY,$8\RT,CMU!9@;<=7RRS.$6@/05.%*UJYN_ 'X M6>BAF?+;G] 97;:NL/O6):+WDFKIRKIOQYY5S%]XP[HK[PS?;M7OPVMM)<(P@Y-W)KZ"C[<6QJ+<%JWS5:_OFJ[B_9["JYWA?'.W25_!?-2F!C M_ [4B/.]O^[8%_/''W:O(#AKB"W_NJ>IY:$$XD'?<>J8C?A!;%5 &T/$:6NG MC0CR6=6U,>J6>,V5'[<@E:3I$UZB#U(C9\Q&X+ MK+&9L@,GBRD"JFB813+U#3Q=0).">D=Q32K/&W807V]E,_(W>>OVL6I=XGL) M%ZAQ2$+7APC'*<0X<"!!$0UB/TI]KA1QW#/'W-9_)1:0\9WRQFB= ED., K>-9PN^=1 MHQV]:%TG*ZMI[^,G;\YM]"#;L'&OO[=@<4 MIKOUZ7!3[M$=JISLS%U/F6<'R([3\BC[=LN?A\)9.]^;TV^P&?=^:*RL4%\6^'X\X>>Q[JT)ML>_M#QJDWE_OMNOGM? I^;>;K_ZF!$!L4V(;[MMOL4K>5X@3Q)?^>:MJ*>LWNFQ M>X2Y<>]Q66[-;HX]0 U;778P&IE0&T*"6DJ@@YF6]34,B9$)UC/L9';8L&I- M8TSA:<-NC;F0^*]/_&6=9]M%$B"4^#2&+F$4(HP=&!/'@5X4N%&"/$(]K0Y+ M1Z//;:67P@%62J?9C_$(-K6C.&,P1E[2%0Z?!G#0;[K8IJ^M9HM'8T_;9+%- MK;/FBJT/&=4KH\*S9=_$BE_)/FN?LQ5>44D#>,M_?/O\O;8TN9\FJ>M"/W$= MB.+0A]@A+N1)$(G_%Z8N5N\XH#CIW!:TE$RK&I<:M I^T0B C;SH*XG!7F2P MEQE(H<%O4NS?S:J<*?YD=0J>6<=WLMIG2CA;*X2FA=- 332UL:8LCZ:EW4FE M-+UWC0-Z7[-ZJIHW0'E6X)T!U^QS0VMRQY@I?W M.&.WJX_X)=OBY0)1ZE.*7-0QS]QXXR F M>!%RPFP%:2FI;JAK.ZQJY&$!K+%YXX"3%!%D*_!Q ">#$-%>%*Q%>;;/,G&@ M9J^JY[&6_8\;5F'9D9S_P1[2*K;3/,SP#Q/J^S#V>$"93W!,$[V:S5KSSXX^:O&+M-NF MW'5"AFDRH>Z'4:29\> >FWYL(&U0+MH(+VL5I?5FG[CHM!$TYW6IS88Q+.7R M)./2A2VU7A7#_3W;/GWQ6,24_O\ZA1WFB@CTQX MEO'6KQIC@INM.C):/0^+&PN#SF1_26.\0>7#.N=%;)7)]E%P6!UY+ ML0&MLFYP(;_N(?,P^JIGS58Q'9F]:CCKDV6)9B$P*"4>(2U' R!KY\W#,TY\ M[*P,P?GIL_JK^K%^MV4/R4-ZX!>-Q('NEV?T@Z^$[$@[_6([@V 8$Z,8MIYA M)XMA&U:M&<.F\/3%K:H^[39B['N^R=:LK U7_/,#SCEK1BDN7.R[PB>0QR%, M[*.,I>+? @P)3WPB_CRBH5:Y$@,9YK:O%BI (L64C:\.$9W&]2%-/HSJZR!._5NDL7HIX.7]I#F5'DU_5K\1NZ7?V08<1XP^XW:[83_@R6/S#A MPE"ZV>'E]_5R*7Y?,O5K0=W(B4).(?<$.R+B48C]V(&4QB1%,8D=K!6O8B## MW"BR5D'Z^K42H-("U&J 2@_P4VH"*E4TSU=,/I@:=8[\&4:FSE&^@#9=7H"A M);HTD6!2NKP HE.ZO&0H_;Z)-ZMMMGW[SA\S>:BSVMZ)7^,"Q6X0,=>!(0L\ MB#!W8<*XL!DY=7"4Q)'#E,S%K@GF1G2EC. @))!2JO=*; 6QGY]L0#,R^6BB MHM4?L4]UH]Z(K0-.UA>Q3YUF3\3>Y\PK'GSEVZ^"_MA^$1/_0[8AX\OK< M5N=1_8-25OUFB*<0#9_N6$!GY 7: @SX*04%A:26:T)TX'!158C3,2>O"]&A M5%MEB*Y']9?MU^UF*3N!Y-_2NBV(YLKM'F%NB_K+ MN0>ZX15M![6Q37X5P$98YL/@&*WTGF$G6^S#JC77N\+39J<2MRNZ*;X>7E8] M/%@?SD.J,['F>?TB8"3&@4\AP8DKRTZ[D+AI#"EC0>JF M":6^5N?!RT6:&]]\RI:[HCH'3U-.BZ L,;Q0AVXYJWH"[5;9-C<_Y[7P'=7. M+J;].J/?0^V5 76'H:JU4$,?66!M_PEO]I]PX*S88M-6>YA;.OJP(-"D)R'V M #P]&+$XLH&K59>ITR@#TWQG;CQY*&IX6M/P2KL.S!$V"HZ5(2QC>U.=B%@M M\M*FO9D/U1QH.L>I1?PC;ZGM[XW3BRGG+/\L!/B!9??3SE8A"^:S&,F$P3B. M0HB03R")F .I2T/'0X121^N"6V/NN:WL6G0@/QS(<=D>^*42OPAXXK7LVHG) MRA]$S<(9">:1F>(8X1\5PB<=AZZ.6PY9S5O6Q&K/RS%-G->M"TI+DK#V$ M_FW+IZH,1WD#?K-B10?A,(@CBE($G<057AVF""8TE1F/#(4\Y%[J*U6SZ9QA M;A15"PE**8$04Z,50PU7R369!_RW?]YK1/LQ5&6MN*_C8/*Z$+Y/Q7_/_V6C\I.Y% M*$$Z[%W81G/D!:\,Y A'OCI0&;DH2A-,YKKHJ-MT:;3>TZ>2>\XW?VS6NY:*5WEU:N!HK=9N#(P6:.0N"'6K%5F2;"Y4<07GN?_ O!!.UF+>J^>9H$S6Q]/[9CR/3[)V+<=C>_0 MU.D*[+4J#C";>EU-=L9I&W!;U=ILB35M>3?+8)[5@[,]OAFARQ*AJQV7![AM MY0NJ,LQNS!T2>[X@:M^%R*<.3#@/(0X#2B/JAWZ*==A::=:Y47$E='E_T5[% M WS@*_KTC#?_T&-FM:^@1KO6L1V94[5@M=@ZT @O2Y2H-N>D?*<%PRF9Z;UL MQE0?=GFV$M;0-174EV<5*7Y>;Y[Q[2J5_R/_Z'"B@9P$^4Y H9]R A$+ HCE M?SJ>&Q,2Q2EA6JF)FO//C;U^T"?.=OM+5U (#AJ2ZS&6[M=0XZX1,1Z9Q6K) M04/TJW:@P<^'(FC/ZF'4A0A:XC7=V2=E.$-H3KG.=!C3+,./7!+J\G;%^*]_ MYV\+%'NQ&R881HD3"E[##,8Q=V' _="-G"#%1*FZ4^<,%\,S,NEH(V.0;=BA_07IAJ<)AUX,&'9IZ*\,5 M$;HX+ZTGG#\5;1U>MOG""\1Z=H6;Q7Q$9+\F(G.)Q3]B+PS=!./41C7\)6W]O>.4I97H-8"?"[<.Z$'J!49_0MH M-(\:_4M,U$IJI"^BUV'J(C![^TV9C3Q=]ZF+-#_J17792&8>]A\X6\D&0M]6 M+;&,'E?\)FKNM46(I]E@"EA_DR+_+M']E.5% MLTSI1#=BQ\MKE3%N5/0 L^1$*TXZJ>^L!\2IRZSYMGZ0R-UZ]7VWY*Y# E?F M'F^>5UOV>8D?56-%.@>8FP4L!(524B!%A>Y1Q(3,O\Y6DO+48TFZD>NG%&N@ MC-P#OV 1XP0BI"GY$Y? M+,GL.$5X)AOY@]8S3>:_MD@ ML&I<9Q.ND2FM%!46LH*#L/M.$(6\]AA+%1E+Q#0XW:3\HZK\*!?57^)#WS%TVR[B%V/I+)Q>1S1"*(@H)"X00(=[#L>\8, Q4RST%+;/'/C MCFJ#W^)?9JW+N^!4HPX+((W,&!4^0L1#:_)*2HN=R0=PL%=8J'66J:L%]:G: M4@*H]W%3$I"-2]>;-TDV^1-G?ZS73";Y?4N_\YQO7GF^\+P04R<-("+"H$"4 MN1 '$8;I+WN/>;C&I:')U@JK&) M#8A&II!"Q&8PYBC'*4- V,J@Z9IFVHR8 67/,ER&GK\L#OSC^IG(TWLQ\G=. MUX^K[#^%M\,$#65IAO?^3B' AK/K%:OOSS.>B[_;/7-6M<(KGRQNT5_EF_DB MPHBFD0RM#")AN'B(0T)"'Y)8&#%)FKAQI-4K> JAYT90UY3* H!UL):4T2S& M?-0OK<9X<_M^([/G/IJ]H>\5.&@,FBI7)S^@5KJ(>6BH#2J]]TU"]T=%#>7M M1\!/\:DLA\V/*O*[Q-I/\1&Z O0GF=ML#[MY?EFNWSC_SHL$T,:\=1?AE!*, MP\B#OHLI1"X*('&X#YE+O-AA+.:AU@8T../<=H][_+:1C;F6!TGU=H]AC-6H MWRIR(_-V+2O'Y)B4Y9?5/&4K]1_$;^R0BI=@3+&;I! S%,D^9<+*]3P/QCP-8AZX@?B9:5WU]_BA>>G7BZ_BC9\MU,:^[A-R@D)0T)#4 M(NI*DK#!+F M4XA=X1$[;IQ2+T$N\5/E9*36*>9&%960^RP*G825=@S[F<$.,B/3P2DHPP49 M5,'1R-:Y&*2)LG'TP=)+M.G%H3>1IOW-Z1)E>B4_2H3I?](PAG0G!_F6?GN1 M<8_9ZO$'?RQ;#!$_H3[B#DR8O+#D?@!Q'/N0N%%, N:%<:"47#TXT]S(KA14 M7JVM:U%!7LFJ&1;:":Z:860%LI%9\(#67DKP8P@M_6#-(21L!6-VSC-ML.60 MNF?!E(,OF)8;O5VQHANQ5J71ZJ79K6SEILSG^O>OV(M4'WF%ME04E:FO+'O- MF.SZ;J:N)3HB0+G541/'S#;>H6S@A\?-[S,SI?1 47EJ*(B M3N.(PF&N+QL3,9]QB!+D01+R"'HH\1P4IM8SHR(W1".&H])BV4+.WG:G-.NK=KP7"ZS^N];,9+7[(5_Y9^ MW'"6;3]C6J397__*\H6'O)#S@$(6D0@B2A,8.X1 ESAQ$@H/@3I:I2^[)IH; M^WSA*X%>L4^"GU) 10]_$% U=K$!T]A'(>H(:=/&D/J6F*)SFDG)84C94SX8 M?/["@.;#@>IA3_2ISTD884@(<2%R*8;8)P$,& M#%E)*N69J0_=DZ-Y3]*+J!H/V,)I9"[8B]FX)!GICD0%$=L1RFU3O4]H],&H,H@Z+_RI;+UE"3.[Y=Q,*O"7P_JAK3S>!;C4R2%T45 M7H%:TZON ,.[GO)*4P42JGZ0]XT=')3ROT*XH"K4EB($E:<;I17#S2^ZW,DS M32F4^/_9 _ZUH)1Y"0D1Y&[,9)PZ@UB8I#)JT,,^8V[J:Z7M&\@P-VNUW PV M)L=C)E] C=Q'QG5DXE9HT7 %]CJ 6@F9\3M9GX8^"*?IVM JP9QZ./1!I-G1 MH7 MP(=O F1>,X1YDJ;"PP!::B[<,]$[-AD>5K^_V;#"^X87!>O5HZ" YT^< M;!_$$,69=AQ%+@U2%T:R/CO"J0-C+)QW&@$ER(T]@W!!*B!SV(]*\*>C"P=4W0-L6T5P0]2IY=#_0] M:Q /?;]9LQW=5A:1H)?55OS15I"+V#8^9\OGNDD>B9T8>PZ,A-L%$8HXQ-CW M(4$D<".2I(K%3G0FG1LI%(+*ZM>5I" 5HFJ$!JMBW4\/8R$X,EU4$M=Q"5>@ M1/,@-9!BFT1CK8E3;]2VZEC3Q7%K:G<4V:W[ MKGX#K6OQ:V+R%U44M(X#2K$PQ*!XSA'\+$QC$HE_1%18;9B$.'4CU<991R// MC83WP@$IG7J;K&.X^BGV(A!&YE%%_;6:8;7J:M0$ZWBDR9I?M2K0;'K5_H!I M*,5QT8M6ST6V;(+YA$G M=.($QA@)-RVE/L1.ZL,DQRDA9(E%E*;TH+AE(GT7C;C MHJ_KUR+IZ';UB:=\L^&L\G.^KY?+S^O-7WC#%AP%'I:AI-3#B8PM=R%!$8,> M)E[,4DHYT:(BE4GGQD2US"!;@5KJ0V:&%!Q4DFL>*RM] 35JLHWKR,QD U)M M8M+!R!(O*4TY*2WI@'#*2EKOFD88O50-=+^E=^LMS^_QFPQS6L11XC&4^! 1 MCT*$$(&)+[RRT*4.)V$2A<@U:.G8-9_26IF^B>-!7)D=MI("@Y=28MTXH@Z< MU>CF(MBFB@AJ0E4(">X'H#*(^.G'P5I83\A>U4Q4,NXC (4C]T((Z1X XOI)!@YL#83VB84)][:61 &SHR MS)1*]J'.^%#_."_:O\KU4CA=9C'J6M]'C6ZLPSW1;5E-0-MU'20.#I+O.P44 MWMGU$-;:W&0"FB6^TIIZ4@XS >64UXS&,#ZEYN(7N9410S)/ \68NWXH2YQA M#A$F/HR],(*.%[H\2A@EL:MY(MT5[$R7F2P6[K>"%^A%%;[]/D(0N63 M9E-@QC]5+B0K@@";,>:;K/7_BJU)N?-;3#9.UL^ M&GWJ<^0VU5K.C%L?,SP?/LH8_K1^QMEJP?S0][&?RI*&LAIJ'$&,@ABRB/IQ M0I,@\;46?=LDLUOYA8R@%A+\+,74/&!IA5/QK/="D,8^VM7%1_\8MP< 6Z>V M;5-,>TC;H^39F6S?LQ=60?[V(LWO_[W#JVTF@XM>CTJF%HYY@GPW0A&&-$IB MB$(WA#&E#@P35[87\CSF>D8UD8?GGALY- K^EL)?G13^E4)K4H7.IU!CD)$ M'IE8+L36O)ZR.DJVJRLKS/P^M9;5(>FLO*PQA&&U-$ZVMZM\NRGB(C_@/,M_ MO&PX9M]6?\.;(D7U.]YR=Q%2'GO$]2".DT"8,F%:EA#PO-@/:1!3UPNT"J8I M3CPW\BHD!7DA*EBOP,LF>^9 V.BZA=)4@5=CJS'@')FJI,C@(/,5**']L8>V M%AQ\[T-7OV":)E2V:J:I3CMMV31-,,XJI^F^;R-U\]OV2=9IMI6UV3KRA MN@)'6Y!KXC#J1$X*HT0VJ(A\!.,0>9 AQ%.2IKY#M"JT]UCELUQNA5?, MN.+O/'M\VG)V_SO>H2BCW\01@Q1 MR..40T22&"8X#6#@1BAU0NJ@*%F(L(V\*>Z KT<&A_T\I-FC(+8_T"XWL[16&R%G:/W1GGW1/,83F=)\Q M'<9L[_FQ3K=_B2$_\5>^7+_(3:TRI4CJ.(Z+?$@CQQ=6JG!GDQ0G$(<)37CD M!-332HKMG&EN^TDMJ!Y1=0.I1DE6X!F9?&H904/($>S102@LL4GW/)/RQJ"Z MIPPQ_(+^V?EG(?UZQ67M6<$[;S>_7L27KYJ<2(,7TVU&RT*S;]HGZ4:#SXT6 M*B5 K84,R=OK(???4TW4#]?-P!\^:A\=]Y'Y1AOR$4[?+\+0Z"S>;,;)3N8O M J1Y3G_90(9QERT%9(L: (U"VF\G/PP:L<%Y62OC!SHSBY9D2GP8=2,[1&AG_T MN\CVDM?[/R]4N3K_ F]EKP*QVGCV6@1+C-EK[@*0;<6<&D@P;4BJ.41G$:L7 M#&7&H_ML \':?)7S_)KDA0@+2E#L!DX"O:*T6>A2B&D:P\#C+,*>%S%'J9GM MX$QSX\1# D8MJ1[C=4.JQFM6@!J9OYY)F610W5.^ M&'YAE+8AAYTZ:66ZJ$X\-\[X?O.W MF[L_;ZRV!M&UA\; ;F0:46@",E)8A2Y8T[3[>"<+1A<,S<8>MFR5LS3>^\U: M$.#V[5[\J*2))"LO%:=HBYC'KN^F#-+ XOH\9EEH%^O^H!]WN0 M"\E+W^UF$.7+:P<, C96Y8#NB=^W;L @((-5 X9', EU/^DI<[, KEFK"B[@YO!&G CK_YSS.J:("-W3K5_M)3,.^1M_RNB2UX'..""!3R("F4"C;#&VW6VM*A/!I]T%;U,QK-:Z MG*S;?=GI7G._+F%2W)BUE1][!^[76'^3/5+0UFY:#CKMMGFDR-G^>/RW^F[O MM:P\G']LEDXM;MBMV);Z7J_O:-,;=]3\JD[NOVHC/L\]H"9NRU M5X@)"CEE6?$'659CNP9?[^YOFR5LKH"0/7O-V$Y05"^06EZQ"DI&WG'OP)-Y MR2KJ-;UEI>?UVZ5]E"%A^PMPUTL8Q2Z!.)&;*793F/"4P" ,D8\\SPNPDK%[ M-O+9OQ )W:&G5+.QYILFYIK0HT MNZ6U/V!FO>[/IBN?*7*83],H@<)B%6ZF0R(8!V$LDPYY&@0T\,-4Q\T\&7]N MZV_XAD4)-36K]@(L1EZ)>\E&\#4[M+9D\YZ./JGQVZ':J17<]9AA M>.Y/R? M.S'7/W &1\S<,/S4RN3D35UK45G$9>X0<902GD2/$R@UC82N7JG&?: M5*XA=<]2N09?T&,%*J__-F^+/W\LO- /4N*E$#OR6BEB05F'T2"-X+9K0.+[;K+?5.^3\%E!1 Z*RVKO&O&.'6IAT.;F7W[ MI(3&*?,2"E/FAQ#A-(2Q'S/H&L;!$(ST334H>PPJ?4H;"&X;9=[*>:2.U]DYH('A( MQDD[*/4BSCR!(_4A\BF%A),0Y7CU",=TS M6)JF'O>@JT83=C ;F29*N!I27H&#G!93\0:QL)6+USW1M,EX@PJ?9>,-OZ%_ M4RX&N>/K.O1)\6K\Z*6YK6\A'+R[^::XF,\QZ%^[%ZD_]HY>:6[1+>A4U^CJ M^GBDR>ZJ6Q5H7DZW/V!<.40V+RCJ7-RN[C?K1_&)Z]]6&!#"'">"/$R$>1Z$ MLOL)CJ&/, XBAZ4)T2T1TCG9W-9E4U89CU%+JUWOHQM>M6W7%F@CK^8NO$9P M^E40L5=NHWNJJ>MJ#"K=4D!C^!U+E3(6+&(NY\)Y3QQYI^X%+L1^FD(OX30F M@4?\T-<)#3V;08LA)HL27>]K/W []3%,ZV+,B LT:H9<7@3#ML%]-O[[%KWH M-*\['S1,)Y=]O&2KHFISXA%) TP8]!TNEC.*$$Q0@*#K^,AC&,=)K-7LXV3\ MN6WWA7C]C;:48%-;O!> ,?+2/> PPL;=H;:MW.N3T:=-L&Y7[2R+NN,Q0^,= MYT_R_V3HS2M>ED?W8L?/9)IGT<9]Q8[_H/'D/=]D:W:[HAO9 > 3+_]7_'?9 MC_OF%WT2/XQ"V)LTY72[P+Z/8^8*2@AB I$?.I!0!T,>)"GQ'#=R,-+9X:<5 M?V[F0RVZ-):I;!0O:R$4_\(/6@*V*V[.MD\TY=A-*_RTKN*[?)@SY_-]I#"\H^9;*8%PD5\SQMF'MS]S+J;_G*WP MBHH)KX4/_5H<8Q^R-TB<>#[Q8.#C""(2$)A$.(6<1 YE)'5\K'=WK2W"W&SH M@J;2Y?JOO"QAEM:B [R77?-J6_^S*%YYCPKVV ?G?%MN";7X@+R!WZ0&PI;X M'>R5 EL>NEV--:4UVYM2IQ?_*G/(\%R;UM_0[S_GFE>>+.'0"G'H^Q EQ(8IC G$4)]"-HY0R M/Q9_K%5X3&'.N2UD*:D\C'XI9=7;>E4P5MN(+2,W\H+?2WL%:OPJB:^ ]-/7 M*:BEMK=1:T!D:=M6F7'235P#@M,M7>=5(^?Y#S%+E4[SB>=TD[W(#4"[O>#P M2'-C$.EA_G%]?;^OV]L06LOG'D)0R0VW"-X$GGD7;B/T_E/'QM2#'QI^2J=> M4=43/U_U+3V"R#?;19'7+2W$'Y2O\"9;%R8OPF'*G8!!2H( (LPI)*X?P@1[ M?DHI2EQ'R>WOG&%N7%'+-F07*^+7SPA64!F9!%0!45[J@TKWV0;BY89=(/[K ML,:[QYUD60^J5:_DX0?-W(F.3N9G+DZ&'/"4HWYA4:H6?(0]>:>U%U%MY^:;&(V]EV1(5Q:%4A5L# J2-H[\&3U2574 M:Y8K57K>.$=36*_;37&/\#W+__$@QJDN-WF*$Q\G%$8LC2'R4Q\F)!(>I)=B M'N,HP'&DF:+9-=?<2.%(5"!E!5)8P[OC/I#5;!9+T(W,#<:HF:1I#N%A+TNS MW#WQ%GY[QYA_%B6@<)SZ7[03E#$_X7, _V\FH=.BLC;F@F7(#C]+:",H27FPL= MN(QE,YQ.][Z&0X?R@]9#UWOZ%]GWKR\/F"R5&Q#5S\^-!^[Q&WC-9<9K+J"_9BM^*?\T7B"+,W,2!/')D-?. PS@-/$@3XB'.J?BN6A66SJ>8 MVW+<2PA^2AE!(:3F3MP"I-K>>QD\(Z]1363TFQ9T*F^K6\'Y!-.V*>A4\*P_ M0?>3%Y0NE>&J&_[$5WGVR@^&?A%9]H!_M>>T[A,74QQZKH="&.)4V.NRJV8< M4PR]V(D\%CO,T:N%?+E(IE TQ=QM0)@:[%7.R,;1-15L3U_KO(73K,TXZPZ MN$_PB&+O8Y5Z2>G'@*$?5=-;P&=O$4H9&+\IN2/5+(NTZQYXNVFY(O:.(N\&']8\B/@NIURO^G5/9$_+M MTXX_K(7[^L\=7HH):''X45#,![[B:;;-KY^WJL<6)F//;<57.H!:"_@ M4SWJS;E6Y0I4^ 3&E <0N3B!">8I#$CDI$&0 M1"[2:G?3''QV)%!L@6!]"*'5.\TY D[M7,84CI&7]A?9Y.=!-ODISG^%L5"* M:.\$I4UQ2VJK1IM3I^43K,X:!%[M\NW[FF^]\6>S]^5/V4G=T< /L M1@$-H9OZ3*Q;BF#B!@%TPX#$+DE8R)3.&Q3FFMLRKD4%FZ:LFA$6/="JK6Q+ M@(V\T/=8'8DY1J>,83ALA5/TS#1M),6PRF=!% JO='%%\UL)DOG'__IO]9^( M?Q"<\__UW_XO4$L#!!0 ( +9":%=GXQRL\6D %?+! 5 >'!E;"TR M,#(S,#DS,%]P&ULY+W9=IM)DB9X7T\1DW,[EN'[4J>J^E 2%X< R&Y 1\X!<^4SC)QYIU+\"5=.QB.9W,W#F6!V?"?9XMO?IH$-U]P M_4VZ?EGY$^5WL/PQ*-\"RH#3OWZ?Q;_\VS_]\LLM.Z:343I/^9?RWS_.3YXN M^36-_AHFU[^6/_SU_03!\-E=%5(7?W7^XVOZU[_,AM=?1_??^S)-^5__4OXB M%)D2RTE9\/]^^,N_/JS]=9IF")C%7C_A-^X^HZRV/1WI^SR-8[K=VW*%T20\ M^:%1X>QDNOR;(^?3:/'=04S#P>*3C_QL/G5A/O A)BF8- >&R!*M" B.I M4"9*+BE[NNU"\@QI7@ABEL)?KR;??L4/_K6PHGRQX,F"'R^6N^7+;G0O3]XE M_NR )Q:I)AET$ E$# J,4QJ(M%1;:8*("G;)Z"]^XE?O[HI?A"$+\-17/[M/)U" >L?1SLP\]&(/$Y38>3>#R.'_ 2'F27DE4Y@534 M@C"1@0M2X&\-8SH3F?948J\NNQ$<>/MPV)V7C8#A'B^\D:0$.U#8B^.]HR*X_%\./_Q<3A*IS?7 M/DT'+ 6)%$ &TR6D+7>,.FU5#4VR8OF-H&):ATH-WC8!DJ,8402SN_]\&HX3'4CTI-!"UF"I MRNA>LXR;( 1HL,1G(;)BN0) 7EEZ(W#8UL&Q+T]; L9[_/)L>CGY M>M9 >4+[61KD1W01O.?&HV?%M33U8/&P\&:A*_*3H&)'AK:$B<75>#;]/)U\ M&XY#&K@0;3!X*5)!\&9$V[I8U0*MJAQ"QG])W,]57;?Z9NAH.+)9C;4M0>3S M9#9WH_]O^'5A.NGL$Y6(<;P$ PC#\%;,-$.2Z(\KY[/EJ1Y GJR]&3P:#GA6 M8FO/X"A:[VB:W()N_&RNB%:@-1%%[Z$7'H5!SH@4O3746;$7'!ZOMAD &@YQ M[LRZGD5>WD9'G[],QLL(#.'2&U?B;R:CWRVEP;WK!#(83KSF(7&[E]B?K[B9 MZ!L.9>[%PI[%?Y'"S12A2YF_',Y':8"^D"?9HGECT,811'+P.F8@)I.DE)8B M[G?JGZ^XF?@;CF'NQ<*>Q7\Y=27_Y.+'M9^,!H&0)+-%W"J/N(W6@PW> LUX M<^&6I&-Q+]D_66XSP3<8T<^N/OX8L;7Z5%O#4S9@)C%+21B%KN\,ZB MJ+1LL-*2D%,.^^G]UU;=# ,-AR3W9F43[L#[FVEAU^T+7($TRN!F-N!6^204 M7EPV4A !O_))H5L3A SH^AHB]KL+UJV^&32:#T%68&T3$#D9XZ&6H_Q3'C0UKH:03Z8^!"LX(0BFPDM,A8I3@O2SO,LKX[%A&WZC26_C]HINE334?@]R= MD4W@X.+:C4;O;F;#<9K-!C9%JF1FX"3-('S KSCCH 7U@FO-#*^1$_%DT3ZZ]N_&,@#<6-),0O6D<@#'YE228E M290(JKWGU%? PZN+;X:+YL.,^S.V"7Q1*($'2A/0 F;7(PY,K&?]_%DNL2 M?1S.@AO]1W+390HY2TBD%N@\TXA[X-:!"S2!HMZ1I-##MGO6%*U8>3,L-!R\ MK,+21K+R'S;Q$;\S&[C@". &.()TP*D+5XU1]?)^&1!$>%XX%EY$6J8F$^7 MW0P1S4U9WW\S@RKFO@T4B7-$,9_GC<(R+#5$]3&[KN>XQ M)GW.@3,&45I3BC[1O:!!@B^EGT(0G?*Z2'!V,[^ P-VBM^:SY7<>#MPV M=.VJ2Y9K',UFR-:'71INM> ,[\A2>$"]WZZRRZ?4M!/ M[7AG2%AJFPKL[O'B>4K]G=%]OPEC=30D!]221H.@:&8[O$\A19*BHTZBO=4) M9IX1TB]T]I'LJR#9A\T-8.6]FWTY&L?RG^/_O!E^&6_"B=IOGRX5D+3Y4(!HC1"H]=B& ,I8M=28]_0E/UFVP- M/?WTPN@.4-5XWP".3L;?D.K)] =N82 HCRXS!9$M(D@.)SOSM@%?9_ MZG8]Y-# .?44F*,A< M2OT].J%6B@1)!1&TM]Y85QDN&Y#53U^-[E!46Q(-@.LI\4Q+JX/QX)-Q2+Q$ M-@F*.S!"*I>SH6%=U=+>-G0_+3@ZO)YVYN[NT)C,W:B2WIE\3=/YC\\CA^P8 MQV*Q?2U>:=&A)D0N">I0JC2_?1NW-GMPC#%DBV-XN597.*OI:<&NJ>)T56-Z M [KE#'?B2I[NI^1FZ;PTTSS+?Z#B+.P:L)2H,Y)#P3X(1V@Y%QFDRW@HC*3, MK"N0V 5!:PEJP>2I J%Z;&\ 0Q^'X^$\?1I^2_$$Q3&^&J*-?\NL2I@J**C&\ 1H\,M=/).-Q= MR-Y$;D,I+M/%$5"*@@V!@U%,>9*9R:;V)?8J(2V8/754S]YL;@ KOTTF\<_A M:#0@4CM-J8:<2N]F@4"WOK0J%IP*+YA+9EW)SB[P6*[=3Q>R#A"Q$S,; ,$M M"P9(='3:)S"(4H1N\>:$#L"\)LRDJ*2H_=QVNW(_[<4Z>T78BI$-^#Z?ALX/ M1\/Y,#WB0M1&!S2\F6*%"]("_D4/F:)&TSPHPM8ET.Z"A5?(Z-?3Z?QE2S!JI!=B0 P[]&!(\@CC]\ 3X4(TC/\7^VH[FIJ^GU/ MGIXS0*2,!/>=47=W],:] 7G]QO4Z EM7XFD#>64CI3/Q=;ITWQ\VDHG,@64* M/I9L$)M=:4>,O_ 0N3%92;JN[?...'N=F'[C?-VAJ@+K&\#0*Z< -6[Q4P4$ MH="V1'<4K*<)(M=RF M*B<;\=JVR"(118E_) N$2?1S$YPD,H M/%!E>/2H.)G%<\:$PIV4W ):$@-B$"S71M)J:IJQC*J J!+7&\#/I\GXZC)- MKS\-Q^DLOT<"AO,!HR0'+DU))%(@DJ?@2OO;TF$])QV4M-6CCZ_0T8S=4R=H MM"^G&T#+"K_S$?QU"E$6#JE$RELMM-HIJQA.KHGJHR M: !4CQ@TB)FH9$M3/9\):D_MP 8F@22TXE04/*WM)K.GY=SO2VB'4>JM^-J MD5RZG@SGUXN"C7$IC2QX3^-0ML)5\$JAE2]]X.5U+X&C)@*7U'AJ+0NF=GAZ M#3G]VC6=/Y'5$D0#:F;10^?+9(02F95,Q_F/AV)JS[V@CH*W*>'IH R,L@2( MQ3_1W@21:@<55U/3K]73.:(JB:$!0'U>KKO8TFTY&0D.#;K2.#QSAMZC+K-$ M8IE7%9P5+EAB:X<-7R&C[XKB.A)^61"Q%[L;0,RC9EZW]!OK UIJ#BAUI&3I M*_ :^6%*Q9@,A%-2VT5_3D/?.1Z=8&4O1C< E*,8%QH7=:\;QI/Q>_=UB+;5 M@)GHRAQ-\**8@Y0Y<#HIX#1'KY(FMGZ%Y^ND]&WW= *;&FQO 3TAW%S?C$HG MD46@JO28G*8O:3P;?DNW<<]/DUF)=I[E2_=]$*C.F44-,J42\G2E0:UAH&QP M60BEG:Q=T+AD7TBUHC M< O).X7G*AFP&1T*Q2/-))BHUW8!W 5X;U/5;[2H(ZQ5%D8#\'K)J('-FG,: M+%"NT1JTWJ!;HB@X&[.3&<\'J0VGEU3T&T/J"#Y[,KN!B-+CX-HXOK*?[)2D M(BM(MDP+%9*!)SZ"3S)E$XTEM/8E^!9-?6NB Z9?[RV2:A [:%>ZSPM)?$GS M84"3^LE6:K6H>[K$ ?K5K=G3(9O795Y:KQ %AGM;(M[H\3&9@4>O8Q),V>I% MXX=H7OU:HLTHZSLT51DYZX-45<33@*WU=%>W?>B/;N9?)M/A?Z4X8!DY)7P (DL4 MSJ0,CB0&-'M#?=2YOO^XGJ*^8UH'!=E>XF@47">SV0WN1&GF:7 .3&E-+$J3 M&ZNC D*5XUY3+:J'1U=3TW?$JP=0[2"&1@'U>&I&B$DS9DMAA'8E892 )22" M=3H*PZGUHMLWFMUFE?3[Y%<;6KL*I %\/7I<6'G!4YZ(9*;D_N$O(C .EE(* MTI'HF2)!T]H-8C<@ZR=P*/?!66W!M(6U%_>\\LIGQARDX'$K.I&2W1- 14*E MDE9I6SO5;@TY?<>]#H>MO031(J;NKGEFYQS]+9)-^^E?XQ=C=QB']4+8ZZ;HUN JD; M[ZI2)/5VC?M5[['(91)9&PJ<"+3(#?YB+"HF%?$V2\[IE&J;KRM(V?^9\.X# M+TOM\B!+PV5I!<6#*K.Y?08O(@$F)-I^G(0<:]]Q3RGH-_Y90]XOWP9WYG"/ ME]AL.B_]3^--F*.CD*;?AB$=?1_.!CQR4_KL0F;2HX-@D'Y/,P1&I);4!Q\V MR@7&!1ZA W_W@(Q5:S<2&]]!CI.*3&T#%(LGR=L=S#Y,KMUP/% V*^Z<@BQ* MHQ:A#9A8.@URP8C@3N"^ZB'C)0']P*..3%\"9$\&-V#_WFWD]W3MTW3 M2A6 M.K+#<0Z"^@3.* (R:>N]UVC#U8]5/R*@=W3L*]"7S:EWY&X#T+CCPQWQ)EF3 M72K%5Q&)SSJ#*>6>40K'3" Z5N]9\X2 ?I[#NH/&[MQM 1K+:Q9=A72"7\X& MY3XUOCS_1HI7+0T$T-=C$ GJ6$*LL*'V^^E+*AIY,]W=^*C$X 8@ ,TZ>L&SQC^L MGCZ[$6F-6+([(N!%[FQ]<;2/LN/O8713XD>EJ2[^/Y84=,%0+1M+<&.DU%L5 M-CK'@5H\IX)[:JO//=R!S'[1UPE347R( M6@3FK*,2M.<)!&<2;,+CK83F6:@<(ZG]D/\V58WE7A]66^\:PVDH(#<#IM^ED-D,O)P_G M Z,38U1%8&BA(NFLU)@ZC:0S(O$?[E/M\I-'RS>2GE9'[^S*U@8*3>[;\]Q- M[GOHY4($]3%Q!80QW(AE%JPN/>9XX$YFCW_<66ODY\0TDG%6!RUU6-Z -KE( MHU&QVL;Q=S?]1WJTI4$HG0%B8,Q]^2\OMR*0"%=J5FJW27S=(<+IT M!R?*.^U-UF*C=XQM[JGU)/5K,W>#IYI2: !4+Y@T,,DGB48>*,DE:FP>P!M3 MTBD5BUH)&F/M5FTOB.C7Z.D&./MQNB4+Z*&'P2QNX(;*%67Q MFQN."][?I8P_4X*;*7'-G2.@0[E-"6I'$[F&K*1228DL2/79K)N3UT@^%.HRP#X69H\;D 5E%*2)2,B]I [7 [ MC:15UU*7;8B]B8OY;HMW5\<[=&9*+"X&D656!.^-4@FJB],BSM![PM2-D*>_:F0MQ^[&[BP3]/\D2V*> ]190XAZ]+C@%)P2AG@WIJ8DZ). MU0Z'/R%@LR 5^4D@LCMO>U0GI>)AL&PY5@A?EF'>.\KHRV:", >W2 .+!A%N M7 2O0N)>!TK4LX2"E[4;;ZZR&1):3T>IR\P&U,5R+\M]O'.S81A8D:/T3H F MI0Q**%_B8@Z1GEW@41!=??#:JX3T$^.N+.1);8XW")L/P]'-O%3A)DFIE0J] M6\+QBHRE%1DSH!+/4IJ@C:R=F[2"E'["V8>%SBY<[Q$\3YCS!/Y'XWBWET43 MU@_#61A-9C>/V(8ZF95'Z)(I52Y;Q<%SJ4%RJJDC-JI$MKJCMEM_,T74>D;1 MH030@(+Z>QI>?<'M''U#O_$JG=Z4-/6S_*(P]U;[>H_,#&6*!BW!?9<%>!,9 M,,6)L3HXZ6J_QFU%8 /W8)=PF1Q*=NT"\XZ=+PO';2)<1ND U5AI\9H"&,DS MJ*B4YHIR[6O'JK8DL8&;MG]P5I'?3UGX_TK']&Z[ *Q=L/N6 )OOMWZGU=OE M%D.@7A#QT&,Z$&6U"A!BR.6%"16BQJ^8=YJ8G!BM?IEM26*5>:MO=.I'E3"< ME &STS*A[T.Z_>]#YFSR+!(20)8Z>R&2 ..%A6 ,3=F3'%WM(.K^5#=2T=,! M#E^=[7HX"3=@%SR-+0I.A;(V B5E"G)&XKU/!JB*- 5ILF2UJQ%WB-MVEM-S M8.FO#?-N(XJ=<83&A)_4G$;]"O=6OQGC05[\;G0KX?B_;V:+<8/WO)Y,%W\P MGT^'_F9>JD,O)[/"(Z;2 2O7\:TDIR>,S3[ MQ7 M,?TTPRV>."M?W/@JS8;CEY,].G;2-EGX ,[:UONO[[2M&0=DF" D(>"T M*L-5>.D2+SD%+[)*3,I JRI^3\%H M$2&H:"CJ(\UE[08;:PEJ!$L[2'H5:/9F>P,8>K:'NP9'U(0<%?.@(\,SI;T' M;TV)0^ARO1L1JU=9O4I((YC97]#/'Z3WYGH#T'G4M_>NFU6(RK/ /1!-%GVQ M\'Q9A:K86:G0"XD\UAY;]8*(?B%30;"KNR/OP.4&8+)B+O'=9J1")S4'"MH+ M"2)F![[4=D0>LDZ:"REKAT'6$M1OV*(^?.IQOP$H/1\$>[>+%$2T%FFG7)?4 M(%%F7=-0'K9MM(892VK/BWN=DG[C!?7!4X'?#:!F@U'5=QNS63I+7 9")5[I M*@LP%A5MI(9S'PUSL;9;N3%Q_3:]Z$ Q=2*5!N#V2LZ9T=ISU*<@B4!O(S&" MES5WH-#3"$Q07S_6WWB/S"K^UVX,;@ BS^.U)Z^$V_1-UU.G.@."-M,P=E&*CLC[.OB+0G/ MTG1>Z2)\,11="))0M7MP,92^>^BU&N4-+%J@A^@BY;4M]1TGTW=V$1X24WM* MH!DD/4TLB3JB<Y Z"T&)J#.SR=C:4:;M+FP8. MU8+MMQ,?/]Q,T32Y34"YM5B6I01ID=Z*O%OP8Q#1V!;9L454$429Q>UXEL") MEL(1)#/X+B[][0J3J_'B$P=$>F$U):45"D$O4U)P3+B2>9>EMH1D6MLQ/]#6 M^NTE=LCCT")6&CA":_W1;%PB6CN@20L0P@EPF3&0,E/M4M8^UPZ4[QTEZ*Q% M63-1@FVDLJ=O=SR.7<4($KH7MK3.UZKT#4+:P60JP'+OC?1.,==(C*"SWF ] MQPBVD4!5'!TTP]?-OGP<3?Z<=9S/^W*9 V3OOK&W^KFZ]RO>IV6Z4$IT50 J MHD80>0(F, Z*6L6]%HFESN;"O4)/A1!4^4SPWEI9JZ0 F.@+!<5NF^QE-:AN'VU/9R,/-O@AZ)7+5 MI;@:L,]N!XPL G,IAZP<=4!,&69+N 0K603)K/149>>JCY)Z6+U? '4MYY=S M77=A>@-P>>+E%+=D'(:C]"3 >SG9EI69A>P2'D[/8P 1E -+<_G*D* I\\34 M'@K3Q3[Z?1 Z,(1[!T(#A^%#PI7#\#:TY8US@N4(V63TRYV,MTU-#%>.,.>2 M)+5SW1^OWZ_^[!\-DTJB:0!61]A7%UP 8E_WLS\87;I3.,G(1 M^3;_\7GD;@M:OA;6#P0W4BL>P#%?,L )0U\?O7Y.B%"<,)9-;5!N1EF_K^S- M@;,#<;8SLV#%HY,.6F7//(3L(PB/.\+=)<@Q*164Y2G7GKNSQ]M@9X_?S6&Q M@K@:4) +;LV0\(^3Z8?)C9_GF]%1"),;Y// 9F2$IAIDL+*P!QF5N !!G=9> M1^]T;:-P'3W]/DXW!\!JHFL AA_NEGTTF*/DD[CO[_&;0]R/C-'@!A)8I?%8 M$E[:Y5-N2>V6*&_1U._C<'-PK"K"!B#YU!#^D/R\] (MI^OS-%T/ M;ZX'DBMK'6Z#2HFV<) 9;6&:P!#/$WIF4E0?Z/HF4?T^ C<'RKI"; "5+Q]% M[UEWEZ5QSS=-O'-<"Y"Y)-65KL96:OQ*$DYT"E*8VAEGFU/7[]-R?<_=0?4E7:W4W=3#Q M)O3V%% ['O7+K9V,OR'G)U,\MP-O%1,PG2&P["\I+T M+EP9PR(R$5QI67OZ]FZ4ME;J%#Q.],; MI&SH_'"T,-8'00;&BZ?GE$'3/ Y7 :<4!0DD8E8H3+5_65+]FL''#A#J".A-3 9 M>L7.BAT^6\%()9WWC&6@I(R+\WC:C3()*!/$C3":4<>,$2\$")9D$3ZFH7IVY#7Y.VY,%T92W!-:0MGV_Q1>:H MC-Q(0Q48FCP(%@DX22FP+(E7@E(G:O>&>9.H?N-"?:-P+Q&U [W-V3BPF4N> M4X0<0SE;48%344#.RG*9DN:)]>;']!OQ.3 8.Q):N^[UQ^'8C I(5 Z&AKK//&B=CQ]>RK[O;$/[5[7$E<+9N,CB_@\?;V[!<[R MIV*"(#L7Z7F#'(6T*0B0(@40!(^:(\0!CU%*&WC2]:_G30AKTJFNAHXUSDL= M4;6 O[MMG*=%G_/+R:7[_O?A_$MIMX$L_#B9KDBE9ZC>)2<:F"<4[Q=JP,M2 M:^12<-8'0E/M%I>[TMJDB]T92@\AT';LR\<'\70ROW]+'01E->7HF@692K:* M]^7E"UFJ%7XW"F5B[;?$5;0TZ4YWA;\J FD'7YMS;T"8RDHG"CDQ52:96G"6 M&# \*6)B3"3W9R@VZ4QWA<&.A-: _U*V5?XM8=)O;G2KZ)%CPX"H7T2JQO'I M-Q[]Y.N3>(^_A]%-N1KPB\5(U7,\0< M9:UU#K5?= Z[PWZ/16=^4\,P:> 0W5)]EA_OY&R\%\\&FE-?9DX!,<:"4!1O M-Q60!3$*FP-5)M1N"=C!-OJ- -^7@<: 7^_4B/H;!A1D@!CW*,S M$? >#RJ"8CEKE8*)JO9Q..P.^ZTO_9DNCEHP:>#BV$]C)&)PUVA;*ND706?5JFU"?"LA-C.<9K\M*_3 @J,)J#8$!/<.+[E M 7F,Q]-R9UCUDK' M5=:2U.]+WF'Q\0*<]835 /8>S/U^7]YZ1=7.8F@!0C=?OXX6%X$;+9EX,LZ3Z?6M[.Y+>+0G40<-@6;< MEK4.#-$4D$>6.1*T9=6'1F]&VF;JC/QT%VD7DFD <$]J88?Q-,T'/EDI)8F@ M#6,@&$,N.>) 4I]"D(HZ5_N*?$E%SZ,'NA#VRR+/?3C?!';PLU"Q+\GG4BN; M9"JU?GA=9\W 4MQ-)IIQS73RM/94CVG[T^./IVX_6V9C62B-TSJ97;GS7 MI>UAFL_M3-'/CW9PEN^,*C=Z&/1SCS;#),M4:TC)9Q I>O N)Y &$:,IB[YZ M;6 5PO<>\;L/$0\FZ24*\QU^[C\&Q.;2J;&4\&NT24UBX$F(Z)+HZ(E5PE+: M$B-?V4._M^KA\?QB?&^?F&A1_5Z<_'9Z\O'D_='IY='[]V=_G%Z>G/[V^>S3 MR?N3XXM=%/#Z#]Q;!6]!;R4E?-=YHTS"1;2$QXE2Q#IG>19@-4,D\BC :QM! M248IP[L8_=3*"F$U-7M[GL.K\3 /0RD&?;'( ^ UIRXDRR!*+8L_+="%XFBL M9D,Y^N9H;E2?W+8193V/2JF#DA=.9WVAM*B%SH__=GSZQ_$N^F;Y5_?6+*_2 M4$F'G*=O:7R32OD"WCH+6)3$\/!L)%#EX* XY0 M3O%J*_]4SYS>B+3]D\77+O, 9>F(Y$XQD(D%$$H[<+HTJ%$Y^QA#:=%^6!8T MHF&ZP-#+#/(.I-2BPOE\?O;Y^/SR/XY./QS_^Q\GGW\_/KT\/;[<10&M^JB] M%=)&-%924"M[0=S#2A*; BVP[*B67ON8&@&P];154D>_32;QS^%HA+)^WHSAE;=" M94D2N=20*(F7$443V!HTL(.W5#$OK!"UFP-N16"%,/N*%1Y0[[*3@LL(F1Z/PU]IM;38@JU^EU!V*7@G*5Y50BWKIM[.S#W\_^?1I%V5T M_W?WUD"O4]&+VC$D1#2L"1!'+!K:O$RX\ DOFA 3]UPF4ML@.*C:62[V&ICQ MG% 63 3*2NLZZS4XCIX&H29R(Z)%5'>T]Y]P0?5,98I\4"$D*5Y4 83T=%F+"MTLT6V MM+:?M8:<_4V7%Q_].(B@M.#H$DA6&AAY] N,+$',&'PPQ N\B;O?:B-:I!8F M7IHFE230HM+X,^"& M/!"2B8O*H]=;NYOJZY3L/]72O^JZ4QJ9Y\F!IL4$3['T03$<=$A,.TERX+7; M.*P@I5]=4$'^+Z=0[L_R%C7 W2/PQ>>C_S@J88G3#_B=\S^./WPZ.7IW\NGD M,DWI<<_$6\K61QW_WF?KJ%8B)DSJ$DF8$(C($S M5"*,$#(>_U2QV@4^^]*\]^#3#=9_[8AQH1@Q!"]NPO'8AI+M)X* R'4BFD=! M0NUV2#N2VL03^F$P^6(@Z@&$VZ+^_'AT63:26&^ M_D%[:\@-Z*ND$C^ZX?1O;G23'L3\*(=#$D*LXPBHTEJ04P(V,@I9X[UIN'52 MUS:]UM&SKRI[[;,?99.HX$A$=R/FLED;9)D@%($+ZBFCB4A6>P#?6H+Z54O5 MI[X5 M@7M7[&ZRV.,;E\B5BX&""*'(BWCCJ=6W5M(J6O3O3/?O<1T%27]+Z4P(F M\!>AF<;;/BM0D<4@LA"\^A#VE<3TJUNJX.!%A[@JC&]18[S[X^+D]/CBXNC] MO_]Q_9R]-"!=#%R9#9\41TH1 M\"X2NM3[>W2KT8&WQ#,P61M/I<5_:@>!MZ-P7TWSRFJOW9<^!&O1R(<<2\*< MR@(>DO MZK*.H79X>Q4M^W<4>?JY#\ -B$_F?2A=KO[RN) MZ;O=0P4S%K8\OJL MP/',01%O\:K.5-C::82;4=;$2]B^*'EAS]072@--:"[258E!G:>OD^GJ3:%. M%51$@QZJ8:C(49L[+2GHZ$A.(3'IJW=CVX2P?AO6= 2T^B)I &=_S-)9/I[- MA]=NGDHW8J_QYA8@K0G('V' ,\L!]T*TH,$34[OHY"D%_8XVZ@@Y>S"Y 8A< M3ETLJ0-G\R]INLPH.$;='7%51-! W@Z37\^8M-T,L8OPVW/ MHQ57=_9$6NX@6(WG)9?A*X$%D)1*3?'F9J)VY&!;&ON=$M(1ZCH55 - ?*/_ MQ M/A5,39+$@@R;HK@0)AEH#4D=J"1.J..QU8;@=A?W.\>@(A!T*J0$(WF=E M_9Y%L.U?GCU[F.[#:Z^1GOWH565M.J<37NRB)O!V*[L&K/D/PYF[NIJFJ[NNSG=L?;8I M*FQ2S* IRLJ8(9DY&"Y+_?CMS2YFKJO7X;AJ QI?;Y5SQQ)C$'94]DJ&AR)*3"*B >GN]MWZ#^RJ86J']M_;;2]5XE9QP2&5KBU" ME3EFBD1@BAKK9=(JU<[JZ:]MZJ-N5)ZJ,LL(I$G%3& 6C.4:@J"IE$0GKFN7 MD+Y-5>LM4K?!RL8M4G>328OJZ)7FH[NKHM4?UD63U Y5T';=YRRQ6B1I 56 M'B8-0DRC866E,X%8$DGU!O,'[5GX$'/Y.!P/Y^G3\%MZL>RS:UIGX:R/&J(2 MK"2]9? N6@@N>YN\-#;7'K*] YD_4X_#;5"V.FK6C01;U&S+IJ:[J[-GGU"M MS6HSBHLJ':-6'G0)D I#T!DDJ@1B*7XTSZ6#^'\/Q;5<]M'%33G+R5#@G ?T M(V(J=9 ,>.+.$"-<3+6?+]:0\S,IHFU0LUH1[2>1%A7.HP:G^YA0SS^D9N/5 M#C7/NE:;D6G"72 06$8C62H*!B\MR+(,54&\Y.K&0(?M5Q\P?+_(70>M9S'AARA+)X\+T4.A&A=NQ'!/O0VD4-Q&'2N5J8= MB[E%!?MJA\3=->JZC^NFFV.'.G-M[[Z(G@ /.4+T4>#-JCDXG34('TU@/AO. M:I_O@_1T? 3UNT3)>#8^3^7 #<=7BR+0!_0GABY+%GCB%J/HA=/@%=-@F$R* MH'FA:.WWQIT(;;@'Y#8X6IG2VIG06E19SYN6[:ZM5GQ2];9J'>JHE4VUB';2 MT9P@Z+Q(E4Y@0W2@I6$D!!*CK9TFU55SM8<+^OD*!=D!K^D/P]'-/,7G&9'$ M!V5*XH>29;JZH> I(< 2TUZ&'#RMWJ%D-U(;;)X8Q2O3USZ\AVWD]G! MENL^6F3V[L>CWSV<#B:(8S*BC4!Y!&&1*^AM1+"))RZ-3]35-KAVH?.G:O*V M#=)6:[F.A-A 0N+#'M&BG%R-A_^5XDE$.0SS,-VR]7;72-JCW-]2"#&;W5R_ MU/#4(,L]0[TN.6KX[,&X&""@VK,.C>%(NKN6JVRAW\S:7N!]>-$W@/Q7SO3G MZ>3C9'KM3L:Y_.?IP4YHGV@7=7DAS""("6!+D^HR3Y%F$C4:-QW=61N2V&_* M[0&1VZ7H6C0[U]9-/N^H]"'-W7!4OPATU3K=5H5NM+ONRT2))\%$'4&Y[$#D M,LRCX)91(IT@.DCZ\W3@.[VY]FEZEL^^IJDK"]PQ>3;(C#)A:(EPEZ9*W)=^ M2B6-P25-#!7:5Z];7TE,$X\6^V+A19>.*JS_Z734R^Y*76FIU2MUJZH5FGX/T!(A6>,,Y@:X')0$:ZF@TFOSIQB'AW?YA M9R+ZZ;08N]'L(\<\J6)[8L0@0A M9)E5Q!)8FY0DD7#*?IXN'L]:0BRR%-QHH+01C!D+A%*/A]249(1 2KFK)#Q% M;ZLK]M[>M\,AJAOOX3?V!@ MDO).<%<2%'&+@G@P*F:P)%MJT"]WU?,[=R"SV6;(^X"N:W$U@,@5YRHPGK7. M%F(4"M"YD6AL!#0&LO:6,>FLZ* (M#EEUCD -M-RVTAC9TRAQSN<1-SG=-XA MLAY,D9/9[";% 2IPPDV,D+DO]1CHJ!LF!-#LN(S!<2IJJ[?-*.M7H[6!O+VD MU:QV^^Q^W,9T!).J< 9T+-:#H@E,LNC\D!!5EH$+=1@MMZ2HWQ>"-C"WDW2V MQYJ]Q=JX]*^Y^]FN[M)@5;3EH! MKJVDL>==>CR.W40YEMWQ<&,SM'&+EU^ZYPS'RUXZC]Z"]XAN[+),M 2%KFIS(+WJ ':HE+0K@8#?U9^P-^<>.K=#)^;8W['G/W?&"! MFN!#*M,7. CTJL"5T@PCH^,Y!+15:T_IV8K GZ,GX#9H>M$3L#-Y-6#)/=P> M'^X(N&/IX^O""2V11P&BMFB=:H.Z/2D#E)EHDQY"):OIZGFJ?'>P6!DN MJ22C!G"WEFO+5Q,BRJ!)@7:)+69*>9KQADC@-IJ,FY/U5?-Z.ML9%\;1M\VHFD\QO>TR_ID MV65]_ZC>&Q]<*XZW#?T'CMS%(%/6*2,V@@'!T.DUWD9@DEKE8W+6U8[+'RAR MMZXU_T"7H'E& T!PAQZ1L1I,4!2LB4EI14(DM9W5=?3\''&Y;;"RS:"$K:31 MHV$VF\Z7#RIGTXLT_38,Z>C[<#;@F3%KE 7AE"YE0AH6\4O'M6'<:RWR1IU8 M<(%'2,+?/:!HU=K](J>>5"<56=P&1&9'XWBW@]F'R;4;C@?><\NTQQ/C:4*G M-UEP,A+PZ/5&H@Q1;"-K:3.E+@.S)X ;BJG<;^3V5>IM!8IP3 MX0G$6$IJM'+HF48#EBL1>#(LR]K]G)X0T#LZ]A7HZV_?.W"W;^?_CO([;?H9 M&3'';\W3XB7XXW!T?;9*;D+3IZO MTV^$NQ-X[,7*ME!Q-O^2IG>[8)ED9W,"380 03DRQGD.)$@AJ$R&B%T \6B) M?J//G6!A5P8V8&C!EPNM5H$56 D_$UWXJ>T) M/WJB.T-C=^[VK2'N*+\#^,4DS_]$'BY5G0HY*I)!YY)ZFE)Y-3:Y] QR/N80 MJ34;*8EUJ_1K4NPAN4D7;&P+#^]OYMZ-__$>B1C.9TLFI8C^?(X04NG=R:P" MY!FJ/\-(F*B@"8S8)8XZXAG^)L=X+&M^=G9,W0GD-B5@0V8GRO"Q)^&XW0R3]>S M 8_"ARP"J$1P/R4(: -#A9@)^MDD\4QKA[[>HJG?RZ=Z8+T3430 K3?>KHZ_ MA]%-'(ZO2HLW_'^\=-\'F7AOLR7@1$;^>6; 4,' 6,M(4L:20U&4TY2V4QB,J;VS-@64APX39E*8L'$K-"K$!K]SF@@\QR\ MXHK8<* []2=*<=@&*UNE.&PCC9[?KR]0+(O\M8>C[$:+!UL="2=($"@D&;DC M"1C4O6AVBL22)9;DC29PO?%^O9* )J_$'>0[J7]% 0)I7\)<4!5ED;@KXS7L!4?K]E/ MT+>^]/?B9=]1_]^',8[2L9O-C_(4&7&W!@]E&35*(Q'[4V-W&@J\ANNVP;'J;M. M9_G)'N[#/QG))H=7C+<%G]\?V) MOY+,)E49V(!CA1=M2.6N+4(X'\[^\>[')?[5Q?F@2@>E50)B,FY%1(:<,>@% M."I]R'C5^HV2?[9K#K>*G(8]]5UNF=H":!%+92-WIXP%KWU6$6SPN<0W*=CR M#HK'P9&HG=2TMJ&[AIR>FYG7$OE;4-J1_RU Z4ZIOMC2,ER>E-+:.S!9XM7- M% $K@@$6!"I;9M!#J*Z:UI/4&*1V%?US2%640PNP>GGRWJ5Q^'+MIO]8'+^L M$Q4"[VPNRQM]= E,5 $,3T0E$D@6'?1#74M3O]6QA[SW=A=%D]!:[N;N&&9N M718N C7)12:5J#V^>2/"6@/:/EC8[I%C!\$T@+8WGX5B M)-+8TDHV$72:\:2"4P:=7A$(D]1[LUEVZ*%?_9XKMU_T;T?=BOON](3\)-%CQXM>O^@QS4CCOL$F;#2 ME-$3\"E%2")H00V:>;RVU_4F47NW[+MC^EE>N=3MY5#R@"7+&JAC>-C0'@ 3 M\*XP*;J@;6#$UJ[SWI2VWOO%5L3-BZ9_7!QG1S$W&:4!%'T"0 M8HUJE4$3KYFU3M'4P/-=#RO\V(3DI<9Z]:"Y66^"<$-!6:I#;5;XJZFIE%@[2KX22=2: !/[R?7 M7V_PX^XYM"S7#(''\OP69,GE1YZ4CJ\.'.&$1>(%";75U0I2>N_(WBF2:O"_ M 1C]+7T9AM'](:!"\RRY0OS3XCSS6/))!+KFBEIEE9%KVR3L@IZG%/3>NKU3 MT.S![0:P\ASJ/%D7@[$@:41.9)_!S:35P\N6,2%HB>=$>%58 MQ2R>$RXA2B>88SKIZBU?WZ:JYW$6O<8G=Q--RV#[;3J9S092(D^BHQ#QE("( M- -Z#0FB5I+HP+7C!P/:@J)&8T<[RG]3>&TOC :@=13"S?7-R,U3_)"0B#!< MR F_'J6%P,;QZ'HRG0__:_']E9L?*&6CD2Y!2!&M N496(N:/ K4WUZH*&1M M$-:BO=$ 51VX]B+@!H"]*+(6-*-=:S=J M"E5#8R(]C0:[.M:7VPIB=U!-YFYTT"2=&IT3-OWHKA)N#M)9X>WTB,Q(X"YX M(+PTPY>EG91,>*GZR(UB5%)[L&?7:MT4'BGB0>0T$.HD!!)"";WD,N]1020\ M.Z&$]V2CBO=MLE ?K=^HK;:3_%^DG>[*YYU5S;??I M^.CBXOCRXDE6W$G)A;L:HO-4.M',9WMHGIW6V5L-[;^[2CKIM\DD_CD.NW6<"5S8,!]C*78DZ+3+@1(%QT/D;%(:[-B<^KZU7/= M86IU2F!5>35@T:_9S[L?MTT11FYVVQ7#:TD"=9%R/,4FX[$U382'S96FG4L^VHR2HRW>)1528%3:'6X)#AP MQ:22Z%0[7KO0>TL2^T5D9U#9'))[RZT!6%Y.74RE(O!^IG.6A<9(7SSR\NB58+8V[I[3T"RP]A?XI"+W&T#/31 + 6!Z,P97DPM"=."6. MEUE1@L8 EI<9$J+4RHG"UM"OW&T#/L@;]/-T.HI]]&7Z= MW1\$)21G>/FS,LI<+E*UJ08:J"]]Q05GM=^4U)PJK0!)4J:@(P6G(B^C-)#QDF:F*@-KC7D])O,>$AT MU9)) _!:P[:'E]M G;&$,: VFL(K 4Y3=)P3D1G=Z!12[=>E3>AJ)0VMKPC8 M;@)J&W2W^4\YH36)VAAO?>'*F$ &AD@%6D3+BW_":/4BQC=H:C8&L2,*-H?9 M]B)I&V*/DID>)RT-:$HN"%NFDI9T49,S>*,X^*B\T (-4%,[26![*IL-770. MPQIB:QN8)9>)HUOM(V&@#!JF(A *WNL 6> _!-GJ6>T&,.LI:C;(T3G@MA5' MBZEEK^1#U$@KV^1CN\CE.$@ZV9;/[ @!)A$2SM*2T4HCV&02))87TPI9KMX: M_J"I&X]U[=F+%)J!]&64E;;4EM/T4^5HK$% M=EZD9->32XN-ZWX[._OP]Y-/GQZRMY:LW4-MO?VA>RNM+>GN167QA#=C4@&H MT!J$E!Z<8QJXY"YE M<"(3D'C&1G]&O_WS6R^>*@:2"ZU! M2]Q%/"O &4%?EA@-WOL((203@S'9R-H-Z[9+=IAED"15S$IK9=YH0N\VJ5,KJ6G# M%:N/F1>)4W7DT6)(\>3T;\>GEV?G)\<7>SU]O/B4"B\=ZRFKI'E.QM^0MLGT MQVO1'D8B-YI#B**T@RP5,:3D]^;(+0N!4U,[/7\-.?MJE?N//G=__NX04T,W M*N]Y973,+$V_I=F RY@ST1*DT7B[LLC!HLD%WB0:)8W>DMHN^]M4]:ME:N'C MN4ZI+(T&K-[['?U],OW'H@M=0%WY=$O>^&P=9>4MVJ*Z%+0\\V@@90*IY*B* M=6V#> .R^@T-=8ZP2O)H"6(E0V'V)<5B SS;DE*9NBP(>)[QU'A9IL^*#!(Y MEHPA5%4/36] 5K]1HLXA5DD>+4&L9+JP&+(3Z%Z6=^.2Z1+0NC,"E*3!6*]I M(K6'+SU>O]]X3^>@V9;#+>82?3A^=[F'X?SXK^]M,:^DI9*I_"'Y^2M84-YF M;K4&P\LX0$X%^) ]X())$$.U2[6S75ZG9.]VZNC7WB*KA_*,+P]%P_N,V M5YT&+H/( C@3'H2-"@S)Z.\904/*/'EI*V]Q)3$]3YW<'P,ONJ=787L#5\?3 M+2QZ*FAG#4FQY.&*,H2"HPEORYM<\$SF9%Q6M1^M7E+1+V(JB?=YH>1^O&X. M+?=-P*VB0B5(Q"6\5YG'/2B/QI(O5ZI1*=;.0GJ-CIX'F=C#O=4IZ M-G#VEO ;D-F!W2V YM%Q6DYCDRY&ZAQP+6PIE\S@2QZMB58XX1CEHDLWJH7+ MJ89LU_A/.S"Z1ZC,IO/!N1M?W1Z9TN=>*$HA4XY7-+4E*IT$:&\%.I-)!KE1 ML T_]1$R\'Z<;$'\RP8WVE/*1&E R$I6(2'@2## */4B M!"FCV"CW;A, ]*D+]A#6!?[[<#R\OKF^(]S$B "W!)05%!$>9)D& M3( XBT:U9<;%&B)_LFC/0M]%9),:_.M;\.[[(\(#DT0))\&&4IZ\J/>+(B/J M\=J2TBDOPCQ?MQ[VH)OB=^=> ,?@W-QV6R^W3.-!9:&45DF2GA69D: M[\!'@K8L7GV9?QR. MW3@,QU=E/Q=G'\_O]B0I-5JD (&6P5MXDX)5'#<6#)X=1:*DSP"S8H[QA@OV M&]:LA(_..-R 0OD\'5X_!GVB)$B3+!C'6%&JB/=,,T@;M!24W7TG:W,@[6492C-V4#DDHZ;7(*8/9%,YIA=[02JMVAJ M+V5D>\EO *>=Q="WJ?,_+]Z]?^?&_WCOQBZZ9?_Y'*.RT97G;5EJD1+>NFBP MA:Q8#HG[2/-&=LUKG]X>(G87WJ0F)UO5,/>= )U#)9M$ &((*8]! ;P5&:R@ MS N6LZ.UJYC6$M1O2^S#W56[2:!1.-U%']]-IM/)GR45QGW%/YG_& C<&<^, M0W(QX%%) KQ4"61D*0NE@O.',()6T=>@VMH-%AL KHJ,&L/?@/JHG$#O@ F% M^C@ADYPB#G@.S-$H@XK5DTP>K=]>2E)]_&S%X\;PL>3*^\GU]7#1G>9C2I_3 M-!0Q726T&$4TR7%0IKRV9(EV@8\)F->*>),CX8?(W%]!7GLI"-UIIQH2:@!\ M)7'G9#R;3V_*5MZYV7!V@;2X>#9^'#:A R%4E)9Y",PJ*$DWR+K2,HG8R+E) MN-W:%^.FM+7W\E4'=IW(I@',O<:QDS%^?IK-%V]"\\_+CC4#+;CA,4E@6:,C M%)T &W4J05BE)1>"^-JYX%N0UUZQ*([BH M0M8F,IJ4(7HPUB6@0E#'=$A>Q#V0]=J:&R'* M_+= U-XL;[$/UM'[]V=_G%Y>?#[ZCZ,R7./T W[G_(_C#Y].CMZ=?#JY/#F^ M>&A??]<5=?;9_2A&I1M'_,[T!K>!1N9MV=GN/0&Z(F7O_@('X5&E7@7/5C]Z ML?HPS6X[CL[QS\IDS+O?+"O:@V!6!&LAZS(14Z"+8$C.I=&D^O_;N[;FN'$= M_;[_A;LD15'4RU8YB3/CJL3VL9V<.D\N7FV=:4L^DCHSWE^_I+K;EW9?I!9E MTIF\9)*) X'X0! $0(!KB%.#?/O18WD>/=7DY?>[^<;+[UUS-Z-1&]?GSCW MI8JY/AT*:&:W)Z)<(>2[J\X.=L)&==]4MUZ-./$$4@37VF-K#:L'K;MAQYND M=VUDABW?*4BA,(#D*7>!206X83S'&4,P]]V/;B]382/"077/+V 1:.#'JNRD M\L^BO5V-WGX\GE9KTIJQ+-<(\!2Z^6D*@YS;796G&&.#[&^E]QX>/?@*&SL. MJH?>80M]M^G:R3:% ^_W:J8$EW]8P7:]]E?+D9F J3 4V/N:RT[G!'!!.1 : M*9TGB?U+T>M.L_];89VTQ % M!!08")%"#D5.L?'="&(HCV%#R#'Y?G[AC%)=MR^-60>#6&$![ ;)$^2JRV&J M@=:0)T(1H53 ^UG8>'5D2NH'Q!B[/WX^.KGX?O3EV_'7XZ/+;Q?V/Z=78_JH M[Z0W.G[3GUM/09C/O*B_\]EW9(/\XBT3C?BK%- ?VA M%)/N?=7<":J[+KU>WZI,7TF=XDP#(ZFT&YBG@!-A *<2(XXI)&PR%>S#8"2: MZ%%#MBFA=[ABTL63\G[>-IW$DM6C0Z&,<,VUN+W[V)V;V#N\"T]2E":VS[7^S]R-+5RTJ349E53E &LW%]-D M]KY-A+#7&WL1%SA% ON>%]"#K; 9BP#'JQ=\8E*Y30M:[LZ49%DJ[&IP0K$; MQ:H 9QP"2A-J.-=N#-D;G*AK;$5BWWRI0H]#= PND:I:<^':/;BYTJNVDCF" MF$D%#.G"0BP'>6:O7R)),(:9SD3R)M[;&E^1*)LO9>CCL8U!)B9MVWDF?'FL M8%-449:E$EC[SZT+(A+ ['$ $!2*:,0U%+Y[0 UD,6PV]LW/V EPBT M5_,] M/U9WHB@[]%RJV6ZSKORQ; H+XS+HNLPV7_.4"H04 1IJ-Z3/^LE<,^L=(XU3 MB)!)F6_5/(#-2$SD%&JSWK]J8@QC+%X]/KHX/3G][?+\^.+R]Z.+XQ$9B&VD M1BO'H*>]PS.O2 MZ93,9NW M6CT*@642,9IKP%2*@#7YKG6H1D#SC-A;.)-IXGO&S,',AK5;7O3HU3#I-P$N M@M/TQ4*OA:$4A\B$?Y94EF[_-9#I#. MS&(RG5VIZ7K/,6']C!3YMG9^. \;M9O$] 6 ]!TILGNO+J^Q:Y I,0=V/L00R&M:,A-.A )1X.Y\&Z:CD1E;?YQW(18^*S MY>'4+>RH;>M"S-O%L=7]/]7)UVSQY%/GIK$2CG_#%J==1%%#5AB;[@P84F:VPLO9KY;' [C<*QM7"%T M]HC0LX\T'QZ>_6F97">*,S MSVMYRQM]7A=23Q8:V??!B<,@@]8;)N3!.%5$0 RL@EE#2K$!;CR4570)#14J MS[T/TXH\Y$$)$L3DN7-=[%Y'&02"4-?2!2J2(D(2X;NF]J<.>0S1L-$ACR'@ M171\KU^U(,D0SDAF#YC$RDQ2;-T;*0'-IX8\AH 1 MJ4Z]O)Q13M(\MUY$1^\>]]D+^5.XEGG.-;#6^BO_=U5_G'$K1;>Y&,*<2)$!*IAKYBBIM=6N MS$!J*'-L4(*]O[[NS]X["XB,.?BF BUN?7Q:V"F_TX^]8:P_JHP"B=W UN"[ MURD2IT P92_F>9XR[+LD4*=\81*!>EW. M1=.U>VF/?]A?KNP_6[3I,SF3&%( H<2 *(4!,WD&DI00(UV#(>_^VA96PE9M MOZEOY@.,.'5JN>DD4PQQF *8)M9+@-1>=9@0($V82$VBA?;^CGHK,XIZ@ MWJ\^!\@]/@5:M8G2;A)?REP?J@00*@C@W%Z\$T;3+,."I]JWN[Z1D>@4YQ"0 M=ZO. 1(/J#9-W5Y?6@2ZAWR74I>\+JIN-V'-$Y8+"%*2V\.8R13D5&4@RT1* M,4P)@KWF+-@O/%,7^Z321"61&Z00H;-R3%R1=L4@.*#.:(3.2&G7DF,%!DLZA"9WL/@R4" M%=M:>T$D2WF6:_=JT^X\+A00AA&04H2,2@6$RG=Q>[\ZG@C2=P>BO3X=RH?H M(U"AU6# JVJ9UEQ)3#>_U:[;EA8<4B@H0(PC-PE5 GLMI8 +I"DBW.3>>R7O MXRGPU&0OR%<3PA"!6FVH%;O0LKHIB__3ZD39I5I'@3^&99>+5K]5E?JSF,V. MRN=3UNS/S.^T.M5/@]V80HF5L@89<3,7A';S>;'KFZ"41@3*)/<]QGOB)84- MF4]F)V-2A/>[+S:*X2-O;NU?'-L?^<%G7>.BE&J<&>MB0VX2:X(8!DS##"1" MFMRZWBE4OHWUM"N*PWN(0GG];*PI-.EGVU?+(:+=3UHJV@K%_LOFFAB>J4P1 MX-Z;V3,84<"8Q4QDQ-K'C&8J[MVU95UQG#P__1[SH54_V4X[*5V&H:H?KJVU MT9!S87> N]&[MGMYYA(-.780B42F4[W&]KJ0L!GJO\M>.DQO?K+-\\*@G-?Z MGA?J^*][739/ ]6[O[O64&,E27<3E59(, 4Y9SE(M,@U-$I!ZKO(+,A"PZ;9 M_BZ;;QJ]"_W.P:>$/A=_:;64 95&4&7L<9YR>[JKU/K1>8( =S*!E$*V_J)K MRQ.)B1@,&_F/<<]$HPX_V7GU5(K97&<$(T[LL8UE^S_U7#__T6LHTX1P MJ !*,@(()IF5L,Z P&FBW>3/O&=KJ[?FO)?BL[^3XL>O0,-W5[[87:6^X:U6 M5Z&]GWWX76.L"-\;&47OLK_SOMKYAT MY_!SJFKY[.T:19WRNEX,4?7;#^H5W4G:/NWF/DQW)YBXQNV8 (-=ZW[*4\ H MPB!+F$:0(\;4^VYHO=HO.Y[ZK8U0^=9H,Y]]*8R^-HFK4>82) ETSSYQ"CC! M"=!:*(@E0R++/$MG#+_1YNN$N%2(DT$021!,. MJ?=QN-X7$5TJ>BI5#PO_N]'_U721L]H-+NDE!ZEPGJ;">D30WC<(Y@PP*P&0 MYJZECDD@1;Z?!DZUENB2R6%WP\3*$,&F6(UY>RK^71V)U\+>-C)%,> BL2L1 MU-Z@[54 J(PB@S&52/HND-C.372)UJD4TQ,@$:C6<6-%_. 3')V+[$;V8DDR"81*[/5/9]JZOS #)D&I3%$&-7Z#84'K;+VOJ_L />KQ MJG(41!&U\WZHDT\'"X8CR%+[]]N#S^Q[?CTZOC[_:7RQ$'[392H\_27CQZ.B[7 M&M8\#>!&%"]^4V7GSWT>J>P2N)A+ Z M"PQWPY:PRP7A+ ,I09ACF-@_3+R^"*82>$%_7_NLP>*.\_SJ6K<(NW8.D;1& MEFA@S1UQTWX94)HII#3$)GN#UA,1S!@8C7'/.0)#!!ZIWKSL>.ZZBQ&D&$@I MIO8::V_%]@*K **IR)' 2F13O2=X9W,$!D$_>([ $!Q"UZP=S=OJKG)I\K/C MK^>6^W;5_KXJ/Q>SNU6/'RDRGF "B)4/(-#>$83&">!,8L)@3BAD^YR: =^+ M3VM&(%Q-*^X(3-/63IF44;O1"!")T*XD&-H5X!301 B!B4X4]SZM>D2'VNFF M!_@^TGP(/$Z]66XPA:F0.A>64KOJ@OM()![=:$= M(O'XU.;+8T<=I+6&(B5 ,^;>L&"[J;2! .D<0Y$G7*>^WS]MXR5P3_6)3ZS# M1!Z!Z@R:'JMIIBB2.>"I87:CH1P(8H1UZ+!@&"DAY!O4O$0ZX->/1HP9[CL$ MG@A4[V7.FF6YX$Q#(#)F )'6$^ $:V!-N""$"VN0?6<7AY<*O)5'[4=Y#A=P M^'1$1[O1\K]OJA__HZ5:D#]9J+X;L%.4-T>UU?Z;KFETCZS$"W5Y3GFA*5(] M*]=%L=E*JXD>AYGRVFIISJ%RV$AP3L;DHY"VOU<=Z M?C=[V,3@ELC+IG\7Y #8)^87 9,=JSUXT\W&6&/'_2M]?/+:QJC*#K(CF'TB M]^'!RGR1&AK#YD:"P31I/Q8K?=HGC(!'_$O6NH"5'X3"I7/V2GLC*L^7'A@/ M:Z(V'#A^3H3MA"/ Z@4&U3"!!,;LZ4P9O8?62 7Q=H?LHKH1857Q:UO/KG1]UYR9JUI9^*ZL=_K!_NT?H]1R!]E@*CKL"-XOF. 'L>/* MZI4;13GR''Y.*4A [Q 7:Z\O2 5Y,3,"E!<""(S*Q7RF$10I M+;1#/(P93A.>T02&+#3JIP"LQUD@W1A&P[;?L%$80 [ MOI8O*3T8P1?D@K0B.]00;A)$1,;PJKXK6[^V\!G)(+VSQIG"UP*)RQ)Z FP[ MU2#]F$;;P>A@6UT8ZKME46#U:;Y(O'H Z9%4+W2B M"#9ODD 4L%QJ.:\7/,+QVRKWJ)81? M*:)0H+Q1BBCZ@IM?.:S^M^137?D Y26EJ,N.MBX\HG-%MQZOP#L)!S-JAWH& M?<04VN3=W+3+18V]=:V1"I9B/!2MS:((C,^*H9+/'IJB\9.XWTHT6 9RI.^] M53R!T;ML_SBOY5E]U=3'35LL>E1^U>UMI?P@V>L#P?*5AZ(Z1&R!$3Z;M];& MEUU$QY\IW4XU6!+S4"SW"BB> _"T:O^E'T]J[6F+]OI L(RGA\-RK]@"(_S9 M$JU*O5JICV*J+22#94,/17&W:.+"[=-<7U7+(:)VG:[GL^QG.O25:UPJ8U**89*-YP;FT\7;0;87OE&%MO;+*#X0/=^CU\GV M C&J6-=^&464%:AT8^^%%[IK5?>8#?1BE =\IA?(486^ALLPUBJ@\Q]350"] MI.RE^F<'LQXJ?\[YP_?F7-?=F*)2:M^%/WWHC]C75CCC:WT>B01+N Y X?F. M7%]]Z(307UK.7=/.C]9,W%3UP^C2DU8>/@B'\O2J1*O^L1AV*A_7U7=?7SL]GA)*5@9U:[=L7&QH0&8S1[9\K,U MULF%.]8WBKOJL_;0G6LT7OB.9U@16J[=L2&A89V:I?<^@FZO:86[M@> M=X^/+7_QL;K4,RU;K98Z-#IUL9EBN(/D,+QVRB7T/<6RHAZ=^C-C"FGI?B[] M[+7]U,.9P,.P["VOT#93Z_JWNIK?GS3-W".BN^@&J\X]U([NEU%HBWKK.D*J M1T9]H;B+;K"ZW$.MZWX9!=^+U575\IF/// ZK6#EM@?ON8VR"(_0D6SM37SV M<,X+Y0FH322#%=8>CM<.R82^*+N;HN70<>7+-&ZC&:Q>]D#@]L@FM-NYB@P? M_;CQ9ANW$@U7ZGJHE[E'/!&AUW'VS$+X!'$3[7!UJAZPW"&L&$SI(ZO>#>I6 MRN$J3,?8U7V""EU9\9]YT3Y\Y[/Y0I3V>G.WZ.Q8&,N,MJOUA>[ 3X4K.#T0 M[L-$&?K:N&9FOC?=(7)Y:Z5T6\VLE"]:7S?)89\*5ZMZ<.SN$%%&A_^I;D]* M6=UYBJ'W^D"XDE5O6&\76W0(OPHR3X7TC@_U0CRJV-$!8@S=:?*U^7$K7P:_ M_(#>]QN]\(XI^C10>-%M\K/V5M<3[^_-W^@%=4R!JX'""[VKN9C/>/VE:%J/ MJ>[M5'O!&5,X:Z^ 0@/XVK*,[OV[F62O:H68@EF[11,\\K\R_OX!W$>[%Y(Q MA;)Z"BL@I*NAPX^.^Y>JV56O=T>X$82P!KIWB">SMKGO?8[;>18"^X M8@I [1)+Z*?.SJ%R*_($V"9ZO?"**6"T0R@QA/B]M,=\3J@70#%%>3:)(;@3 M4HTNE5S1Z(5'3#&8M<7'4>8]&HZA]:HXIC!)A&6J5?F;=5R6C'W2C:R++@WC MJ4YU/_E>(,84 .DOLN#GDBH<7WQ&(/[QM#I?Z>=]U'LA&U,LI+? 8FVH4-Q,UUMC\!2\--GHP[Z'1QN(K=]TG7BG#81MA(\4Q^W9)\&MY7SBB MGO;K5JKA'JWMPN+%QMPGD="6=L6?Q[[=VVB&>Z0^&*THVW&ON#NWGVWKNW+\ M',W-%(,]IAJ,TT9)1(*2V_$?RT;5_F!:(QGLH=1!UN^U+"(!ZO?JSR?^_%K M+:2#O8H:#-QNV82^F*_.U.).J\]5UXGN.Y^-WFZ[Z 9["M4;NAY2B6'C-1^M MFZROJD=V_>6X^] /]DAJV!;L)Z5H\9P(QG!/ICR@%PEH85L>37T@Y[6>ZUBW8*)0*PNFJ4#[S1W1M5739+^=7N M=;AK0MQ\>'CZF7/^T,T*<8MY6E&ISF>\=&F/3]4=+TK/F$_"8I#MO5L9JK=# M)@+%.[Z[GU4/6E^VUDD[NU\,>-MCR@_1GNW?"6(]W@3=:J"H(U"'CK>C>_MY M672BN"AN;MOF\NCB5X7TL/^>B(5 MKA7!,'!>+3X&1'ZS)T#KQH=_YD7MWE=[@&8#S7#]!89AM%T<@<%ZN;,?OO[1 M=JKT\;:\.9?CS-X>TN%Z!?2&KI]P8BW#.2F;PDKQJN9N$M-Y-2NDM=SG=26] MUN+L^(R7@IR^R_!0E;/]4Z_4Y,#@ZG[ZH\+ 2_+J.>DC5=VW>GSB>C_U@*'( MWKB]C!KWE%?P\/XF/D^K=LFJGTQ;_Z\$"V=ZQ7F'_*:WZ,N_<+\(>S/^W__Z M?U!+ 0(4 Q0 ( +9":%>A?F9OR < *$F 7 " 0 M !A,C R,W$S97AH:6)I=&YO,S$Q+FAT;5!+ 0(4 Q0 ( +9":%>M+8VI MU0< "@F 7 " ?T' !A,C R,W$S97AH:6)I=&YO,S$R M+FAT;5!+ 0(4 Q0 ( +9":%>*DVKXBP0 +84 7 " M 0<0 !A,C R,W$S97AH:6)I=&YO,S(Q+FAT;5!+ 0(4 Q0 ( +9":%>, M7BO"C00 (<3 7 " <<4 !A,C R,W$S97AH:6)I=&YO M,S(R+FAT;5!+ 0(4 Q0 ( +9":%=;8DX$>_, %"1#P 1 M " 8D9 !X<&5L+3(P,C,P.3,P+FAT;5!+ 0(4 Q0 ( +9":%>@H[P^ M@@P #> 1 " 3,- 0!X<&5L+3(P,C,P.3,P+GAS9%!+ M 0(4 Q0 ( +9":%?#PFI=61@ "_I 5 " >09 0!X M<&5L+3(P,C,P.3,P7V-A;"YX;6Q02P$"% ,4 " "V0FA7LKT'U#HL B MSP$ %0 @ %P,@$ >'!E;"TR,#(S,#DS,%]D968N>&UL4$L! M A0#% @ MD)H5^$U?[Y(+@ G3@ !0 ( !W5X! 'AP M96PM,C R,S Y,S!?9S$N:G!G4$L! A0#% @ MD)H5Y:#BY[[MP P\$' M !4 ( !5XT! 'AP96PM,C R,S Y,S!?;&%B+GAM;%!+ 0(4 M Q0 ( +9":%=GXQRL\6D %?+! 5 " 85% @!X<&5L G+3(P,C,P.3,P7W!R92YX;6Q02P4& L "P#@ @ J:\" end