0001767258-22-000048.txt : 20220809 0001767258-22-000048.hdr.sgml : 20220809 20220809080049 ACCESSION NUMBER: 0001767258-22-000048 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 70 CONFORMED PERIOD OF REPORT: 20220630 FILED AS OF DATE: 20220809 DATE AS OF CHANGE: 20220809 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: 221146466 BUSINESS ADDRESS: STREET 1: 3251 I-35 CITY: SAN ANTONIO STATE: TX ZIP: 78219 BUSINESS PHONE: 210-678-3700 MAIL ADDRESS: STREET 1: 3251 I-35 CITY: SAN ANTONIO STATE: TX ZIP: 78219 10-Q 1 xpel-20220630.htm 10-Q xpel-20220630
false12/312022Q2000176725800017672582022-01-012022-06-3000017672582022-08-09xbrli:shares00017672582022-06-30iso4217:USD00017672582021-12-31iso4217:USDxbrli:shares0001767258us-gaap:ProductMember2022-04-012022-06-300001767258us-gaap:ProductMember2021-04-012021-06-300001767258us-gaap:ProductMember2022-01-012022-06-300001767258us-gaap:ProductMember2021-01-012021-06-300001767258us-gaap:ServiceMember2022-04-012022-06-300001767258us-gaap:ServiceMember2021-04-012021-06-300001767258us-gaap:ServiceMember2022-01-012022-06-300001767258us-gaap:ServiceMember2021-01-012021-06-3000017672582022-04-012022-06-3000017672582021-04-012021-06-3000017672582021-01-012021-06-300001767258us-gaap:CommonStockMember2021-03-310001767258us-gaap:AdditionalPaidInCapitalMember2021-03-310001767258us-gaap:RetainedEarningsMember2021-03-310001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-03-3100017672582021-03-310001767258us-gaap:RetainedEarningsMember2021-04-012021-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-04-012021-06-300001767258us-gaap:CommonStockMember2021-06-300001767258us-gaap:AdditionalPaidInCapitalMember2021-06-300001767258us-gaap:RetainedEarningsMember2021-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-06-3000017672582021-06-300001767258us-gaap:CommonStockMember2022-03-310001767258us-gaap:AdditionalPaidInCapitalMember2022-03-310001767258us-gaap:RetainedEarningsMember2022-03-310001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-3100017672582022-03-310001767258us-gaap:RetainedEarningsMember2022-04-012022-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-300001767258us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-300001767258us-gaap:CommonStockMember2022-06-300001767258us-gaap:AdditionalPaidInCapitalMember2022-06-300001767258us-gaap:RetainedEarningsMember2022-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-300001767258us-gaap:CommonStockMember2020-12-310001767258us-gaap:AdditionalPaidInCapitalMember2020-12-310001767258us-gaap:RetainedEarningsMember2020-12-310001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-3100017672582020-12-310001767258us-gaap:RetainedEarningsMember2021-01-012021-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-06-300001767258us-gaap:CommonStockMember2021-12-310001767258us-gaap:AdditionalPaidInCapitalMember2021-12-310001767258us-gaap:RetainedEarningsMember2021-12-310001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001767258us-gaap:RetainedEarningsMember2022-01-012022-06-300001767258us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-06-300001767258us-gaap:AdditionalPaidInCapitalMember2022-01-012022-06-300001767258xpel:XPELLtd.Member2022-06-30xbrli:pure0001767258xpel:XPELCanadaCorp.Member2022-06-300001767258xpel:XPELB.VMember2022-06-300001767258xpel:XPELGermanyGmbHMember2022-06-300001767258xpel:XPELDeMexicoS.DeR.L.DeC.V.Member2022-06-300001767258xpel:XPELAcquisitionCorp.Member2022-06-300001767258xpel:ProtexCanadaInc.Member2022-06-300001767258xpel:ApogeeCorp.Member2022-06-300001767258xpel:XPELSlovakiaMember2022-06-300001767258xpel:XPELFranceMember2022-06-300001767258xpel:XPELSpainMember2022-06-300001767258xpel:PermaPlateFilmLLCMember2022-06-300001767258xpel:A1OneArmorIncMember2022-06-300001767258xpel:TintNetIncMember2022-06-300001767258xpel:North1TechnologiesIncMember2022-06-300001767258xpel:A1716808AlbertaLtdOaShadowTintMember2022-06-300001767258xpel:A6873391CanadaLtdOaShadowShieldMember2022-06-300001767258xpel:InvisiFRAMELtdMember2022-06-30xpel:segment00017672582021-01-012021-12-3100017672582022-01-012022-03-310001767258xpel:ProductRevenuePaintProtectionFilmMember2022-04-012022-06-300001767258xpel:ProductRevenuePaintProtectionFilmMember2021-04-012021-06-300001767258xpel:ProductRevenuePaintProtectionFilmMember2022-01-012022-06-300001767258xpel:ProductRevenuePaintProtectionFilmMember2021-01-012021-06-300001767258xpel:ProductRevenueWindowFilmMember2022-04-012022-06-300001767258xpel:ProductRevenueWindowFilmMember2021-04-012021-06-300001767258xpel:ProductRevenueWindowFilmMember2022-01-012022-06-300001767258xpel:ProductRevenueWindowFilmMember2021-01-012021-06-300001767258xpel:ProductRevenueOtherMember2022-04-012022-06-300001767258xpel:ProductRevenueOtherMember2021-04-012021-06-300001767258xpel:ProductRevenueOtherMember2022-01-012022-06-300001767258xpel:ProductRevenueOtherMember2021-01-012021-06-300001767258xpel:ServiceRevenueSoftwareMember2022-04-012022-06-300001767258xpel:ServiceRevenueSoftwareMember2021-04-012021-06-300001767258xpel:ServiceRevenueSoftwareMember2022-01-012022-06-300001767258xpel:ServiceRevenueSoftwareMember2021-01-012021-06-300001767258xpel:ServiceRevenueCutbankCreditsMember2022-04-012022-06-300001767258xpel:ServiceRevenueCutbankCreditsMember2021-04-012021-06-300001767258xpel:ServiceRevenueCutbankCreditsMember2022-01-012022-06-300001767258xpel:ServiceRevenueCutbankCreditsMember2021-01-012021-06-300001767258xpel:ServiceRevenueInstallationLaborMember2022-04-012022-06-300001767258xpel:ServiceRevenueInstallationLaborMember2021-04-012021-06-300001767258xpel:ServiceRevenueInstallationLaborMember2022-01-012022-06-300001767258xpel:ServiceRevenueInstallationLaborMember2021-01-012021-06-300001767258xpel:ServiceRevenueTrainingMember2022-04-012022-06-300001767258xpel:ServiceRevenueTrainingMember2021-04-012021-06-300001767258xpel:ServiceRevenueTrainingMember2022-01-012022-06-300001767258xpel:ServiceRevenueTrainingMember2021-01-012021-06-300001767258xpel:ServiceRevenueOtherMember2022-04-012022-06-300001767258xpel:ServiceRevenueOtherMember2021-04-012021-06-300001767258xpel:ServiceRevenueOtherMember2022-01-012022-06-300001767258xpel:ServiceRevenueOtherMember2021-01-012021-06-300001767258country:US2022-04-012022-06-300001767258country:US2021-04-012021-06-300001767258country:US2022-01-012022-06-300001767258country:US2021-01-012021-06-300001767258country:CN2022-04-012022-06-300001767258country:CN2021-04-012021-06-300001767258country:CN2022-01-012022-06-300001767258country:CN2021-01-012021-06-300001767258country:CA2022-04-012022-06-300001767258country:CA2021-04-012021-06-300001767258country:CA2022-01-012022-06-300001767258country:CA2021-01-012021-06-300001767258srt:EuropeMember2022-04-012022-06-300001767258srt:EuropeMember2021-04-012021-06-300001767258srt:EuropeMember2022-01-012022-06-300001767258srt:EuropeMember2021-01-012021-06-300001767258country:GB2022-04-012022-06-300001767258country:GB2021-04-012021-06-300001767258country:GB2022-01-012022-06-300001767258country:GB2021-01-012021-06-300001767258xpel:MiddleEastAfricaMember2022-04-012022-06-300001767258xpel:MiddleEastAfricaMember2021-04-012021-06-300001767258xpel:MiddleEastAfricaMember2022-01-012022-06-300001767258xpel:MiddleEastAfricaMember2021-01-012021-06-300001767258srt:AsiaPacificMember2022-04-012022-06-300001767258srt:AsiaPacificMember2021-04-012021-06-300001767258srt:AsiaPacificMember2022-01-012022-06-300001767258srt:AsiaPacificMember2021-01-012021-06-300001767258srt:LatinAmericaMember2022-04-012022-06-300001767258srt:LatinAmericaMember2021-04-012021-06-300001767258srt:LatinAmericaMember2022-01-012022-06-300001767258srt:LatinAmericaMember2021-01-012021-06-300001767258xpel:OtherGeographicRegionMember2022-04-012022-06-300001767258xpel:OtherGeographicRegionMember2021-04-012021-06-300001767258xpel:OtherGeographicRegionMember2022-01-012022-06-300001767258xpel:OtherGeographicRegionMember2021-01-012021-06-300001767258us-gaap:CustomerConcentrationRiskMemberxpel:LargestCustomerMemberus-gaap:RevenueFromContractWithCustomerMember2022-04-012022-06-300001767258us-gaap:CustomerConcentrationRiskMemberxpel:LargestCustomerMemberus-gaap:RevenueFromContractWithCustomerMember2021-04-012021-06-300001767258us-gaap:CustomerConcentrationRiskMemberxpel:LargestCustomerMemberus-gaap:RevenueFromContractWithCustomerMember2022-01-012022-06-300001767258us-gaap:CustomerConcentrationRiskMemberxpel:LargestCustomerMemberus-gaap:RevenueFromContractWithCustomerMember2021-01-012021-06-300001767258us-gaap:FurnitureAndFixturesMember2022-06-300001767258us-gaap:FurnitureAndFixturesMember2021-12-310001767258us-gaap:ComputerEquipmentMember2022-06-300001767258us-gaap:ComputerEquipmentMember2021-12-310001767258us-gaap:VehiclesMember2022-06-300001767258us-gaap:VehiclesMember2021-12-310001767258us-gaap:EquipmentMember2022-06-300001767258us-gaap:EquipmentMember2021-12-310001767258us-gaap:LeaseholdImprovementsMember2022-06-300001767258us-gaap:LeaseholdImprovementsMember2021-12-310001767258xpel:ComputerEquipmentPlotterMember2022-06-300001767258xpel:ComputerEquipmentPlotterMember2021-12-310001767258us-gaap:ConstructionInProgressMember2022-06-300001767258us-gaap:ConstructionInProgressMember2021-12-310001767258us-gaap:TrademarksMember2022-06-300001767258us-gaap:TrademarksMember2021-12-310001767258us-gaap:SoftwareDevelopmentMember2022-06-300001767258us-gaap:SoftwareDevelopmentMember2021-12-310001767258us-gaap:TradeNamesMember2022-06-300001767258us-gaap:TradeNamesMember2021-12-310001767258us-gaap:CustomerRelationshipsMember2022-06-300001767258us-gaap:CustomerRelationshipsMember2021-12-310001767258us-gaap:NoncompeteAgreementsMember2022-06-300001767258us-gaap:NoncompeteAgreementsMember2021-12-310001767258us-gaap:OtherIntangibleAssetsMember2022-06-300001767258us-gaap:OtherIntangibleAssetsMember2021-12-31xpel:business00017672582021-10-012021-10-010001767258us-gaap:RevolvingCreditFacilityMemberxpel:TexasPartnersBankMemberus-gaap:LineOfCreditMember2022-06-300001767258us-gaap:PrimeRateMemberus-gaap:RevolvingCreditFacilityMemberxpel:TexasPartnersBankMemberus-gaap:LineOfCreditMemberxpel:ScenarioOneMember2022-01-012022-06-300001767258us-gaap:RevolvingCreditFacilityMemberxpel:TexasPartnersBankMemberus-gaap:LineOfCreditMemberxpel:ScenarioOneMember2022-06-300001767258us-gaap:PrimeRateMemberus-gaap:RevolvingCreditFacilityMemberxpel:ScenarioTwoMemberxpel:TexasPartnersBankMemberus-gaap:LineOfCreditMember2022-01-012022-06-300001767258us-gaap:RevolvingCreditFacilityMemberxpel:TexasPartnersBankMemberus-gaap:LineOfCreditMember2022-01-012022-06-300001767258us-gaap:RevolvingCreditFacilityMemberxpel:TexasPartnersBankMemberus-gaap:LineOfCreditMember2021-12-310001767258us-gaap:RevolvingCreditFacilityMemberxpel:TexasPartnersBankMemberus-gaap:LineOfCreditMember2022-04-012022-06-30xpel:covenant0001767258xpel:HSBCBankCanadaMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2022-06-30iso4217:CAD0001767258xpel:HSBCBankCanadaMemberus-gaap:PrimeRateMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2022-01-012022-06-300001767258xpel:HSBCBankCanadaMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2021-12-310001767258xpel:AcquisitionNotesPayableDue2023Member2022-06-300001767258xpel:AcquisitionNotesPayableDue2023Member2021-12-310001767258us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-06-300001767258us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2021-12-310001767258xpel:InvisiFRAMELtdMember2022-04-012022-06-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 June 30, 2022

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-20220630_g1.jpg
Nevada
20-1117381
(State or other jurisdiction of incorporation or organization)
(I.R.S. Employer Identification No.)
3251 I-35
San Antonio
Texas
78219
(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,616,064 shares of common stock outstanding as of August 9, 2022.




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)
June 30, 2022December 31, 2021
Assets
Current
Cash and cash equivalents
$9,321 $9,644 
Accounts receivable, net19,119 13,159 
Inventory, net74,142 51,936 
Prepaid expenses and other current assets4,434 3,672 
Income tax receivable550 617 
Total current assets
107,566 79,028 
Property and equipment, net
12,169 9,898 
Right-of-use lease assets13,580 12,910 
Intangible assets, net29,777 32,733 
Other non-current assets893 791 
Goodwill25,071 25,655 
Total assets$189,056 $161,015 
Liabilities
Current
Current portion of notes payable159375
Current portion lease liabilities3,6732,978
Accounts payable and accrued liabilities36,58732,915
Total current liabilities40,41936,268
Deferred tax liability, net2,4122,748
Other long-term liabilities1,1402,631
Borrowings on line of credit32,00025,000
Non-current portion of lease liabilities10,008 9,830
Non-current portion of notes payable 76 
Total liabilities85,979 76,553 
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,612,597 issued and outstanding
28 28 
Additional paid-in-capital10,760 10,581 
Accumulated other comprehensive loss(1,860)(590)
Retained earnings94,149 74,443 
Total stockholders’ equity103,077 84,462 
Total liabilities and stockholders’ equity$189,056 $161,015 
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
June 30,
Six Months Ended
June 30,
2022202120222021
Revenue
Product revenue
$67,040 $58,667 $125,137 $103,599 
Service revenue16,850 10,069 30,617 17,003 
Total revenue
83,890 68,736 155,754 120,602 
Cost of Sales
Cost of product sales44,227 40,593 82,421 72,139 
Cost of service6,680 2,896 12,633 4,929 
Total cost of sales50,907 43,489 95,054 77,068 
Gross Margin32,983 25,247 60,700 43,534 
Operating Expenses
Sales and marketing5,906 4,687 12,218 8,075 
General and administrative11,328 7,888 22,696 14,240 
Total operating expenses
17,234 12,575 34,914 22,315 
Operating Income15,749 12,672 25,786 21,219 
Interest expense322 44 542 97 
Foreign currency exchange (gain) loss457 (63)462 (28)
Income before income taxes14,970 12,691 24,782 21,150 
Income tax expense3,068 2,505 5,076 4,117 
Net income$11,902 $10,186 $19,706 $17,033 
Earnings per share
Basic$0.43 $0.37 $0.71 $0.62 
Diluted$0.43 $0.37 $0.71 $0.62 
Weighted Average Number of Common Shares
Basic27,613 27,613 27,613 27,613 
Diluted27,613 27,613 27,613 27,613 

See notes to condensed consolidated financial statements.
2

XPEL, INC.
Condensed Consolidated Statements of Comprehensive Income (Unaudited)
(In thousands)
Three Months Ended
June 30,
Six Months Ended
June 30,
2022202120222021
Other comprehensive income
Net income
$11,902 $10,186 $19,706 $17,033 
Foreign currency translation(1,175)226 (1,270)16 
Total comprehensive income$10,727 $10,412 $18,436 $17,049 

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 June 30
Common StockAdditional Paid-in-CapitalRetained
Earnings
Accumulated
Other
Comprehensive
Income (Loss)
Total Stockholders’ Equity
SharesAmount
Balance as of March 31, 202127,613 $28 $10,412 $49,724 $(144)$60,020 
Net income— — — 10,186 — 10,186 
Foreign currency translation— — — — 226 226 
Balance as of June 30, 202127,613 28 10,412 59,910 82 70,432 
Balance as of March 31, 202227,613 28 10,652 82,247 (685)92,242 
Net income— — — 11,902 — 11,902 
Foreign currency translation— — — — (1,175)(1,175)
Stock-based compensation— — 108 — — 108 
Balance as of June 30, 202227,613 $28 $10,760 $94,149 $(1,860)$103,077 
Stockholders' Equity - Six Months Ended June 30
Common StockAdditional Paid-in-CapitalRetained
Earnings
Accumulated
Other
Comprehensive
Income (Loss)
Total Stockholders’ Equity
SharesAmount
Balance as of December 31, 2020
27,613 $28 $10,412 $42,877 $66 $53,383 
Net income— — — 17,033 — 17,033 
Foreign currency translation— — — — 16 16 
Balance as of June 30, 202127,613 28 10,412 59,910 82 70,432 
Balance as of December 31, 2021
27,613 28 10,581 74,443 (590)84,462 
Net income— — — 19,706 — 19,706 
Foreign currency translation— — — — (1,270)(1,270)
Stock-based compensation— — 179 — — 179 
Balance as of June 30, 202227,613 $28 $10,760 $94,149 $(1,860)$103,077 

See notes to condensed consolidated financial statements.
4

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

Six Months Ended June 30,
20222021
Cash flows from operating activities
Net income
$19,706 $17,033 
Adjustments to reconcile net income to net cash provided by operating activities:
Depreciation of property, plant and equipment
1,596 803 
Amortization of intangible assets2,131 685 
Gain on sale of property and equipment, net(11)(16)
Stock-based compensation179  
Bad debt expense251 123 
Deferred income tax16 6 
Accretion on notes payable5 18 
Changes in assets and liabilities:
Accounts receivable(6,604)(849)
Inventory, net(22,725)(2,394)
Prepaid expenses and other assets(1,039)(1,624)
Income tax receivable and payable96 1,206 
Accounts payable and accrued liabilities3,874 4,082 
Net cash (used in) provided by operating activities(2,525)19,073 
Cash flows used in investing activities
Purchase of property, plant and equipment
(4,025)(3,461)
Proceeds from sale of property and equipment53 16 
Acquisition of a business, net of cash acquired (29,992)
Development of intangible assets(623)(201)
Net cash used in investing activities(4,595)(33,638)
Cash flows from financing activities
Net borrowings on revolving credit agreement7,000  
Repayments on term loan (5,056)
Repayments of notes payable(294)(367)
Net cash used in provided by (used in) financing activities6,706 (5,423)
Net change in cash and cash equivalents(414)(19,988)
Foreign exchange impact on cash and cash equivalents91 (305)
Decrease in cash and cash equivalents during the period(323)(20,293)
Cash and cash equivalents at beginning of period9,644 29,027 
Cash and cash equivalents at end of period$9,321 $8,734 
Supplemental schedule of non-cash activities
Non-cash lease financing$2,534 $1,490 
Supplemental cash flow information
Cash paid for income taxes$4,677 $2,939 
Cash paid for interest$502 $92 
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, 2021, which has been derived from audited financial statements, and (b) unaudited interim condensed consolidated financial statements as of and for the three and six months ended June 30, 2022 and 2021 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, 2022 (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 dollar. The assets and liabilities of each of its 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 income in the accompanying consolidated balance sheets. Foreign currency exchange gains and losses are presented as foreign currency exchange loss in the accompanying condensed consolidated statements of income. The ownership percentages and functional currencies of the entities included in these condensed consolidated financial statements are as follows:
6

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
SubsidiariesFunctional Currency% Owned by XPEL, Inc.
XPEL, Ltd.UK Pound Sterling100 %
XPEL Canada Corp.Canadian Dollar100 %
XPEL B.V.Euro100 %
XPEL Germany GmbHEuro100 %
XPEL de Mexico S. de R.L. de C.V.Peso100 %
XPEL Acquisition Corp.Canadian Dollar100 %
Protex Canada, Inc.Canadian Dollar100 %
Apogee Corp.New Taiwan Dollar100 %
XPEL SlovakiaEuro100 %
XPEL FranceEuro100 %
XPEL SpainEuro100 %
PermaPlate Film, LLCUS Dollar100 %
1 One Armor, Inc.US Dollar100 %
TintNet, Inc.US Dollar100 %
North 1 Technologies, Inc.Canadian Dollar100 %
1716808 Alberta, Ltd. o/a Shadow TintCanadian Dollar100 %
6873391 Canada, Ltd. o/a Shadow ShieldCanadian Dollar100 %
invisiFRAME, Ltd.UK Pound Sterling100 %
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 to 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 doubtful accounts of $0.3 million and $0.3 million as of June 30, 2022 and December 31, 2021, 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 June 30, 2022 or December 31, 2021.
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 June 30, 2022 and December 31, 2021 was $0.2 million and $0.1 million, respectively. The following tables present a summary of the Company's accrued warranty liabilities for the six months ended June 30, 2022 and the twelve months ended December 31, 2021 (in thousands):
7

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
2022
Warranty liability, January 1$75 
Warranties assumed in period$295 
Payments$(168)
Warranty liability, June 30$202 
2021
Warranty liability, January 1$52 
Warranties assumed in period$398 
Payments$(375)
Warranty liability, December 31$75 
Recent Accounting Pronouncements Issued and Not Yet Adopted
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. ASU 2016-13 is effective for the Company beginning January 1, 2023 and is required to be applied prospectively. We are currently evaluating the impact that ASU 2016-13 will have on our consolidated 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
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 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.
8

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
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 six months ended June 30, 2022 (in thousands):
Balance, December 31, 2021$818 
Revenue recognized related to payments included in the December 31, 2021 balance$(556)
Payments received for which performance obligations have not been satisfied$181 
Effect of foreign currency translation$(2)
Balance, March 31, 2022$441 
Revenue recognized related to payments included in the March 31, 2022 balance$(387)
Payments received for which performance obligations have not been satisfied$1,012 
Effect of foreign currency translation$(8)
Balance, June 30, 2022$1,058 

The table below sets forth the disaggregation of revenue by product category for the periods indicated below (in thousands):
9

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
Three Months Ended
June 30,
Six Months Ended
June 30,
2022202120222021
Product Revenue
Paint protection film$48,275 $45,245 $92,236 $81,030 
Window film15,786 11,084 27,320 18,243 
Other2,979 2,338 5,581 4,326 
Total
67,040 58,667 125,137 103,599 
Service Revenue
Software$1,247 $1,055 $2,453 $2,033 
Cutbank credits4,178 3,386 7,108 6,022 
Installation labor11,048 5,358 20,303 8,473 
Training306 270 655 475 
Other71  98  
Total16,850 10,069 30,617 17,003 
Total$83,890 $68,736 $155,754 $120,602 
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 (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2022202120222021
United States$49,166 $34,296 $90,753 $59,901 
China7,904 12,626 16,763 23,331 
Canada10,877 8,877 18,727 13,823 
Continental Europe6,944 5,215 12,607 9,539 
United Kingdom2,595 2,133 5,022 3,919 
Middle East/Africa2,654 2,414 4,703 4,376 
Asia Pacific1,977 2,056 4,009 3,648 
Latin America1,359 1,029 2,565 1,946 
Other414 90 605 119 
Total$83,890 $68,736 $155,754 $120,602 
XPEL's largest customer accounted for 9.4% and 18.4% of the Company's net sales during the three months ended June 30, 2022 and 2021, respectively and 10.8% and 19.3% of the Company's net sales during the six months ended June 30, 2022 and 2021, respectively.

10

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
4.    PROPERTY AND EQUIPMENT, NET
Property and equipment consists of the following (in thousands):
June 30, 2022December 31, 2021
Furniture and fixtures
$2,560 $2,147 
Computer equipment2,687 2,201 
Vehicles822 822 
Equipment4,271 3,572 
Leasehold improvements6,743 5,138 
Plotters2,509 2,132 
Construction in Progress78 117 
Total property and equipment19,670 16,129 
Less: accumulated depreciation7,501 6,231 
Property and equipment, net$12,169 $9,898 
Depreciation expense for the three months ended June 30, 2022 and 2021 was $0.8 million and $0.4 million, respectively. For the six months ended June 30, 2022 and 2021, depreciation expense was $1.6 million and $0.8 million, respectively.

5.    INTANGIBLE ASSETS, NET
Intangible assets consists of the following (in thousands):
June 30, 2022December 31, 2021
Trademarks
$539 $500 
Software
3,982 3,431 
Trade names1,463 2,579 
Contractual and customer relationships
30,950 31,326 
Non-compete
454 459 
Other
676 693 
Total cost
38,064 38,988 
Less: Accumulated amortization8,287 6,255 
Intangible assets, net$29,777 $32,733 
Amortization expense for the three months ended June 30, 2022 and 2021 was $1.1 million and $0.4 million, respectively. For the six months ended June 30, 2022 and 2021, amortization expense was $2.1 million and $0.7 million, respectively. Certain of these intangible assets have been adjusted for business acquisition open period adjustments. Refer to Footnote 13 for discussion of these updates.
11

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
6.    GOODWILL
The following table summarizes goodwill transactions for the six months ended June 30, 2022 and 2021 (in thousands):
Balance at December 31, 2021$25,655 
Open period adjustments for 2021 acquisitions not yet finalized(153)
Foreign Exchange(431)
Balance at June 30, 2022$25,071 
Balance at December 31, 2020$4,472 
Additions11,272 
Foreign Exchange83 
Balance at June 30, 2021$15,827 
The Company completed seven acquisitions during the twelve months ended December 31, 2021. Purchase price accounting for the five acquisitions completed on October 1, 2021 remain preliminary in nature. Accounting for these acquisitions will be finalized within one year of their completion. Refer to Footnote 13 for discussion related to open period adjustments.

7.    INVENTORIES
The components of inventory are summarized as follows (in thousands):
June 30, 2022December 31, 2021
Raw materials$12,537 $2,699 
Work in process4,054 180 
Finished goods57,551 49,057 
$74,142 $51,936 

8.    DEBT
REVOLVING FACILITIES
The Company has a $75.0 million revolving line of credit with a financial institution. The facility is utilized to fund the Company's working capital needs and other strategic initiatives, and is secured by a security interest in substantially all of the Company's current and future assets. Borrowings under the credit agreement bear interest on at the Wall Street Journal U.S. Prime Rate less 0.75% per annum if the Company's EBITDA ratio (as defined in the Loan Agreement governing the facility) is equal to or less than 2.00 to 1.00 or the Wall Street Journal U.S. Prime rate less 0.25% if the Company's EBITDA ratio is greater than 2.00 to 1.00. The facility also includes a fee of 0.25% of the unused capacity on the facility. The interest rate for this credit facility as of June 30, 2022 and December 31, 2021 was 4.00% and 2.50%, respectively. The Company paid interest charges on borrowings under this facility of $0.3 million and $0.5 million during the three and six months ended June 30, 2022, respectively, and had a balance of $32.0 million and $25.0 million as of June 30, 2022 and December 31, 2021, respectively. This facility matures on July 5, 2024.
12

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
The Loan Agreement governing the facility contains customary covenants relating to maintaining legal existence and good standing, complying with applicable laws, delivery of financial statements, payment of taxes and maintaining insurance. The Loan Agreement contains two financial covenants:
(1) Senior Funded Debt (as defined in the Loan Agreement) divided by EBITDA (as defined in the Loan Agreement) at or below 3.50 : 1.00 when tested at the end of each fiscal quarter on a rolling four-quarter basis, and
(2) A minimum Debt Service Coverage Ratio (as defined in the Loan Agreement) of 1.25 : 1.00 at the end of each fiscal quarter when measured on a rolling four-quarter basis.
The Company also has a CAD $4.5 revolving credit facility through a financial institution in Canada, and is 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 June 30, 2022 and December 31, 2021, no balance was outstanding on this line of credit.
As of June 30, 2022 and December 31, 2021, the Company was in compliance with all debt covenants.
NOTES PAYABLE
As part of its acquisition strategy, the Company may use a combination of cash and unsecured non-interest bearing promissory notes payable to fund its business acquisitions. The Company discounts the promissory note to fair value using market interest rates at the time of the acquisition.
Notes payable are summarized as follows (in thousands):
Weighted Average Interest Rate
MaturesJune 30, 2022December 31, 2021
Face value of acquisition notes payable2.61%2023161 458 
Unamortized discount(2)(7)
Current portion(159)(375)
Total long-term debt$ $76 

9.    ACCOUNTS PAYABLE AND ACCRUED LIABILITIES
The following table presents significant accounts payable and accrued liability balances as of the periods ending (in thousands):
June 30, 2022December 31, 2021
Trade payables$29,523 $25,175 
Payroll liabilities2,394 3,385 
Contract liabilities1,058 818 
Acquisition holdback payments1,300 2,007 
Other liabilities2,312 1,530 
$36,587 $32,915 

13

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
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 incurred contingent liabilities in relation to the 2021 acquisition of invisiFRAME Ltd. and the 2020 acquisition of Veloce Innovation. The payments of these liabilities is contingent on attainment of certain revenue performance metrics in future years. The fair value of these liabilities was determined using a Monte Carlo Simulation method based on the probability and timing of certain future payments related to these metrics. 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 (in thousands):
June 30, 2022December 31, 2021
Level 3:
     Contingent Liabilities$1,119 $2,665 
We assessed the fair value of these contingent considerations liabilities as of June 30, 2022. This assessment resulted in a reduction in the fair value of the liability of $0.3 million and $0.3 million for the three and six months ended June 30, 2022, respectively. This reduction is reflected in general and administrative expenses in the Condensed Consolidated Statement of Income for the three and six months ended June 30, 2022. The remaining decrease in our contingent liabilities is attributable to foreign currency fluctuations and non-finalized acquisition related valuations. Refer to Footnote 13 for discussion of these valuation updates. These decreases are recorded in accumulated other comprehensive loss and goodwill, respectively.

14

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)

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 (in thousands except per share values):
Three Months Ended June 30,Six Months Ended June 30,
Numerator2022202120222021
   Net income$11,902 $10,186 $19,706 $17,033 
Denominator
   Weighted average basic shares27,613 27,613 27,613 27,613 
   Dilutive effect of restricted stock units    
   Weighted average diluted shares27,613 27,613 27,613 27,613 
Earnings per share
   Basic$0.43 $0.37 $0.71 $0.62 
   Diluted$0.43 $0.37 $0.71 $0.62 


13.    ACQUISITIONS OF BUSINESSES
We acquired seven businesses during the twelve months ended December 31, 2021. The valuations of the identifiable intangible assets for TintNet, Inc., 1 One Armor, 6873391 Canada Ltd. (operating as Shadow Shield), 1716808 Alberta Ltd. (operating as Shadow Tint), and North 1 Technologies remain preliminary pending the finalization of the valuation models. These valuations will be finalized during the three months ending September 30, 2022. The accounting for all other assets and liabilities related to these acquisitions has been finalized.
During the three months ended June 30, 2022, we finalized the valuation of the purchase price and related purchase price allocation for our November 1, 2021 acquisition of invisiFRAME Ltd. resulting in a $0.9 million reduction in purchase price. The final allocation resulted in a $1.1 million reduction in net identifiable intangible assets, a $0.1 million reduction in goodwill, a $0.3 million reduction in deferred tax liabilities and a $0.9 million reduction in contingent liabilities. These changes were caused by updates made to certain valuation assumptions, including the discount rate applied to the valuation model. These changes resulted in a $0.1 million reduction in amortization expense for the three and six months ended
15

XPEL, Inc.
Notes to Condensed Consolidated Financial Statements
(Unaudited)
June 30, 2022. The impact of this final valuation on the twelve months ended December 31, 2021 results was not material.

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. (“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 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:
We could be impacted by disruptions in supply.
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.
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.
16


Our industry is highly competitive.
Our business is highly dependent on automotive sales and production volumes.
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.
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 shareholders 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.
17


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 centers around 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. Since 2014, we have executed on several strategic initiatives including:
2014 - We began our international expansion by establishing an office in the United Kingdom.
2015 - 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, and
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.
18


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.
Strategic Overview
XPEL is currently pursuing 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 delivery of our products and services. We will continue to 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. In our last fiscal year, we acquired several businesses serving multiple markets in the United States, Canada, and the United Kingdom, in furtherance of this objective.
We 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
Despite sustained positive trends in our business, broad uncertainty about the long-term implications of COVID-19 and its attendant market disruptions remains. Revenue has continued to increase in most of our major markets. Despite these trends, market disruptions in future periods cannot reasonably be estimated, and they could be significant. See the risk factor “The COVID-19 pandemic could materially adversely affect our financial condition and results of operations” included in Part I, Item 1A “Risk Factors” in the Annual Report for further discussion of the potential impact of the COVID-19 pandemic on our business, results of operations and financial condition.
In particular, it is difficult to forecast the impact that the ongoing effect of the COVID-19 pandemic will have on our customers, suppliers, or our own operations and financial results. Despite the reduction of restrictions related to the COVID-19 pandemic and the ongoing recovery of our operations, significant uncertainty still exists concerning the magnitude of the residual impact of the pandemic. Additionally,
19


automotive sales and production are highly cyclical, and the cyclical nature of the industry has been, and could continue to be, compounded by the pandemic. As demand for automotive products fluctuates or decreases, the demand for our products may also fluctuate or decrease. Automotive manufacturers also continue to experience a global semiconductor shortage which has affected production of vehicles and, in turn, available inventory at dealerships. During the three and six months ended June 30, 2022, inventory at dealerships remained at low levels. As long as the semiconductor shortage persists and leads to low dealership inventories, there could be a material adverse effect on our business, financial condition and results of operations. Refer to the risk factor ‘We are highly dependent on the automotive industry. A prolonged or material contraction in automotive sales and production volumes could adversely affect our business, results of operations and financial condition” in the Annual Report for additional discussion of the cyclical nature of the automotive industry. We will continue to closely monitor updates regarding the continuing impact of COVID-19 and automotive sales and adjust our operations according to guidelines form local, state and federal officials. In light of the foregoing, we may take actions that alter our business operations or that we determine are in the best interest of our employees, customers, suppliers and stockholders.
Various geographies in which we operate, including the United States, are experiencing an increasing inflationary environment. We are actively monitoring the broader economic impact of inflation on the demand for our products and services. See risk factor "General global economic and business conditions affect demand for our products" included in Part I, Item 1A-Risk Factors, in the Annual Report on Form 10-K.
As more fully described in Part I, Item 1A-Risk Factors, in the Annual Report on Form 10-K, the entrotech agreement terminated on March 21, 2022. We continue to work towards entering a new supply agreement with entrotech; however, we cannot assure you that we will be successful in negotiating a new agreement. In the absence of a new agreement, we have continued purchasing from entrotech and expect to continue our supply relationship.

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) total depreciation and amortization, (b) interest expense, net, and (c) income tax expense.
20


The following table is a reconciliation of Net Income to EBITDA for the three and six months ended June 30, 2022 and 2021 (in thousands except percentage figures):
(Unaudited)(Unaudited)
Three Months Ended June 30,Six Months Ended June 30,
20222021% Change 20222021% Change
Net Income$11,902 $10,186 16.8 %$19,706 $17,033 15.7 %
Interest322 44 631.8 %542 97 458.8 %
Taxes3,068 2,505 22.5 %5,076 4,117 23.3 %
Depreciation839 420 99.8 %1,596 803 98.8 %
Amortization1,054 423 149.2 %2,131 685 211.1 %
EBITDA$17,185 $13,578 26.6 %$29,051 $22,735 27.8 %

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 their usefulness as comparative measures.

21


Results of Operations
The following tables summarize the Company’s consolidated results of operations for the three and six months ended June 30, 2022 and 2021 (in thousands except percentage figures):
Three Months Ended June 30, 2022%
of Total Revenue
Three Months Ended June 30, 2021%
of Total Revenue
$
Change
%
Change
Total revenue$83,890 100.0 %$68,736 100.0 %$15,154 22.0 %
Total cost of sales50,907 60.7 %43,489 63.3 %7,418 17.1 %
Gross margin32,983 39.3 %25,247 36.7 %7,736 30.6 %
Total operating expenses17,234 20.5 %12,575 18.3 %4,659 37.0 %
Operating income15,749 18.8 %12,672 18.4 %3,077 24.3 %
Other expenses779 0.9 %(19)— %798 (4,200.0)%
Income tax3,068 3.7 %2,505 3.6 %563 22.5 %
Net income$11,902 14.2 %$10,186 14.8 %$1,716 16.8 %
Six Months Ended June 30, 2022%
of Total Revenue
Six Months Ended June 30, 2021%
of Total Revenue
$
Change
%
Change
Total revenue$155,754 100.0 %$120,602 100.0 %$35,152 29.1 %
Total cost of sales95,054 61.0 %77,068 63.9 %17,986 23.3 %
Gross margin60,700 39.0 %43,534 36.1 %17,166 39.4 %
Total operating expenses34,914 22.4 %22,315 18.5 %12,599 56.5 %
Operating income25,786 16.6 %21,219 17.6 %4,567 21.5 %
Other expenses1,004 0.6 %69 0.1 %935 1,355.1 %
Income tax5,076 3.3 %4,117 3.4 %959 23.3 %
Net income$19,706 12.7 %$17,033 14.1 %$2,673 15.7 %

The following tables summarize revenue results for the three and six months ended June 30, 2022 and 2021 (in thousands except percentage figures):
22


Three Months Ended June 30,%% of Total Revenue
20222021Inc (Dec)20222021
Product Revenue
Paint protection film$48,275 $45,245 6.7 %57.5 %65.8 %
Window film15,786 11,084 42.4 %18.8 %16.1 %
Other2,979 2,338 27.4 %3.6 %3.5 %
Total$67,040 $58,667 14.3 %79.9 %85.4 %
Service Revenue
Software$1,247 $1,055 18.2 %1.5 %1.5 %
Cutbank credits4,178 3,386 23.4 %5.0 %4.9 %
Installation labor11,048 5,358 106.2 %13.2 %7.8 %
Training306 270 13.3 %0.3 %0.4 %
Other71 — n/a0.1 %0.0 %
Total$16,850 $10,069 67.3 %20.1 %14.6 %
Total$83,890 $68,736 22.0 %100.0 %100.0 %
Six Months Ended June 30,%% of Total Revenue
20222021Inc (Dec)20222021
Product Revenue
Paint protection film$92,236 $81,030 13.8 %59.2 %67.2 %
Window film$27,320 $18,243 49.8 %17.5 %15.1 %
Other$5,581 $4,326 29.0 %3.6 %3.6 %
Total$125,137 $103,599 20.8 %80.3 %85.9 %
Service Revenue
Software$2,453 $2,033 20.7 %1.6 %1.7 %
Cutbank credits$7,108 $6,022 18.0 %4.6 %5.0 %
Installation labor$20,303 $8,473 139.6 %13.0 %7.0 %
Training$655 $475 37.9 %0.4 %0.4 %
Other$98 — n/a0.1 %0.0 %
Total$30,617 $17,003 80.1 %19.7 %14.1 %
Total$155,754 $120,602 29.1 %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 six months ended June 30, 2022 and 2021 (in thousands except percentage figures):

23


Three Months Ended
June 30,
%% of Total Revenue
20222021Inc (Dec)20222021
United States$49,166 $34,296 43.4 %58.6 %49.9 %
China7,904 12,626 (37.4)%9.4 %18.4 %
Canada10,877 8,877 22.5 %13.0 %12.9 %
Continental Europe6,944 5,215 33.2 %8.3 %7.6 %
United Kingdom2,595 2,133 21.7 %3.1 %3.1 %
Middle East/Africa2,654 2,414 9.9 %3.2 %3.5 %
Asia Pacific1,977 2,056 (3.8)%2.4 %3.0 %
Latin America1,359 1,029 32.1 %1.6 %1.5 %
Other414 90 360.0 %0.4 %0.1 %
Total$83,890 $68,736 22.0 %100.0 %100.0 %
Six Months Ended June 30,%% of Total Revenue
20222021Inc (Dec)20222021
United States$90,753 $59,901 51.5 %58.3 %49.7 %
China16,763 23,331 (28.2)%10.8 %19.3 %
Canada18,727 13,823 35.5 %12.0 %11.5 %
Continental Europe12,607 9,539 32.2 %8.1 %7.9 %
United Kingdom5,022 3,919 28.1 %3.2 %3.2 %
Middle East/Africa4,703 4,376 7.5 %3.0 %3.6 %
Asia Pacific4,009 3,648 9.9 %2.6 %3.0 %
Latin America2,565 1,946 31.8 %1.6 %1.6 %
Other605 119 408.4 %0.4 %0.2 %
Total$155,754 $120,602 29.1 %100.0 %100.0 %

Product Revenue. Product revenue for the three months ended June 30, 2022 increased 14.3% over the three months ended June 30, 2021 Product revenue represented 79.9% of our total revenue compared to 85.4% in the three months ended June 30, 2021. Revenue from our paint protection film product line increased 6.7% over the three months ended June 30, 2021. Paint protection film sales represented 57.5% and 65.8% of our total consolidated revenues for the three months ended June 30, 2022 and 2021, respectively. The increase in paint protection film sales was primarily attributable to continued demand for our various film product lines in most markets. Revenue from our window film product line grew 42.4% for the three months ended June 30, 2022 compared to the three months ended June 30, 2021. Window film sales represented 18.8% and 16.1% of our total consolidated revenues for the three months ended June 30, 2022 and 2021, respectively. This increase in window film sales was due mainly to the continued broad-based increases in demand for our window film products throughout the world. Other product revenue for the three months ended June 30, 2021 increased 27.4% due mainly to continued demand for non-film related products such as ceramic coating, plotters, chemicals, and other film installation tools and accessories.
Product revenue for the six months ended June 30, 2022 increased 20.8% over the six months ended June 30, 2021. Product revenue represented 80.3% of our total revenue compared to 85.9% in the six months ended June 30, 2021. Revenue from our paint protection film product line increased 13.8% compared to the six months ended June 30, 2021 due mainly to continued broad-based increases in demand for protective film. Revenue from our window film grew 49.8% compared to the six months ended June 20, 2021. This increase was due mainly to continued broad-based increases in demand for
24


our window film products throughout the world. Other product revenue for the six months ended June 30, 2022 increased 29.0% due mainly to continued demand for non-film related products such as ceramic coating, plotters, chemicals, and other film installation tools and accessories.
Service revenue. Service revenue consists of revenue from fees for DAP software access, cutbank credit revenue which represents per-cut fees sold for pattern access or the value of pattern access provided with eligible product revenue, revenue from the labor portion of installation sales in our installation centers and revenue from training services provided to our customers.
Service revenue grew 67.3% over the three months ended June 30, 2021. Within this category, software revenue increased 18.2% over the three months ended June 30, 2021. This increase was due to an increase in total subscribers to our DAP software. Cutbank credit revenue increased 23.4% from the three months ended June 30, 2021 due to substantial growth in our North American operations. Installation labor revenue increased 106.2% over the three months ended June 30, 2021 due to a substantially increased installation presence following our 2021 acquisitions of dealership services businesses.
Service revenue for the six months ended June 30, 2022 grew 80.1% over the six months ended June 30, 2021. Within this category, software revenue grew 20.7% over the six months ended June 30, 2021. This increase was due to an increase in total subscribers to our DAP software. Cutbank credit revenue increased 18.0% over the six months ended June 30, 2021 due to substantial growth in our North American operations. Installation labor increased 139.6% over the six months ended June 30, 2021 due to a substantially increased installation presence following our 2021 acquisitions of dealership services businesses.
Total installation revenue (labor and product combined) at our installation centers increased 106.2% over the three months ended June 30, 2021. This represented 15.7% and 9.3% of our total consolidated revenue for the three months ended June 30, 2022 and 2021, respectively. This increase was due primarily to acquired dealership services businesses in 2021. Total installation revenue increased 139.6% over the six months ended June 30, 2021. This represented 15.5% and 8.4% of our total consolidated revenue for the six months ended June 30, 2022 and 2021, respectively. This increase was due primarily to acquired dealership services businesses in 2021.
Adjusted product revenue, which combines the cutbank credit revenue service component with product revenue, increased 14.8% over the three months ended June 30, 2021. Adjusted product revenue increased 20.6% versus the six months ended June 30, 2021. For both the three and six 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 June 30, 2022 increased 9.0% over the three months ended June 30, 2021. Cost of product sales represented 52.7% and 59.1% of total revenue in the three months ended June 30, 2022 and 2021, respectively. Cost of service revenue grew 130.6% during the three months ended June 30, 2022 due mainly to the increased installation labor costs associated with our acquired dealership services businesses in 2021.
Product costs for the six months ended June 30, 2022 increased 14.3% over the six months ended June 30, 2021. Cost of product sales represented 52.9% and 59.8% of total revenue in the six months
25


ended June 30, 2022 and 2021, respectively. Cost of service revenue grew 156.3% during the six months ended June 30, 2022 due mainly to the increased installation labor costs associated with our acquired dealership services businesses in 2021.
Gross Margin
Gross margin for the three months ended June 30, 2022 grew approximately $7.7 million, or 30.6%, from the three months ended June 30, 2021. For the three months ended June 30, 2022, gross margin represented 39.3% of revenue compared to 36.7% for the three months ended June 30, 2021
Gross margin for the six months ended June 30, 2022 grew approximately $17.2 million, or 39.4%, from the six months ended June 30, 2021. For the six months ended June 30, 2022, gross margin represented 39.0% of revenue compared to 36.1% for the six months ended June 30, 2021.
The following tables summarize gross margin for product and services for the three and six months ended June 30, 2022 and 2021 (in thousands except percentage figures):
Three Months Ended June 30,%% of Category Revenue
20222021Inc (Dec)20222021
Product $22,813 $18,074 26.2 %34.0 %30.8 %
Service 10,170 7,173 41.8 %60.4 %71.2 %
Total$32,983 $25,247 30.6 %39.3 %36.7 %
Six Months Ended June 30,%% of Category Revenue
20222021Inc (Dec)20222021
Product $42,716 $31,460 35.8 %34.1 %30.4 %
Service $17,984 $12,074 48.9 %58.7 %71.0 %
Total$60,700 $43,534 39.4 %39.0 %36.1 %
Product gross margin for the three months ended June 30, 2022 increased approximately $4.7 million, or 26.2%, over the three months ended June 30, 2021 and represented 34.0% and 30.8% of total product revenue for the three months ended June 30, 2022 and 2021, respectively. This increase was due primarily to decreases in product costs and improved operating leverage.
Product gross margin for the six months ended June 30, 2022 increased approximately $11.3 million, or 35.8%, over the six months ended June 30, 2021 and represented 34.1% and 30.4% of total product revenue for the six months ended June 30, 2022 and 2021, respectively. This increase was due primarily to decreases in product costs and improved operating leverage.
Service gross margin increased approximately $3.0 million, or 41.8%, over the three months ended June 30, 2021. This represented 60.4% and 71.2% of total service revenue for the three months ended June 30, 2022 and 2021, respectively. The decrease in service gross margin percentage for the three months ended June 30, 2022 was primarily due to a higher percentage of lower margin installation labor costs relative to other higher margin service revenue components including a $0.3 million impact from low new car dealership inventories that impacted our dealership business.
Service gross margin increased approximately $5.9 million, or 48.9%, over the six months ended June 30, 2021. This represented 58.7% and 71.0% of total service revenue for the six months ended June 30, 2022 and 2021, respectively. The decrease in service gross margin percentage for the six months ended June 30, 2022 was primarily due to a higher percentage of lower margin installation labor
26


costs relative to other higher margin service revenue components including a $0.6 million impact from low new car dealership inventories that impacted our dealership business.
Operating Expenses
Sales and marketing expenses for the three months ended June 30, 2022 increased 26.0% compared to the same period in 2021. This increase was due to increased personnel and travel related expenses related to support the ongoing growth of the business. These expenses represented 7.0% and 6.8% of total consolidated revenue for the three months ended June 30, 2022 and 2021, respectively.
For the six months ended June 30, 2022, sales and marketing expenses increased 51.3% compared to the same period in 2021. This increase was due to increased personnel and travel related expenses to support the ongoing growth of the business. These expenses represented 7.8% and 6.7% of total consolidated revenue for the six months ended June 30, 2022 and 2021, respectively.
General and administrative expenses grew approximately $3.4 million, or 43.6% over the three months ended June 30, 2021. This increase in cost was due primarily to increases in personnel, occupancy costs and professional fees to support ongoing growth and acquisition related expenses including amortization associated with intangible assets acquired in 2021. These costs represented 13.5% and 11.5% of total consolidated revenue for the three months ended June 30, 2022 and 2021, respectively.
General and administrative expenses grew approximately $8.5 million, or 59.4% over the six months ended June 30, 2021. This increase in cost was due primarily to increases in personnel, occupancy costs and professional fees to support ongoing growth and acquisition related expenses including amortization associated with intangible assets acquired in 2021. These costs represented 14.6% and 11.8% of total consolidated revenue for the six months ended June 30, 2022 and 2021, respectively.
Other Expenses
Other expenses consist of interest expense and foreign currency exchange gain/loss. Interest expense increased during the three and six months ended June 30, 2022 due to borrowings on our line of credit. Foreign currency losses during the three and six months ended June 30, 2022 increased over the respective prior year periods due to fluctuations in the various currencies in which we conduct business.
Income Tax Expense
Income tax expense for the three months ended June 30, 2022 increased $0.6 million from the three months ended June 30, 2021. Our effective tax rate was 20.5% for the three months ended June 30, 2022 compared with 19.7% for the three months ended June 30, 2021. The increase in our effective tax rate was primarily due to an increase in our state tax effective rate and the impact of international operations.
Income tax expense for the six months ended June 30, 2022 increased $1.0 million from the same period in 2021, Our effective tax rate was 20.5% for the six months ended June 30, 2022 compared with 19.5% for the six months ended June 30, 2021. The increase in our effective tax rate was primarily due to an increase in our state effective rate and the impact of international operations.
Net income for the three months ended June 30, 2022 increased 16.9% to $11.9 million.
Net income for the six months ended June 30, 2022 increased 15.7% to $19.7 million.

27


Liquidity and Capital Resources
Our primary sources of liquidity are available cash and cash equivalents and cash flows provided by operations. As of June 30, 2022, we had cash and cash equivalents of $9.3 million. For the six months ended June 30, 2022, cash used in operations was $2.5 million. We expect available cash, internally generated funds, and borrowings from our committed credit facility 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 used in operations for the six months ended June 30, 2022 was $2.5 million compared to positive cash flows of $19.1 million during the six months ended June 30, 2021. This decrease was due mainly to an intentional inventory build-up to assist in reducing our exposure to future supply chain risk.
Investing activities. Cash used in investing activities totaled approximately $4.6 million during the six months ended June 30, 2022 compared to $33.6 million during the six months ended June 30, 2021. This decrease was due mainly to the 2021 acquisition of PermaPlate Films LLC, which was completed in May 2021.
Financing activities. Cash flows provided by financing activities during the six months ended June 30, 2022 totaled approximately $6.7 million compared to cash use in the prior year of $5.4 million. This change was due primarily to new borrowings on our revolving credit facility during the six months ended June 30, 2022.
Debt obligations as of June 30, 2022 and December 31, 2021 totaled approximately $32.2 million and $25.5 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. In the short-term, we are contractually obligated to make lease payments and make payments on unsecured non-interest bearing promissory notes payable and contingent liabilities related to certain completed acquisitions. In the long-term, we are contractually obligated to make lease payments, pay contingent liabilities as they are earned, and repay borrowings on our line of credit. We believe that we have sufficient cash and cash equivalents and borrowing capacity to cover our estimated short-term and long-term funding needs.
Credit Facilities
The Company has a $75.0 million revolving line of credit with a financial institution. The facility is utilized to fund the Company's working capital needs and other strategic initiatives, and is secured by a security interest in substantially all of the Company's current and future assets. Borrowings under the credit agreement bear interest on at the Wall Street Journal U.S. Prime Rate less 0.75% per annum if the Company's EBITDA ratio (as defined in the Loan Agreement governing the facility) is equal to or less than 2.00 to 1.00 or the Wall Street Journal U.S. Prime rate less 0.25% if the Company's EBITDA ratio is greater than 2.00 to 1.00. The facility also contains a fee of 0.25% of the unused capacity on the facility. The interest rate for this credit facility as of June 30, 2022 and December 31, 2021 was 4.00% and 2.50%, respectively. The Company paid interest charges on borrowings under this facility of $0.3 and $0.5 during the three and six months ended June 30, 2022, respectively, and owed a balance of $32.0 million
28


and $25.0 million as of June 30, 2022 and December 31, 2021, respectively. This facility matures on July 5, 2024.
The Loan Agreement governing the facility contains customary covenants relating to maintaining legal existence and good standing, complying with applicable laws, delivery of financial statements, payment of taxes and maintaining insurance. The Loan Agreement contains two financial covenants:
(1) Senior Funded Debt (as defined in the Loan Agreement) divided by EBITDA (as defined in the Loan Agreement) at or below 3.50 : 1.00 when tested at the end of each fiscal quarter on a rolling four-quarter basis, and
(2) A minimum Debt Service Coverage Ratio (as defined in the Loan Agreement) of 1.25 : 1.00 at the end of each fiscal quarter when measured on a rolling four-quarter basis.
The Company also has a CAD $4.5 million revolving credit facility through HSBC Bank Canada, and is 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 June 30, 2022 and December 31, 2021, no balance was outstanding on this line of credit.

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, and the New Taiwanese 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.
29



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 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
30


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, except as noted below:
We have operations or activities in numerous countries and market-regions throughout the world. As a result, our global financial results are affected by economic, political and other conditions in the global economy as well as in the United States. Economic conditions in several of our markets are increasingly experiencing increasing inflation which could impact the demand for our products. This could significantly impact our future financial results.


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

Item 3. Defaults Upon Senior Securities
Not applicable.

Item 4. Mine Safety Disclosures
Not applicable.

Item 5. Other Information
None.

Item 6. Exhibits
The following exhibits are being filed or furnished with this quarterly report on Form 10-Q:
31


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.
 XPEL, Inc. (Registrant)
  
 By:/s/ Barry R. Wood
 Barry R. Wood
 Senior Vice President and Chief Financial Officer
August 9, 2022(Authorized Officer and Principal Financial and Accounting Officer)

32
EX-31.1 2 a2022q2exhibitno311.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: August 9, 2022

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: August 9, 2022
/s/ Ryan L. Pape
Ryan L. Pape
President and Chief Executive Officer
(Principal Executive Officer)



EX-31.2 3 a2022q2exhibitno312.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: August 9, 2022

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: August 9, 2022
/s/ Barry R. Wood 
Barry R. Wood
Senior Vice President
Chief Financial Officer
(Principal Financial Officer)



EX-32.1 4 a2022q2exhibitno321.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 June 30, 2022 (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: August 9, 2022
/s/ Ryan L. Pape
Ryan L. Pape
President and Chief Executive Officer



EX-32.2 5 a2022q2exhibitno322.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 June 30, 2022 (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: August 9, 2022
/s/ Barry R. Wood
Barry R. Wood
Senior Vice President and Chief Financial Officer


EX-101.SCH 6 xpel-20220630.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0001001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 1001002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1003004 - Statement - Condensed Consolidated Statements of Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1004005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1005006 - Statement - Condensed Consolidated Statements of Changes in Stockholders’ Equity (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1006007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 2101101 - Disclosure - INTERIM FINANCIAL INFORMATION link:presentationLink link:calculationLink link:definitionLink 2102102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 2203201 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 2304301 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 2405401 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Ownership Percentages and Functional Currencies (Details) link:presentationLink link:calculationLink link:definitionLink 2406402 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details) link:presentationLink link:calculationLink link:definitionLink 2407403 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 2408404 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) link:presentationLink link:calculationLink link:definitionLink 2109103 - Disclosure - REVENUE link:presentationLink link:calculationLink link:definitionLink 2310302 - Disclosure - REVENUE (Tables) link:presentationLink link:calculationLink link:definitionLink 2411405 - Disclosure - REVENUE - Transactions Within Contract Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 2412406 - Disclosure - REVENUE - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 2413407 - Disclosure - REVENUE - Revenue Estimate By Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 2414408 - Disclosure - REVENUE - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2115104 - Disclosure - PROPERTY AND EQUIPMENT, NET link:presentationLink link:calculationLink link:definitionLink 2316303 - Disclosure - PROPERTY AND EQUIPMENT, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 2417409 - Disclosure - PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 2418410 - Disclosure - PROPERTY AND EQUIPMENT, NET - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2119105 - Disclosure - INTANGIBLE ASSETS, NET link:presentationLink link:calculationLink link:definitionLink 2320304 - Disclosure - INTANGIBLE ASSETS, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 2421411 - Disclosure - INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 2422412 - Disclosure - INTANGIBLE ASSETS, NET - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2123106 - Disclosure - GOODWILL link:presentationLink link:calculationLink link:definitionLink 2324305 - Disclosure - GOODWILL (Tables) link:presentationLink link:calculationLink link:definitionLink 2425413 - Disclosure - GOODWILL - Schedule of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2426414 - Disclosure - GOODWILL - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2127107 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 2328306 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 2429415 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 2130108 - Disclosure - DEBT link:presentationLink link:calculationLink link:definitionLink 2331307 - Disclosure - DEBT (Tables) link:presentationLink link:calculationLink link:definitionLink 2432416 - Disclosure - DEBT - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 2433417 - Disclosure - DEBT - Schedule of Notes Payable (Details) link:presentationLink link:calculationLink link:definitionLink 2134109 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES link:presentationLink link:calculationLink link:definitionLink 2335308 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 2436418 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details) link:presentationLink link:calculationLink link:definitionLink 2137110 - Disclosure - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 2338309 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 2439419 - Disclosure - FAIR VALUE MEASUREMENTS (Details) link:presentationLink link:calculationLink link:definitionLink 2140111 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 2141112 - Disclosure - EARNINGS PER SHARE link:presentationLink link:calculationLink link:definitionLink 2342310 - Disclosure - EARNINGS PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 2443420 - Disclosure - EARNINGS PER SHARE (Details) link:presentationLink link:calculationLink link:definitionLink 2144113 - Disclosure - ACQUISITIONS OF BUSINESSES link:presentationLink link:calculationLink link:definitionLink 2445421 - Disclosure - ACQUISITIONS OF BUSINESSES - (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 xpel-20220630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 xpel-20220630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 xpel-20220630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Business Acquisition [Axis] Business Acquisition [Axis] Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Face value of acquisition notes payable Notes Payable Texas Partners Bank Texas Partners Bank [Member] Texas Partners Bank 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] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Weighted Average Number of Common Shares Earnings Per Share, Basic and Diluted, Other Disclosure [Abstract] Earnings Per Share, Basic and Diluted, Other Disclosure Net income Net income Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Bad debt expense Accounts Receivable, Credit Loss Expense (Reversal) Income tax expense Income Tax Expense (Benefit) Geographical [Domain] Geographical [Domain] Deferred tax liability, net Deferred Income Tax Liabilities, Net Schedule of Product Warranty Liability Schedule of Product Warranty Liability [Table Text Block] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Income Statement [Abstract] Income Statement [Abstract] Entity Address, Postal Zip Code Entity Address, Postal Zip Code Additional Paid-in-Capital Additional Paid-in Capital [Member] Document Fiscal Period Focus Document Fiscal Period Focus Acquisition holdback payments Acquisition Holdback Payments, Current Acquisition Holdback Payments, Current Total cost of sales Cost of Goods and Services Sold PermaPlate Film, LLC PermaPlate Film LLC [Member] PermaPlate Film LLC Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Diluted (in shares) Weighted average diluted shares (in shares) Weighted Average Number of Shares Outstanding, Diluted Preferred stock shares outstanding (in shares) Preferred Stock, Shares Outstanding Less: accumulated depreciation Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Schedule of Inventory Schedule of Inventory, Current [Table Text Block] Debt Instrument [Axis] Debt Instrument [Axis] Total property and equipment Property, Plant and Equipment, Gross Maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity XPEL Spain XPEL Spain [Member] XPEL Spain Current portion of notes payable Current portion Notes Payable, Current Accounts payable and accrued liabilities Accounts payable and accrued liabilities Accounts Payable and Accrued Liabilities, Current Common stock, $0.001 par value; 100,000,000 shares authorized; 27,612,597 issued and outstanding Common Stock, Value, Issued Additional paid-in-capital Additional Paid in Capital Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] XPEL Germany GmbH XPEL Germany GmbH [Member] XPEL Germany GmbH [Member] Warranties assumed in period Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Basis spread on prime rate Debt Instrument, Basis Spread on Variable Rate Face value of acquisition notes payable Acquisition Notes Payable Due 2023 [Member] Acquisition Notes Payable Due 2023 [Member] Other Other Geographic Region [Member] Other Geographic Region [Member] Asia Pacific Asia Pacific [Member] Depreciation of property, plant and equipment Depreciation expense Depreciation Preferred stock shares authorized (in shares) Preferred Stock, Shares Authorized 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 Business acquisition reduction in net identifiable intangible assets Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Intangibles COMMITMENTS AND CONTINGENCIES Commitments and Contingencies Disclosure [Text Block] Current Liabilities, Current [Abstract] Common stock shares issued (in shares) Common Stock, Shares, Issued XPEL Acquisition Corp. XPEL Acquisition Corp. [Member] XPEL Acquisition Corp. [Member] Net income Net income Net Income (Loss) Attributable to Parent Beginning contract liabilities Ending contract liabilities Contract liabilities Contract with Customer, Liability, Current Other Other Intangible Assets [Member] Foreign currency exchange (gain) loss Foreign Currency Transaction Gain (Loss), before Tax Scenario One Scenario One [Member] Scenario One 1716808 Alberta, Ltd. o/a Shadow Tint 1716808 Alberta, Ltd. o/a Shadow Tint [Member] 1716808 Alberta, Ltd. o/a Shadow Tint Equity Component [Domain] Equity Component [Domain] Amendment Flag Amendment Flag Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Ownership [Axis] Ownership [Axis] Total comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Schedule of Fair Value, Liabilities Measured on Recurring Basis Fair Value, Liabilities Measured on Recurring Basis [Table Text Block] XPEL Canada Corp. XPEL Canada Corp. [Member] XPEL Canada Corp. [Member] Additions Goodwill, Acquired During Period Fair Value Measurements Fair Value Measurement, Policy [Policy Text Block] Construction in Progress Construction in Progress [Member] Entity Current Reporting Status Entity Current Reporting Status Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Other non-current assets Other Assets, Noncurrent Business acquisition reduction in deferred tax liabilities Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Deferred Tax Liabilities Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Deferred Tax Liabilities Business acquisition reduction in amortization expense Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Amortization Expense Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Amortization Expense Movement in Deferred Revenue [Roll Forward] Movement in Deferred Revenue [Roll Forward] Supplemental cash flow information Supplemental Cash Flow Information [Abstract] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Number of operating segments Number of Operating Segments Line of credit facility, unused capacity, commitment fee percentage Line of Credit Facility, Unused Capacity, Commitment Fee Percentage Repayments of notes payable Repayments of Notes Payable Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Amount outstanding Long-Term Line of Credit Entity Address, State or Province Entity Address, State or Province Other comprehensive income Other Comprehensive Income (Loss), Net of Tax [Abstract] Net cash (used in) provided by operating activities Net Cash Provided by (Used in) Operating Activities Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current portion lease liabilities Operating Lease, Liability, Current Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Foreign exchange impact on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Liabilities Liabilities [Abstract] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Contingent liability, period decrease Loss Contingency Accrual, Period Increase (Decrease) Non-cash lease financing Lease Obligation Incurred Lender Name [Axis] Lender Name [Axis] Allowance for doubtful accounts included in accounts receivable Accounts Receivable, Allowance for Credit Loss, Current Common stock shares authorized (in shares) Common Stock, Shares Authorized Total liabilities Liabilities invisiFRAME, Ltd. invisiFRAME, Ltd. [Member] invisiFRAME, Ltd. Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Geographical [Axis] Geographical [Axis] Total operating expenses Operating Expenses Open period adjustments for 2021 acquisitions not yet finalized Reduction in estimate of goodwill Goodwill, Purchase Accounting Adjustments Cash flows used in investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Payments Standard and Extended Product Warranty Accrual, Decrease for Payments Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Revolving Credit Facility Revolving Credit Facility [Member] Total current assets Assets, Current Schedule of Property, Plant and Equipment Property, Plant and Equipment [Table Text Block] Revenue recognition Revenue from Contract with Customer [Policy Text Block] Cash paid for income taxes Income Taxes Paid, Net Preferred stock shares issued (in shares) Preferred Stock, Shares Issued Document Type Document Type XPEL B.V. XPEL B.V [Member] XPEL B.V [Member] Revenue recognized related to payments included in the beginning balance Contract with Customer, Liability, Revenue Recognized Business Acquisition [Line Items] Business Acquisition [Line Items] Covenant, debt service coverage ratio required, minimum Debt Instrument, Covenant, Debt Service Coverage Ratio Required, Minimum Debt Instrument, Covenant, Debt Service Coverage Ratio Required, Minimum Entity Small Business Entity Small Business Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Middle East/Africa Middle East, Africa [Member] Middle East, Africa [Member] Measurement Frequency [Domain] Measurement Frequency [Domain] Intangible assets, net Intangible assets, net Finite-Lived Intangible Assets, Net Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Line of Credit Facility [Table] Line of Credit Facility [Table] DEBT Debt Disclosure [Text Block] SIGNIFICANT ACCOUNTING POLICIES Significant Accounting Policies [Text Block] Product and Service [Domain] Product and Service [Domain] Entity Shell Company Entity Shell Company PROPERTY AND EQUIPMENT, NET Property, Plant and Equipment Disclosure [Text Block] Accretion on notes payable Amortization of Debt Discount (Premium) Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Earnings per share Earnings (Loss) Per Share [Abstract] Earnings (Loss) Per Share Accounts receivable Increase (Decrease) in Accounts Receivable Title of 12(b) Security Title of 12(b) Security Change in Contract with Customer, Liability [Abstract] Change in Contract with Customer, Liability [Abstract] INTERIM FINANCIAL INFORMATION Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] Vehicles Vehicles [Member] Schedule of Transactions Within Contract Liabilities Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Document Period End Date Document Period End Date Software Service Revenue, Software [Member] Service, Software [Member] Business Combination and Asset Acquisition [Abstract] Debt Instrument [Line Items] Debt Instrument [Line Items] Total assets Assets 1 One Armor, Inc. 1 One Armor, Inc. [Member] 1 One Armor, Inc. Debt Disclosure [Abstract] Debt Disclosure [Abstract] Earnings Per Share [Abstract] Accounts Receivable Accounts Receivable [Policy Text Block] Noncontrolling Interest [Table] Noncontrolling Interest [Table] Training Service Revenue, Training [Member] Service, Training [Member] Schedule of Accounts Payable and Accrued Liabilities Schedule of Accounts Payable and Accrued Liabilities [Table Text Block] Foreign currency translation Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent TintNet, Inc. TintNet, Inc. [Member] TintNet, Inc. Number of businesses for which purchase price remain preliminary Business Combination, Provisional Information, Initial Accounting Incomplete, Number Of Businesses Business Combination, Provisional Information, Initial Accounting Incomplete, Number Of Businesses Development of intangible assets Payments to Acquire Intangible Assets Net cash used in provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Accounting Policies [Abstract] Accounting Policies [Abstract] Inventory, net Inventory, net Inventory, Net Payroll liabilities Employee-related Liabilities, Current Net borrowings on revolving credit agreement Proceeds from (Repayments of) Lines of Credit Reduction in purchase price Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred Line of Credit Line of Credit [Member] Number of businesses acquired Number of Businesses Acquired Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Stockholders’ equity Stockholders' Equity Attributable to Parent [Abstract] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Deferred income tax Deferred Income Taxes and Tax Credits Unamortized discount Debt Instrument, Unamortized Discount EARNINGS PER SHARE Earnings Per Share [Text Block] Customer [Axis] Customer [Axis] Entity Filer Category Entity Filer Category Basic (in shares) Weighted average basic shares (in shares) Weighted Average Number of Shares Outstanding, Basic United States UNITED STATES Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Income tax receivable Income Taxes Receivable, Current Computer equipment Computer Equipment [Member] Gross Margin Gross Profit Commitments and Contingencies (Note 11) Commitments and Contingencies Security Exchange Name Security Exchange Name Entity Registrant Name Entity Registrant Name Debt instrument, EBITDA ratio (equal or less than) Debt Instrument, EBITDA Ratio Debt Instrument, EBITDA Ratio China CHINA Preferred stock, $0.001 par value; authorized 10,000,000; none issued and outstanding Preferred Stock, Value, Issued Borrowings on line of credit Long-Term Line of Credit, Noncurrent Numerator Net Income (Loss) Available to Common Stockholders, Diluted [Abstract] Software Software Development [Member] Foreign Exchange Goodwill, Foreign Currency Translation Gain (Loss) Schedule of Notes Payable Schedule of Debt [Table Text Block] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Contractual and customer relationships Customer Relationships [Member] Total revenue Revenue from Contract with Customer, Excluding Assessed Tax Entity Address, City or Town Entity Address, City or Town Debt instrument, covenant, funded debt to EBITDA ratio, maximum Debt Instrument, Covenant, Funded Debt To EBITDA Ratio, Maximum Debt Instrument, Covenant, Funded Debt To EBITDA Ratio, Maximum Other Product Revenue, Other [Member] Product, Other [Member] Operating Expenses Operating Expenses [Abstract] Cover page. Cover [Abstract] Schedule of Long-term Debt Instruments [Table] Schedule of Long-Term Debt Instruments [Table] Fair Value, Inputs, Level 3 Fair Value, Inputs, Level 3 [Member] Work in process Inventory, Work in Process, Net of Reserves REVENUE Revenue from Contract with Customer [Text Block] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Entity Emerging Growth Company Entity Emerging Growth Company Variable Rate Component [Axis] Variable Rate Component [Axis] Variable Rate Component Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Raw materials Inventory, Raw Materials, Net of Reserves Cutbank credits Service Revenue, Cutbank Credits [Member] Service, Cutbank Credits [Member] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] XPEL, Ltd. XPEL, Ltd. [Member] XPEL, Ltd. [Member] FAIR VALUE MEASUREMENTS Fair Value Disclosures [Text Block] Other Service Revenue, Other [Member] Service Revenue, Other Interest payment Debt Instrument, Periodic Payment, Interest Cost of Sales Cost of Goods and Services Sold [Abstract] Total liabilities and stockholders’ equity Liabilities and Equity Trading Symbol Trading Symbol Entity File Number Entity File Number INTANGIBLE ASSETS, NET Intangible Assets Disclosure [Text Block] Trade payables Accounts Payable, Trade, Current Long-term Debt, Type [Axis] Long-Term Debt, Type [Axis] Goodwill [Roll Forward] Goodwill [Roll Forward] XPEL France XPEL France [Member] XPEL France Dilutive effect of restricted stock units (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Canada CANADA Provisions and Warranties Standard Product Warranty, Policy [Policy Text Block] Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Equipment Equipment [Member] Acquisition of a business, net of cash acquired Payments to Acquire Businesses, Net of Cash Acquired Number of covenants Debt Instrument, Number Of Covenants Debt Instrument, Number Of Covenants 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 6873391 Canada, Ltd. o/a Shadow Shield 6873391 Canada, Ltd. o/a Shadow Shield [Member] 6873391 Canada, Ltd. o/a Shadow Shield Current Fiscal Year End Date Current Fiscal Year End Date ACCOUNTS PAYABLE AND ACCRUED LIABILITIES Accounts Payable and Accrued Liabilities Disclosure [Text Block] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Diluted (in dollars per share) Earnings Per Share, Diluted Use of Estimates Use of Estimates, Policy [Policy Text Block] ACQUISITIONS OF BUSINESSES Business Combination Disclosure [Text Block] Proceeds from sale of property and equipment Proceeds from Sale of Property, Plant, and Equipment Largest Customers Largest Customer [Member] Largest Customer [Member] North 1 Technologies, Inc. North 1 Technologies, Inc. [Member] North 1 Technologies, Inc. Gain on sale of property and equipment, net Gain (Loss) on Disposition of Property Plant Equipment Ownership percentage Noncontrolling Interest, Ownership Percentage by Parent Fair Value Option, Disclosures [Table] Fair Value Option, Disclosures [Table] Prime Rate Prime Rate [Member] Concentration risk percentage Concentration Risk, Percentage Concentration Risk Type [Axis] Concentration Risk Type [Axis] Total current liabilities Liabilities, Current Schedule of Ownership Interests and Functional Currencies Schedule of Investments in and Advances to Affiliates, Schedule of Investments [Table Text Block] Warranty liability Warranty liability, beginning balance Warranty liability, ending balance Standard and Extended Product Warranty Accrual XPEL Slovakia XPEL Slovakia [Member] XPEL Slovakia Accounts payable and accrued liabilities Increase (Decrease) in Accounts Payable and Accrued Liabilities Weighted Average Interest Rate Debt, Weighted Average Interest Rate Plotters Computer Equipment, Plotter [Member] Computer Equipment, Plotter [Member] Customer Concentration Risk Customer Concentration Risk [Member] Non-current portion of notes payable Total long-term debt Notes Payable, Noncurrent Finished goods Inventory, Finished Goods, Net of Reserves Credit Facility [Domain] Credit Facility [Domain] Paint protection film Product Revenue, Paint Protection Film [Member] Product, Paint Protection Film [Member] Amortization of intangible assets Amortization of Intangible Assets Schedule of Goodwill Schedule of Goodwill [Table Text Block] Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Basic (in dollars per share) Earnings Per Share, Basic Revenue from Contract with Customer Benchmark Revenue from Contract with Customer Benchmark [Member] Apogee Corp. Apogee Corp. [Member] Apogee Corp. [Member] Income tax receivable and payable Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable Entity Address, Address Line One Entity Address, Address Line One Concentration Risk Type [Domain] Concentration Risk Type [Domain] Sales and marketing Selling and Marketing Expense Total stockholders’ equity Beginning balance Ending balance Stockholders' Equity Attributable to Parent Product and Service [Axis] Product and Service [Axis] Continental Europe Europe [Member] Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] Protex Canada, Inc. Protex Canada, Inc. [Member] Protex Canada, Inc. [Member] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Ownership [Domain] Ownership [Domain] Interest expense Interest Expense Entity Interactive Data Current Entity Interactive Data Current Noncontrolling Interest [Line Items] Noncontrolling Interest [Line Items] Trade names Trade Names [Member] Less: Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Credit Facility [Axis] Credit Facility [Axis] Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Changes in assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] INVENTORIES Inventory Disclosure [Text Block] Retained Earnings Retained Earnings [Member] Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Entity Tax Identification Number Entity Tax Identification Number Net change in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect Common Stock Common Stock [Member] Contingent Liabilities Business Combination, Contingent Consideration, Liability Accounts Payable and Accrued Liabilities [Abstract] Accounts Payable and Accrued Liabilities [Abstract] Variable Rate Component [Domain] Variable Rate Component [Domain] VariableRateComponentAxis [Domain] Statement [Table] Statement [Table] Schedule of Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Revenue Revenue from Contract with Customer [Abstract] Stock-based compensation APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition Document Quarterly Report Document Quarterly Report Non-compete Noncompete Agreements [Member] Furniture and fixtures Furniture and Fixtures [Member] Current Assets, Current [Abstract] Non-current portion of lease liabilities Operating Lease, Liability, Noncurrent Decrease in cash and cash equivalents during the period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] Leasehold improvements Leasehold Improvements [Member] Schedule of Revenue Estimate by Geographic Areas Revenue from External Customers by Geographic Areas [Table Text Block] Retained earnings Retained Earnings (Accumulated Deficit) XPEL de Mexico S. de R.L. de C.V. XPEL De Mexico S. De R.L. De C.V. [Member] XPEL De Mexico S. De R.L. De C.V. [Member] Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Entity Central Index Key Entity Central Index Key Equity Components [Axis] Equity Components [Axis] HSBC Bank Canada HSBC Bank Canada [Member] HSBC Bank Canada [Member] Repayments on term loan Repayments of Secured Debt Measurement Frequency [Axis] Measurement Frequency [Axis] Trademarks Trademarks [Member] Fair Value, Recurring Fair Value, Recurring [Member] Latin America Latin America [Member] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Installation labor Service Revenue, Installation Labor [Member] Service, Installation Labor [Member] Segment Reporting Segment Reporting, Policy [Policy Text Block] Effect of foreign currency translation Contract with Customer, Liability, Foreign Currency Translation Contract with Customer, Liability, Foreign Currency Translation Document Fiscal Year Focus Document Fiscal Year Focus United Kingdom UNITED KINGDOM Window film Product Revenue, Window Film [Member] Product, Window Film [Member] Cash flows from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] City Area Code City Area Code General and administrative General and Administrative Expense Statement [Line Items] Statement [Line Items] Assets Assets [Abstract] Other liabilities Accounts Payable and Other Accrued Liabilities, Current Long-term Debt, Type [Domain] Long-Term Debt, Type [Domain] Variable Rate [Domain] Variable Rate [Domain] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Total cost Finite-Lived Intangible Assets, Gross Reduction in contingent liabilities Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability GOODWILL Goodwill Disclosure [Text Block] Cash flows from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Product Product [Member] Right-of-use lease assets Operating Lease, Right-of-Use Asset Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Supplemental schedule of non-cash activities Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract] Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Variable Rate [Axis] Variable Rate [Axis] Other long-term liabilities Other Liabilities, Noncurrent Document Transition Report Document Transition Report Local Phone Number Local Phone Number Purchase of property, plant and equipment Payments to Acquire Property, Plant, and Equipment Operating Income Operating Income (Loss) Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Inventory, net Increase (Decrease) in Inventories Recent Accounting Pronouncements Issued and Not Yet Adopted New Accounting Pronouncements, Policy [Policy Text Block] Schedule of Earnings Per Share, Basic and Diluted Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Interest rate Line of Credit Facility, Interest Rate at Period End Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Fair Value, Option, Quantitative Disclosures [Line Items] Fair Value, Option, Quantitative Disclosures [Line Items] Denominator Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Common stock shares outstanding (in shares) Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding Service Service [Member] Goodwill Goodwill beginning balance Goodwill ending balance Goodwill Scenario Two Scenario Two [Member] Scenario Two Customer [Domain] Customer [Domain] Movement in Standard Product Warranty Accrual [Roll Forward] Movement in Standard Product Warranty Accrual [Roll Forward] EX-101.PRE 10 xpel-20220630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 11 xpel-20220630_g1.jpg GRAPHIC begin 644 xpel-20220630_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.22.2
Cover Page - shares
6 Months Ended
Jun. 30, 2022
Aug. 09, 2022
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2022  
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 3251 I-35  
Entity Address, City or Town San Antonio  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 78219  
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,616,064
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2022  
Document Fiscal Period Focus Q2  
Entity Central Index Key 0001767258  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.22.2
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Current    
Cash and cash equivalents $ 9,321 $ 9,644
Accounts receivable, net 19,119 13,159
Inventory, net 74,142 51,936
Prepaid expenses and other current assets 4,434 3,672
Income tax receivable 550 617
Total current assets 107,566 79,028
Property and equipment, net 12,169 9,898
Right-of-use lease assets 13,580 12,910
Intangible assets, net 29,777 32,733
Other non-current assets 893 791
Goodwill 25,071 25,655
Total assets 189,056 161,015
Current    
Current portion of notes payable 159 375
Current portion lease liabilities 3,673 2,978
Accounts payable and accrued liabilities 36,587 32,915
Total current liabilities 40,419 36,268
Deferred tax liability, net 2,412 2,748
Other long-term liabilities 1,140 2,631
Borrowings on line of credit 32,000 25,000
Non-current portion of lease liabilities 10,008 9,830
Non-current portion of notes payable 0 76
Total liabilities 85,979 76,553
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,612,597 issued and outstanding 28 28
Additional paid-in-capital 10,760 10,581
Accumulated other comprehensive loss (1,860) (590)
Retained earnings 94,149 74,443
Total stockholders’ equity 103,077 84,462
Total liabilities and stockholders’ equity $ 189,056 $ 161,015
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.22.2
Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares
Jun. 30, 2022
Dec. 31, 2021
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,612,597 27,612,597
Common stock shares outstanding (in shares) 27,612,597 27,612,597
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.22.2
Condensed Consolidated Statements of Income (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Revenue        
Total revenue $ 83,890 $ 68,736 $ 155,754 $ 120,602
Cost of Sales        
Total cost of sales 50,907 43,489 95,054 77,068
Gross Margin 32,983 25,247 60,700 43,534
Operating Expenses        
Sales and marketing 5,906 4,687 12,218 8,075
General and administrative 11,328 7,888 22,696 14,240
Total operating expenses 17,234 12,575 34,914 22,315
Operating Income 15,749 12,672 25,786 21,219
Interest expense 322 44 542 97
Foreign currency exchange (gain) loss 457 (63) 462 (28)
Income before income taxes 14,970 12,691 24,782 21,150
Income tax expense $ 3,068 $ 2,505 5,076 4,117
Net income     $ 19,706 $ 17,033
Earnings per share        
Basic (in dollars per share) $ 0.43 $ 0.37 $ 0.71 $ 0.62
Diluted (in dollars per share) $ 0.43 $ 0.37 $ 0.71 $ 0.62
Weighted Average Number of Common Shares        
Basic (in shares) 27,613 27,613 27,613 27,613
Diluted (in shares) 27,613 27,613 27,613 27,613
Product        
Revenue        
Total revenue $ 67,040 $ 58,667 $ 125,137 $ 103,599
Cost of Sales        
Total cost of sales 44,227 40,593 82,421 72,139
Service        
Revenue        
Total revenue 16,850 10,069 30,617 17,003
Cost of Sales        
Total cost of sales $ 6,680 $ 2,896 $ 12,633 $ 4,929
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.22.2
Condensed Consolidated Statements of Comprehensive Income (Unaudited) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Other comprehensive income        
Net income $ 11,902 $ 10,186 $ 19,706 $ 17,033
Foreign currency translation (1,175) 226 (1,270) 16
Total comprehensive income $ 10,727 $ 10,412 $ 18,436 $ 17,049
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.22.2
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, 2020   27,613,000      
Beginning balance at Dec. 31, 2020 $ 53,383 $ 28 $ 10,412 $ 42,877 $ 66
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 17,033     17,033  
Foreign currency translation 16       16
Ending balance (in shares) at Jun. 30, 2021   27,613,000      
Ending balance at Jun. 30, 2021 70,432 $ 28 10,412 59,910 82
Beginning balance (in shares) at Mar. 31, 2021   27,613,000      
Beginning balance at Mar. 31, 2021 60,020 $ 28 10,412 49,724 (144)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 10,186     10,186  
Foreign currency translation 226       226
Ending balance (in shares) at Jun. 30, 2021   27,613,000      
Ending balance at Jun. 30, 2021 $ 70,432 $ 28 10,412 59,910 82
Beginning balance (in shares) at Dec. 31, 2021 27,612,597 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 19,706     19,706  
Foreign currency translation (1,270)       (1,270)
Stock-based compensation $ 179   179    
Ending balance (in shares) at Jun. 30, 2022 27,612,597 27,613,000      
Ending balance at Jun. 30, 2022 $ 103,077 $ 28 10,760 94,149 (1,860)
Beginning balance (in shares) at Mar. 31, 2022   27,613,000      
Beginning balance at Mar. 31, 2022 92,242 $ 28 10,652 82,247 (685)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 11,902     11,902  
Foreign currency translation (1,175)       (1,175)
Stock-based compensation $ 108   108    
Ending balance (in shares) at Jun. 30, 2022 27,612,597 27,613,000      
Ending balance at Jun. 30, 2022 $ 103,077 $ 28 $ 10,760 $ 94,149 $ (1,860)
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.22.2
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Cash flows from operating activities    
Net income $ 19,706 $ 17,033
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation of property, plant and equipment 1,596 803
Amortization of intangible assets 2,131 685
Gain on sale of property and equipment, net (11) (16)
Stock-based compensation 179 0
Bad debt expense 251 123
Deferred income tax 16 6
Accretion on notes payable 5 18
Changes in assets and liabilities:    
Accounts receivable (6,604) (849)
Inventory, net (22,725) (2,394)
Prepaid expenses and other assets (1,039) (1,624)
Income tax receivable and payable 96 1,206
Accounts payable and accrued liabilities 3,874 4,082
Net cash (used in) provided by operating activities (2,525) 19,073
Cash flows used in investing activities    
Purchase of property, plant and equipment (4,025) (3,461)
Proceeds from sale of property and equipment 53 16
Acquisition of a business, net of cash acquired 0 (29,992)
Development of intangible assets (623) (201)
Net cash used in investing activities (4,595) (33,638)
Cash flows from financing activities    
Net borrowings on revolving credit agreement 7,000 0
Repayments on term loan 0 (5,056)
Repayments of notes payable (294) (367)
Net cash used in provided by (used in) financing activities 6,706 (5,423)
Net change in cash and cash equivalents (414) (19,988)
Foreign exchange impact on cash and cash equivalents 91 (305)
Decrease in cash and cash equivalents during the period (323) (20,293)
Cash and cash equivalents at beginning of period 9,644 29,027
Cash and cash equivalents at end of period 9,321 8,734
Supplemental schedule of non-cash activities    
Non-cash lease financing 2,534 1,490
Supplemental cash flow information    
Cash paid for income taxes 4,677 2,939
Cash paid for interest $ 502 $ 92
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.22.2
INTERIM FINANCIAL INFORMATION
6 Months Ended
Jun. 30, 2022
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, 2021, which has been derived from audited financial statements, and (b) unaudited interim condensed consolidated financial statements as of and for the three and six months ended June 30, 2022 and 2021 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, 2022 (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.22.2
SIGNIFICANT ACCOUNTING POLICIES
6 Months Ended
Jun. 30, 2022
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 dollar. The assets and liabilities of each of its 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 income in the accompanying consolidated balance sheets. Foreign currency exchange gains and losses are presented as foreign currency exchange loss in the accompanying condensed consolidated statements of income. The ownership percentages and functional currencies of the entities included in these condensed consolidated financial statements are as follows:
SubsidiariesFunctional Currency% Owned by XPEL, Inc.
XPEL, Ltd.UK Pound Sterling100 %
XPEL Canada Corp.Canadian Dollar100 %
XPEL B.V.Euro100 %
XPEL Germany GmbHEuro100 %
XPEL de Mexico S. de R.L. de C.V.Peso100 %
XPEL Acquisition Corp.Canadian Dollar100 %
Protex Canada, Inc.Canadian Dollar100 %
Apogee Corp.New Taiwan Dollar100 %
XPEL SlovakiaEuro100 %
XPEL FranceEuro100 %
XPEL SpainEuro100 %
PermaPlate Film, LLCUS Dollar100 %
1 One Armor, Inc.US Dollar100 %
TintNet, Inc.US Dollar100 %
North 1 Technologies, Inc.Canadian Dollar100 %
1716808 Alberta, Ltd. o/a Shadow TintCanadian Dollar100 %
6873391 Canada, Ltd. o/a Shadow ShieldCanadian Dollar100 %
invisiFRAME, Ltd.UK Pound Sterling100 %
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 to 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 doubtful accounts of $0.3 million and $0.3 million as of June 30, 2022 and December 31, 2021, 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 June 30, 2022 or December 31, 2021.
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 June 30, 2022 and December 31, 2021 was $0.2 million and $0.1 million, respectively. The following tables present a summary of the Company's accrued warranty liabilities for the six months ended June 30, 2022 and the twelve months ended December 31, 2021 (in thousands):
2022
Warranty liability, January 1$75 
Warranties assumed in period$295 
Payments$(168)
Warranty liability, June 30$202 
2021
Warranty liability, January 1$52 
Warranties assumed in period$398 
Payments$(375)
Warranty liability, December 31$75 
Recent Accounting Pronouncements Issued and Not Yet Adopted
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. ASU 2016-13 is effective for the Company beginning January 1, 2023 and is required to be applied prospectively. We are currently evaluating the impact that ASU 2016-13 will have on our consolidated financial statements.
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.22.2
REVENUE
6 Months Ended
Jun. 30, 2022
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 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 six months ended June 30, 2022 (in thousands):
Balance, December 31, 2021$818 
Revenue recognized related to payments included in the December 31, 2021 balance$(556)
Payments received for which performance obligations have not been satisfied$181 
Effect of foreign currency translation$(2)
Balance, March 31, 2022$441 
Revenue recognized related to payments included in the March 31, 2022 balance$(387)
Payments received for which performance obligations have not been satisfied$1,012 
Effect of foreign currency translation$(8)
Balance, June 30, 2022$1,058 

The table below sets forth the disaggregation of revenue by product category for the periods indicated below (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2022202120222021
Product Revenue
Paint protection film$48,275 $45,245 $92,236 $81,030 
Window film15,786 11,084 27,320 18,243 
Other2,979 2,338 5,581 4,326 
Total
67,040 58,667 125,137 103,599 
Service Revenue
Software$1,247 $1,055 $2,453 $2,033 
Cutbank credits4,178 3,386 7,108 6,022 
Installation labor11,048 5,358 20,303 8,473 
Training306 270 655 475 
Other71 — 98 — 
Total16,850 10,069 30,617 17,003 
Total$83,890 $68,736 $155,754 $120,602 
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 (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2022202120222021
United States$49,166 $34,296 $90,753 $59,901 
China7,904 12,626 16,763 23,331 
Canada10,877 8,877 18,727 13,823 
Continental Europe6,944 5,215 12,607 9,539 
United Kingdom2,595 2,133 5,022 3,919 
Middle East/Africa2,654 2,414 4,703 4,376 
Asia Pacific1,977 2,056 4,009 3,648 
Latin America1,359 1,029 2,565 1,946 
Other414 90 605 119 
Total$83,890 $68,736 $155,754 $120,602 
XPEL's largest customer accounted for 9.4% and 18.4% of the Company's net sales during the three months ended June 30, 2022 and 2021, respectively and 10.8% and 19.3% of the Company's net sales during the six months ended June 30, 2022 and 2021, respectively.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.22.2
PROPERTY AND EQUIPMENT, NET
6 Months Ended
Jun. 30, 2022
Property, Plant and Equipment [Abstract]  
PROPERTY AND EQUIPMENT, NET PROPERTY AND EQUIPMENT, NET
Property and equipment consists of the following (in thousands):
June 30, 2022December 31, 2021
Furniture and fixtures
$2,560 $2,147 
Computer equipment2,687 2,201 
Vehicles822 822 
Equipment4,271 3,572 
Leasehold improvements6,743 5,138 
Plotters2,509 2,132 
Construction in Progress78 117 
Total property and equipment19,670 16,129 
Less: accumulated depreciation7,501 6,231 
Property and equipment, net$12,169 $9,898 
Depreciation expense for the three months ended June 30, 2022 and 2021 was $0.8 million and $0.4 million, respectively. For the six months ended June 30, 2022 and 2021, depreciation expense was $1.6 million and $0.8 million, respectively.
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.22.2
INTANGIBLE ASSETS, NET
6 Months Ended
Jun. 30, 2022
Goodwill and Intangible Assets Disclosure [Abstract]  
INTANGIBLE ASSETS, NET INTANGIBLE ASSETS, NET
Intangible assets consists of the following (in thousands):
June 30, 2022December 31, 2021
Trademarks
$539 $500 
Software
3,982 3,431 
Trade names1,463 2,579 
Contractual and customer relationships
30,950 31,326 
Non-compete
454 459 
Other
676 693 
Total cost
38,064 38,988 
Less: Accumulated amortization8,287 6,255 
Intangible assets, net$29,777 $32,733 
Amortization expense for the three months ended June 30, 2022 and 2021 was $1.1 million and $0.4 million, respectively. For the six months ended June 30, 2022 and 2021, amortization expense was $2.1 million and $0.7 million, respectively. Certain of these intangible assets have been adjusted for business acquisition open period adjustments. Refer to Footnote 13 for discussion of these updates.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.22.2
GOODWILL
6 Months Ended
Jun. 30, 2022
Goodwill and Intangible Assets Disclosure [Abstract]  
GOODWILL GOODWILL
The following table summarizes goodwill transactions for the six months ended June 30, 2022 and 2021 (in thousands):
Balance at December 31, 2021$25,655 
Open period adjustments for 2021 acquisitions not yet finalized(153)
Foreign Exchange(431)
Balance at June 30, 2022$25,071 
Balance at December 31, 2020$4,472 
Additions11,272 
Foreign Exchange83 
Balance at June 30, 2021$15,827 
The Company completed seven acquisitions during the twelve months ended December 31, 2021. Purchase price accounting for the five acquisitions completed on October 1, 2021 remain preliminary in nature. Accounting for these acquisitions will be finalized within one year of their completion. Refer to Footnote 13 for discussion related to open period adjustments.
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.22.2
INVENTORIES
6 Months Ended
Jun. 30, 2022
Inventory Disclosure [Abstract]  
INVENTORIES INVENTORIES
The components of inventory are summarized as follows (in thousands):
June 30, 2022December 31, 2021
Raw materials$12,537 $2,699 
Work in process4,054 180 
Finished goods57,551 49,057 
$74,142 $51,936 
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.22.2
DEBT
6 Months Ended
Jun. 30, 2022
Debt Disclosure [Abstract]  
DEBT DEBT
REVOLVING FACILITIES
The Company has a $75.0 million revolving line of credit with a financial institution. The facility is utilized to fund the Company's working capital needs and other strategic initiatives, and is secured by a security interest in substantially all of the Company's current and future assets. Borrowings under the credit agreement bear interest on at the Wall Street Journal U.S. Prime Rate less 0.75% per annum if the Company's EBITDA ratio (as defined in the Loan Agreement governing the facility) is equal to or less than 2.00 to 1.00 or the Wall Street Journal U.S. Prime rate less 0.25% if the Company's EBITDA ratio is greater than 2.00 to 1.00. The facility also includes a fee of 0.25% of the unused capacity on the facility. The interest rate for this credit facility as of June 30, 2022 and December 31, 2021 was 4.00% and 2.50%, respectively. The Company paid interest charges on borrowings under this facility of $0.3 million and $0.5 million during the three and six months ended June 30, 2022, respectively, and had a balance of $32.0 million and $25.0 million as of June 30, 2022 and December 31, 2021, respectively. This facility matures on July 5, 2024.
The Loan Agreement governing the facility contains customary covenants relating to maintaining legal existence and good standing, complying with applicable laws, delivery of financial statements, payment of taxes and maintaining insurance. The Loan Agreement contains two financial covenants:
(1) Senior Funded Debt (as defined in the Loan Agreement) divided by EBITDA (as defined in the Loan Agreement) at or below 3.50 : 1.00 when tested at the end of each fiscal quarter on a rolling four-quarter basis, and
(2) A minimum Debt Service Coverage Ratio (as defined in the Loan Agreement) of 1.25 : 1.00 at the end of each fiscal quarter when measured on a rolling four-quarter basis.
The Company also has a CAD $4.5 revolving credit facility through a financial institution in Canada, and is 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 June 30, 2022 and December 31, 2021, no balance was outstanding on this line of credit.
As of June 30, 2022 and December 31, 2021, the Company was in compliance with all debt covenants.
NOTES PAYABLE
As part of its acquisition strategy, the Company may use a combination of cash and unsecured non-interest bearing promissory notes payable to fund its business acquisitions. The Company discounts the promissory note to fair value using market interest rates at the time of the acquisition.
Notes payable are summarized as follows (in thousands):
Weighted Average Interest Rate
MaturesJune 30, 2022December 31, 2021
Face value of acquisition notes payable2.61%2023161 458 
Unamortized discount(2)(7)
Current portion(159)(375)
Total long-term debt$— $76 
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.22.2
ACCOUNTS PAYABLE AND ACCRUED LIABILITIES
6 Months Ended
Jun. 30, 2022
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 (in thousands):
June 30, 2022December 31, 2021
Trade payables$29,523 $25,175 
Payroll liabilities2,394 3,385 
Contract liabilities1,058 818 
Acquisition holdback payments1,300 2,007 
Other liabilities2,312 1,530 
$36,587 $32,915 
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.22.2
FAIR VALUE MEASUREMENTS
6 Months Ended
Jun. 30, 2022
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 incurred contingent liabilities in relation to the 2021 acquisition of invisiFRAME Ltd. and the 2020 acquisition of Veloce Innovation. The payments of these liabilities is contingent on attainment of certain revenue performance metrics in future years. The fair value of these liabilities was determined using a Monte Carlo Simulation method based on the probability and timing of certain future payments related to these metrics. 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 (in thousands):
June 30, 2022December 31, 2021
Level 3:
     Contingent Liabilities$1,119 $2,665 
We assessed the fair value of these contingent considerations liabilities as of June 30, 2022. This assessment resulted in a reduction in the fair value of the liability of $0.3 million and $0.3 million for the three and six months ended June 30, 2022, respectively. This reduction is reflected in general and administrative expenses in the Condensed Consolidated Statement of Income for the three and six months ended June 30, 2022. The remaining decrease in our contingent liabilities is attributable to foreign currency fluctuations and non-finalized acquisition related valuations. Refer to Footnote 13 for discussion of these valuation updates. These decreases are recorded in accumulated other comprehensive loss and goodwill, respectively.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.22.2
COMMITMENTS AND CONTINGENCIES
6 Months Ended
Jun. 30, 2022
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.22.2
EARNINGS PER SHARE
6 Months Ended
Jun. 30, 2022
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 (in thousands except per share values):
Three Months Ended June 30,Six Months Ended June 30,
Numerator2022202120222021
   Net income$11,902 $10,186 $19,706 $17,033 
Denominator
   Weighted average basic shares27,613 27,613 27,613 27,613 
   Dilutive effect of restricted stock units— — — — 
   Weighted average diluted shares27,613 27,613 27,613 27,613 
Earnings per share
   Basic$0.43 $0.37 $0.71 $0.62 
   Diluted$0.43 $0.37 $0.71 $0.62 
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.22.2
ACQUISITIONS OF BUSINESSES
6 Months Ended
Jun. 30, 2022
Business Combination and Asset Acquisition [Abstract]  
ACQUISITIONS OF BUSINESSES ACQUISITIONS OF BUSINESSES
We acquired seven businesses during the twelve months ended December 31, 2021. The valuations of the identifiable intangible assets for TintNet, Inc., 1 One Armor, 6873391 Canada Ltd. (operating as Shadow Shield), 1716808 Alberta Ltd. (operating as Shadow Tint), and North 1 Technologies remain preliminary pending the finalization of the valuation models. These valuations will be finalized during the three months ending September 30, 2022. The accounting for all other assets and liabilities related to these acquisitions has been finalized.
During the three months ended June 30, 2022, we finalized the valuation of the purchase price and related purchase price allocation for our November 1, 2021 acquisition of invisiFRAME Ltd. resulting in a $0.9 million reduction in purchase price. The final allocation resulted in a $1.1 million reduction in net identifiable intangible assets, a $0.1 million reduction in goodwill, a $0.3 million reduction in deferred tax liabilities and a $0.9 million reduction in contingent liabilities. These changes were caused by updates made to certain valuation assumptions, including the discount rate applied to the valuation model. These changes resulted in a $0.1 million reduction in amortization expense for the three and six months ended
June 30, 2022. The impact of this final valuation on the twelve months ended December 31, 2021 results was not material.
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.22.2
SIGNIFICANT ACCOUNTING POLICIES (Policies)
6 Months Ended
Jun. 30, 2022
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 dollar. The assets and liabilities of each of its 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 income in the accompanying consolidated balance sheets. Foreign currency exchange gains and losses are presented as foreign currency exchange loss in the accompanying condensed consolidated statements of income.
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 to 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 doubtful accounts of $0.3 million and $0.3 million as of June 30, 2022 and December 31, 2021, 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.
Recent Accounting Pronouncements Issued and Not Yet Adopted
Recent Accounting Pronouncements Issued and Not Yet Adopted
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. ASU 2016-13 is effective for the Company beginning January 1, 2023 and is required to be applied prospectively. We are currently evaluating the impact that ASU 2016-13 will have on our consolidated 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 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 incurred contingent liabilities in relation to the 2021 acquisition of invisiFRAME Ltd. and the 2020 acquisition of Veloce Innovation. The payments of these liabilities is contingent on attainment of certain revenue performance metrics in future years. The fair value of these liabilities was determined using a Monte Carlo Simulation method based on the probability and timing of certain future payments related to these metrics. These liabilities are accounted for as Level 3 liabilities within the fair value hierarchy.
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.22.2
SIGNIFICANT ACCOUNTING POLICIES (Tables)
6 Months Ended
Jun. 30, 2022
Accounting Policies [Abstract]  
Schedule of Ownership Interests and Functional Currencies The ownership percentages and functional currencies of the entities included in these condensed consolidated financial statements are as follows:
SubsidiariesFunctional Currency% Owned by XPEL, Inc.
XPEL, Ltd.UK Pound Sterling100 %
XPEL Canada Corp.Canadian Dollar100 %
XPEL B.V.Euro100 %
XPEL Germany GmbHEuro100 %
XPEL de Mexico S. de R.L. de C.V.Peso100 %
XPEL Acquisition Corp.Canadian Dollar100 %
Protex Canada, Inc.Canadian Dollar100 %
Apogee Corp.New Taiwan Dollar100 %
XPEL SlovakiaEuro100 %
XPEL FranceEuro100 %
XPEL SpainEuro100 %
PermaPlate Film, LLCUS Dollar100 %
1 One Armor, Inc.US Dollar100 %
TintNet, Inc.US Dollar100 %
North 1 Technologies, Inc.Canadian Dollar100 %
1716808 Alberta, Ltd. o/a Shadow TintCanadian Dollar100 %
6873391 Canada, Ltd. o/a Shadow ShieldCanadian Dollar100 %
invisiFRAME, Ltd.UK Pound Sterling100 %
Schedule of Product Warranty Liability The following tables present a summary of the Company's accrued warranty liabilities for the six months ended June 30, 2022 and the twelve months ended December 31, 2021 (in thousands):
2022
Warranty liability, January 1$75 
Warranties assumed in period$295 
Payments$(168)
Warranty liability, June 30$202 
2021
Warranty liability, January 1$52 
Warranties assumed in period$398 
Payments$(375)
Warranty liability, December 31$75 
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.22.2
REVENUE (Tables)
6 Months Ended
Jun. 30, 2022
Revenue from Contract with Customer [Abstract]  
Schedule of Transactions Within Contract Liabilities
The following table summarizes transactions within contract liabilities for the three and six months ended June 30, 2022 (in thousands):
Balance, December 31, 2021$818 
Revenue recognized related to payments included in the December 31, 2021 balance$(556)
Payments received for which performance obligations have not been satisfied$181 
Effect of foreign currency translation$(2)
Balance, March 31, 2022$441 
Revenue recognized related to payments included in the March 31, 2022 balance$(387)
Payments received for which performance obligations have not been satisfied$1,012 
Effect of foreign currency translation$(8)
Balance, June 30, 2022$1,058 
Schedule of Disaggregation of Revenue The table below sets forth the disaggregation of revenue by product category for the periods indicated below (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2022202120222021
Product Revenue
Paint protection film$48,275 $45,245 $92,236 $81,030 
Window film15,786 11,084 27,320 18,243 
Other2,979 2,338 5,581 4,326 
Total
67,040 58,667 125,137 103,599 
Service Revenue
Software$1,247 $1,055 $2,453 $2,033 
Cutbank credits4,178 3,386 7,108 6,022 
Installation labor11,048 5,358 20,303 8,473 
Training306 270 655 475 
Other71 — 98 — 
Total16,850 10,069 30,617 17,003 
Total$83,890 $68,736 $155,754 $120,602 
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 (in thousands):
Three Months Ended
June 30,
Six Months Ended
June 30,
2022202120222021
United States$49,166 $34,296 $90,753 $59,901 
China7,904 12,626 16,763 23,331 
Canada10,877 8,877 18,727 13,823 
Continental Europe6,944 5,215 12,607 9,539 
United Kingdom2,595 2,133 5,022 3,919 
Middle East/Africa2,654 2,414 4,703 4,376 
Asia Pacific1,977 2,056 4,009 3,648 
Latin America1,359 1,029 2,565 1,946 
Other414 90 605 119 
Total$83,890 $68,736 $155,754 $120,602 
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.22.2
PROPERTY AND EQUIPMENT, NET (Tables)
6 Months Ended
Jun. 30, 2022
Property, Plant and Equipment [Abstract]  
Schedule of Property, Plant and Equipment
Property and equipment consists of the following (in thousands):
June 30, 2022December 31, 2021
Furniture and fixtures
$2,560 $2,147 
Computer equipment2,687 2,201 
Vehicles822 822 
Equipment4,271 3,572 
Leasehold improvements6,743 5,138 
Plotters2,509 2,132 
Construction in Progress78 117 
Total property and equipment19,670 16,129 
Less: accumulated depreciation7,501 6,231 
Property and equipment, net$12,169 $9,898 
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.22.2
INTANGIBLE ASSETS, NET (Tables)
6 Months Ended
Jun. 30, 2022
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Assets
Intangible assets consists of the following (in thousands):
June 30, 2022December 31, 2021
Trademarks
$539 $500 
Software
3,982 3,431 
Trade names1,463 2,579 
Contractual and customer relationships
30,950 31,326 
Non-compete
454 459 
Other
676 693 
Total cost
38,064 38,988 
Less: Accumulated amortization8,287 6,255 
Intangible assets, net$29,777 $32,733 
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.22.2
GOODWILL (Tables)
6 Months Ended
Jun. 30, 2022
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill
The following table summarizes goodwill transactions for the six months ended June 30, 2022 and 2021 (in thousands):
Balance at December 31, 2021$25,655 
Open period adjustments for 2021 acquisitions not yet finalized(153)
Foreign Exchange(431)
Balance at June 30, 2022$25,071 
Balance at December 31, 2020$4,472 
Additions11,272 
Foreign Exchange83 
Balance at June 30, 2021$15,827 
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.22.2
INVENTORIES (Tables)
6 Months Ended
Jun. 30, 2022
Inventory Disclosure [Abstract]  
Schedule of Inventory
The components of inventory are summarized as follows (in thousands):
June 30, 2022December 31, 2021
Raw materials$12,537 $2,699 
Work in process4,054 180 
Finished goods57,551 49,057 
$74,142 $51,936 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.22.2
DEBT (Tables)
6 Months Ended
Jun. 30, 2022
Debt Disclosure [Abstract]  
Schedule of Notes Payable
Notes payable are summarized as follows (in thousands):
Weighted Average Interest Rate
MaturesJune 30, 2022December 31, 2021
Face value of acquisition notes payable2.61%2023161 458 
Unamortized discount(2)(7)
Current portion(159)(375)
Total long-term debt$— $76 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.22.2
ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables)
6 Months Ended
Jun. 30, 2022
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 (in thousands):
June 30, 2022December 31, 2021
Trade payables$29,523 $25,175 
Payroll liabilities2,394 3,385 
Contract liabilities1,058 818 
Acquisition holdback payments1,300 2,007 
Other liabilities2,312 1,530 
$36,587 $32,915 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.22.2
FAIR VALUE MEASUREMENTS (Tables)
6 Months Ended
Jun. 30, 2022
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 (in thousands):
June 30, 2022December 31, 2021
Level 3:
     Contingent Liabilities$1,119 $2,665 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.22.2
EARNINGS PER SHARE (Tables)
6 Months Ended
Jun. 30, 2022
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 (in thousands except per share values):
Three Months Ended June 30,Six Months Ended June 30,
Numerator2022202120222021
   Net income$11,902 $10,186 $19,706 $17,033 
Denominator
   Weighted average basic shares27,613 27,613 27,613 27,613 
   Dilutive effect of restricted stock units— — — — 
   Weighted average diluted shares27,613 27,613 27,613 27,613 
Earnings per share
   Basic$0.43 $0.37 $0.71 $0.62 
   Diluted$0.43 $0.37 $0.71 $0.62 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.22.2
SIGNIFICANT ACCOUNTING POLICIES - Ownership Percentages and Functional Currencies (Details)
Jun. 30, 2022
XPEL, Ltd.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL Canada Corp.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL B.V.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL Germany GmbH  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL de Mexico S. de R.L. de C.V.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL Acquisition Corp.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
Protex Canada, Inc.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
Apogee Corp.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL Slovakia  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL France  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XPEL Spain  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
PermaPlate Film, LLC  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
1 One Armor, Inc.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
TintNet, Inc.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
North 1 Technologies, Inc.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
1716808 Alberta, Ltd. o/a Shadow Tint  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
6873391 Canada, Ltd. o/a Shadow Shield  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
invisiFRAME, Ltd.  
Noncontrolling Interest [Line Items]  
Ownership percentage 100.00%
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.22.2
SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details)
6 Months Ended
Jun. 30, 2022
segment
Accounting Policies [Abstract]  
Number of operating segments 1
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.22.2
SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) - USD ($)
$ in Millions
Jun. 30, 2022
Dec. 31, 2021
Accounting Policies [Abstract]    
Allowance for doubtful accounts included in accounts receivable $ 0.3 $ 0.3
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.22.2
SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) - USD ($)
$ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2022
Dec. 31, 2021
Accounting Policies [Abstract]    
Warranty liability $ 202 $ 75
Movement in Standard Product Warranty Accrual [Roll Forward]    
Warranty liability, beginning balance 75 52
Warranties assumed in period 295 398
Payments (168) (375)
Warranty liability, ending balance $ 202 $ 75
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.22.2
REVENUE - Transactions Within Contract Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended
Jun. 30, 2022
Mar. 31, 2022
Movement in Deferred Revenue [Roll Forward]    
Beginning contract liabilities $ 441 $ 818
Revenue recognized related to payments included in the beginning balance (387) (556)
Payments received for which performance obligations have not been satisfied 1,012 181
Effect of foreign currency translation (8) (2)
Ending contract liabilities $ 1,058 $ 441
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.22.2
REVENUE - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Disaggregation of Revenue [Line Items]        
Total revenue $ 83,890 $ 68,736 $ 155,754 $ 120,602
Product        
Disaggregation of Revenue [Line Items]        
Total revenue 67,040 58,667 125,137 103,599
Paint protection film        
Disaggregation of Revenue [Line Items]        
Total revenue 48,275 45,245 92,236 81,030
Window film        
Disaggregation of Revenue [Line Items]        
Total revenue 15,786 11,084 27,320 18,243
Other        
Disaggregation of Revenue [Line Items]        
Total revenue 2,979 2,338 5,581 4,326
Service        
Disaggregation of Revenue [Line Items]        
Total revenue 16,850 10,069 30,617 17,003
Software        
Disaggregation of Revenue [Line Items]        
Total revenue 1,247 1,055 2,453 2,033
Cutbank credits        
Disaggregation of Revenue [Line Items]        
Total revenue 4,178 3,386 7,108 6,022
Installation labor        
Disaggregation of Revenue [Line Items]        
Total revenue 11,048 5,358 20,303 8,473
Training        
Disaggregation of Revenue [Line Items]        
Total revenue 306 270 655 475
Other        
Disaggregation of Revenue [Line Items]        
Total revenue $ 71 $ 0 $ 98 $ 0
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.22.2
REVENUE - Revenue Estimate By Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Disaggregation of Revenue [Line Items]        
Total revenue $ 83,890 $ 68,736 $ 155,754 $ 120,602
United States        
Disaggregation of Revenue [Line Items]        
Total revenue 49,166 34,296 90,753 59,901
China        
Disaggregation of Revenue [Line Items]        
Total revenue 7,904 12,626 16,763 23,331
Canada        
Disaggregation of Revenue [Line Items]        
Total revenue 10,877 8,877 18,727 13,823
Continental Europe        
Disaggregation of Revenue [Line Items]        
Total revenue 6,944 5,215 12,607 9,539
United Kingdom        
Disaggregation of Revenue [Line Items]        
Total revenue 2,595 2,133 5,022 3,919
Middle East/Africa        
Disaggregation of Revenue [Line Items]        
Total revenue 2,654 2,414 4,703 4,376
Asia Pacific        
Disaggregation of Revenue [Line Items]        
Total revenue 1,977 2,056 4,009 3,648
Latin America        
Disaggregation of Revenue [Line Items]        
Total revenue 1,359 1,029 2,565 1,946
Other        
Disaggregation of Revenue [Line Items]        
Total revenue $ 414 $ 90 $ 605 $ 119
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.22.2
REVENUE - Narrative (Details)
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Largest Customers | Customer Concentration Risk | Revenue from Contract with Customer Benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk percentage 9.40% 18.40% 10.80% 19.30%
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.22.2
PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details) - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 19,670 $ 16,129
Less: accumulated depreciation 7,501 6,231
Property and equipment, net 12,169 9,898
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Total property and equipment 2,560 2,147
Computer equipment    
Property, Plant and Equipment [Line Items]    
Total property and equipment 2,687 2,201
Vehicles    
Property, Plant and Equipment [Line Items]    
Total property and equipment 822 822
Equipment    
Property, Plant and Equipment [Line Items]    
Total property and equipment 4,271 3,572
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Total property and equipment 6,743 5,138
Plotters    
Property, Plant and Equipment [Line Items]    
Total property and equipment 2,509 2,132
Construction in Progress    
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 78 $ 117
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.22.2
PROPERTY AND EQUIPMENT, NET - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Property, Plant and Equipment [Abstract]        
Depreciation expense $ 800 $ 400 $ 1,596 $ 803
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.22.2
INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details) - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Finite-Lived Intangible Assets [Line Items]    
Total cost $ 38,064 $ 38,988
Less: Accumulated amortization 8,287 6,255
Intangible assets, net 29,777 32,733
Trademarks    
Finite-Lived Intangible Assets [Line Items]    
Total cost 539 500
Software    
Finite-Lived Intangible Assets [Line Items]    
Total cost 3,982 3,431
Trade names    
Finite-Lived Intangible Assets [Line Items]    
Total cost 1,463 2,579
Contractual and customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Total cost 30,950 31,326
Non-compete    
Finite-Lived Intangible Assets [Line Items]    
Total cost 454 459
Other    
Finite-Lived Intangible Assets [Line Items]    
Total cost $ 676 $ 693
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.22.2
INTANGIBLE ASSETS, NET - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Goodwill and Intangible Assets Disclosure [Abstract]        
Amortization of intangible assets $ 1,100 $ 400 $ 2,131 $ 685
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.22.2
GOODWILL - Schedule of Goodwill (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Goodwill [Roll Forward]    
Goodwill beginning balance $ 25,655 $ 4,472
Open period adjustments for 2021 acquisitions not yet finalized (153)  
Additions   11,272
Foreign Exchange (431) 83
Goodwill ending balance $ 25,071 $ 15,827
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.22.2
GOODWILL - Narrative (Details) - business
12 Months Ended
Oct. 01, 2021
Dec. 31, 2021
Goodwill and Intangible Assets Disclosure [Abstract]    
Number of businesses acquired   7
Number of businesses for which purchase price remain preliminary 5  
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.22.2
INVENTORIES (Details) - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Inventory Disclosure [Abstract]    
Raw materials $ 12,537 $ 2,699
Work in process 4,054 180
Finished goods 57,551 49,057
Inventory, net $ 74,142 $ 51,936
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.22.2
DEBT - Narrative (Details) - Line of Credit - Revolving Credit Facility
3 Months Ended 6 Months Ended
Jun. 30, 2022
USD ($)
covenant
Jun. 30, 2022
USD ($)
covenant
Jun. 30, 2022
CAD ($)
covenant
Dec. 31, 2021
USD ($)
Texas Partners Bank        
Line of Credit Facility [Line Items]        
Maximum borrowing capacity $ 75,000,000 $ 75,000,000    
Line of credit facility, unused capacity, commitment fee percentage   0.25%    
Interest rate 4.00% 4.00% 4.00% 2.50%
Interest payment $ 300,000 $ 500,000    
Amount outstanding $ 32,000,000 $ 32,000,000   $ 25,000,000
Number of covenants | covenant 2 2 2  
Debt instrument, covenant, funded debt to EBITDA ratio, maximum 3.50 3.50 3.50  
Covenant, debt service coverage ratio required, minimum 1.25 1.25 1.25  
Texas Partners Bank | Scenario One        
Line of Credit Facility [Line Items]        
Debt instrument, EBITDA ratio (equal or less than) 2.00 2.00 2.00  
HSBC Bank Canada        
Line of Credit Facility [Line Items]        
Maximum borrowing capacity     $ 4,500,000  
Amount outstanding $ 0 $ 0   $ 0
Prime Rate | Texas Partners Bank | Scenario One        
Line of Credit Facility [Line Items]        
Basis spread on prime rate   0.75%    
Prime Rate | Texas Partners Bank | Scenario Two        
Line of Credit Facility [Line Items]        
Basis spread on prime rate   0.25%    
Prime Rate | HSBC Bank Canada        
Line of Credit Facility [Line Items]        
Basis spread on prime rate   0.25%    
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.22.2
DEBT - Schedule of Notes Payable (Details) - USD ($)
$ in Thousands
Jun. 30, 2022
Dec. 31, 2021
Debt Instrument [Line Items]    
Unamortized discount $ (2) $ (7)
Current portion (159) (375)
Total long-term debt $ 0 76
Face value of acquisition notes payable    
Debt Instrument [Line Items]    
Weighted Average Interest Rate 2.61%  
Face value of acquisition notes payable $ 161 $ 458
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.22.2
ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details) - USD ($)
$ in Thousands
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2021
Accounts Payable and Accrued Liabilities [Abstract]      
Trade payables $ 29,523   $ 25,175
Payroll liabilities 2,394   3,385
Contract liabilities 1,058 $ 441 818
Acquisition holdback payments 1,300   2,007
Other liabilities 2,312   1,530
Accounts payable and accrued liabilities $ 36,587   $ 32,915
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.22.2
FAIR VALUE MEASUREMENTS (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2022
Dec. 31, 2021
Fair Value, Option, Quantitative Disclosures [Line Items]      
Contingent liability, period decrease $ 300 $ 300  
Fair Value, Inputs, Level 3 | Fair Value, Recurring      
Fair Value, Option, Quantitative Disclosures [Line Items]      
Contingent Liabilities $ 1,119 $ 1,119 $ 2,665
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.22.2
EARNINGS PER SHARE (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2021
Jun. 30, 2022
Jun. 30, 2021
Numerator        
Net income $ 11,902 $ 10,186 $ 19,706 $ 17,033
Denominator        
Weighted average basic shares (in shares) 27,613 27,613 27,613 27,613
Dilutive effect of restricted stock units (in shares) 0 0 0 0
Weighted average diluted shares (in shares) 27,613 27,613 27,613 27,613
Earnings per share        
Basic (in dollars per share) $ 0.43 $ 0.37 $ 0.71 $ 0.62
Diluted (in dollars per share) $ 0.43 $ 0.37 $ 0.71 $ 0.62
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.22.2
ACQUISITIONS OF BUSINESSES - (Details)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2022
USD ($)
Jun. 30, 2022
USD ($)
Dec. 31, 2021
business
Business Acquisition [Line Items]      
Number of businesses acquired | business     7
Reduction in estimate of goodwill   $ 153  
Business acquisition reduction in amortization expense $ 100 $ 100  
invisiFRAME, Ltd.      
Business Acquisition [Line Items]      
Reduction in purchase price 900    
Business acquisition reduction in net identifiable intangible assets 1,100    
Reduction in estimate of goodwill 100    
Business acquisition reduction in deferred tax liabilities 300    
Reduction in contingent liabilities $ 900    
XML 64 xpel-20220630_htm.xml IDEA: XBRL DOCUMENT 0001767258 2022-01-01 2022-06-30 0001767258 2022-08-09 0001767258 2022-06-30 0001767258 2021-12-31 0001767258 us-gaap:ProductMember 2022-04-01 2022-06-30 0001767258 us-gaap:ProductMember 2021-04-01 2021-06-30 0001767258 us-gaap:ProductMember 2022-01-01 2022-06-30 0001767258 us-gaap:ProductMember 2021-01-01 2021-06-30 0001767258 us-gaap:ServiceMember 2022-04-01 2022-06-30 0001767258 us-gaap:ServiceMember 2021-04-01 2021-06-30 0001767258 us-gaap:ServiceMember 2022-01-01 2022-06-30 0001767258 us-gaap:ServiceMember 2021-01-01 2021-06-30 0001767258 2022-04-01 2022-06-30 0001767258 2021-04-01 2021-06-30 0001767258 2021-01-01 2021-06-30 0001767258 us-gaap:CommonStockMember 2021-03-31 0001767258 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001767258 us-gaap:RetainedEarningsMember 2021-03-31 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-03-31 0001767258 2021-03-31 0001767258 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-04-01 2021-06-30 0001767258 us-gaap:CommonStockMember 2021-06-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001767258 us-gaap:RetainedEarningsMember 2021-06-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-06-30 0001767258 2021-06-30 0001767258 us-gaap:CommonStockMember 2022-03-31 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001767258 us-gaap:RetainedEarningsMember 2022-03-31 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001767258 2022-03-31 0001767258 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-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 us-gaap:CommonStockMember 2020-12-31 0001767258 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001767258 us-gaap:RetainedEarningsMember 2020-12-31 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001767258 2020-12-31 0001767258 us-gaap:RetainedEarningsMember 2021-01-01 2021-06-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-06-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 us-gaap:RetainedEarningsMember 2022-01-01 2022-06-30 0001767258 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-06-30 0001767258 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-06-30 0001767258 xpel:XPELLtd.Member 2022-06-30 0001767258 xpel:XPELCanadaCorp.Member 2022-06-30 0001767258 xpel:XPELB.VMember 2022-06-30 0001767258 xpel:XPELGermanyGmbHMember 2022-06-30 0001767258 xpel:XPELDeMexicoS.DeR.L.DeC.V.Member 2022-06-30 0001767258 xpel:XPELAcquisitionCorp.Member 2022-06-30 0001767258 xpel:ProtexCanadaInc.Member 2022-06-30 0001767258 xpel:ApogeeCorp.Member 2022-06-30 0001767258 xpel:XPELSlovakiaMember 2022-06-30 0001767258 xpel:XPELFranceMember 2022-06-30 0001767258 xpel:XPELSpainMember 2022-06-30 0001767258 xpel:PermaPlateFilmLLCMember 2022-06-30 0001767258 xpel:A1OneArmorIncMember 2022-06-30 0001767258 xpel:TintNetIncMember 2022-06-30 0001767258 xpel:North1TechnologiesIncMember 2022-06-30 0001767258 xpel:A1716808AlbertaLtdOaShadowTintMember 2022-06-30 0001767258 xpel:A6873391CanadaLtdOaShadowShieldMember 2022-06-30 0001767258 xpel:InvisiFRAMELtdMember 2022-06-30 0001767258 2021-01-01 2021-12-31 0001767258 2022-01-01 2022-03-31 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2022-04-01 2022-06-30 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2021-04-01 2021-06-30 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2022-01-01 2022-06-30 0001767258 xpel:ProductRevenuePaintProtectionFilmMember 2021-01-01 2021-06-30 0001767258 xpel:ProductRevenueWindowFilmMember 2022-04-01 2022-06-30 0001767258 xpel:ProductRevenueWindowFilmMember 2021-04-01 2021-06-30 0001767258 xpel:ProductRevenueWindowFilmMember 2022-01-01 2022-06-30 0001767258 xpel:ProductRevenueWindowFilmMember 2021-01-01 2021-06-30 0001767258 xpel:ProductRevenueOtherMember 2022-04-01 2022-06-30 0001767258 xpel:ProductRevenueOtherMember 2021-04-01 2021-06-30 0001767258 xpel:ProductRevenueOtherMember 2022-01-01 2022-06-30 0001767258 xpel:ProductRevenueOtherMember 2021-01-01 2021-06-30 0001767258 xpel:ServiceRevenueSoftwareMember 2022-04-01 2022-06-30 0001767258 xpel:ServiceRevenueSoftwareMember 2021-04-01 2021-06-30 0001767258 xpel:ServiceRevenueSoftwareMember 2022-01-01 2022-06-30 0001767258 xpel:ServiceRevenueSoftwareMember 2021-01-01 2021-06-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2022-04-01 2022-06-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2021-04-01 2021-06-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2022-01-01 2022-06-30 0001767258 xpel:ServiceRevenueCutbankCreditsMember 2021-01-01 2021-06-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2022-04-01 2022-06-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2021-04-01 2021-06-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2022-01-01 2022-06-30 0001767258 xpel:ServiceRevenueInstallationLaborMember 2021-01-01 2021-06-30 0001767258 xpel:ServiceRevenueTrainingMember 2022-04-01 2022-06-30 0001767258 xpel:ServiceRevenueTrainingMember 2021-04-01 2021-06-30 0001767258 xpel:ServiceRevenueTrainingMember 2022-01-01 2022-06-30 0001767258 xpel:ServiceRevenueTrainingMember 2021-01-01 2021-06-30 0001767258 xpel:ServiceRevenueOtherMember 2022-04-01 2022-06-30 0001767258 xpel:ServiceRevenueOtherMember 2021-04-01 2021-06-30 0001767258 xpel:ServiceRevenueOtherMember 2022-01-01 2022-06-30 0001767258 xpel:ServiceRevenueOtherMember 2021-01-01 2021-06-30 0001767258 country:US 2022-04-01 2022-06-30 0001767258 country:US 2021-04-01 2021-06-30 0001767258 country:US 2022-01-01 2022-06-30 0001767258 country:US 2021-01-01 2021-06-30 0001767258 country:CN 2022-04-01 2022-06-30 0001767258 country:CN 2021-04-01 2021-06-30 0001767258 country:CN 2022-01-01 2022-06-30 0001767258 country:CN 2021-01-01 2021-06-30 0001767258 country:CA 2022-04-01 2022-06-30 0001767258 country:CA 2021-04-01 2021-06-30 0001767258 country:CA 2022-01-01 2022-06-30 0001767258 country:CA 2021-01-01 2021-06-30 0001767258 srt:EuropeMember 2022-04-01 2022-06-30 0001767258 srt:EuropeMember 2021-04-01 2021-06-30 0001767258 srt:EuropeMember 2022-01-01 2022-06-30 0001767258 srt:EuropeMember 2021-01-01 2021-06-30 0001767258 country:GB 2022-04-01 2022-06-30 0001767258 country:GB 2021-04-01 2021-06-30 0001767258 country:GB 2022-01-01 2022-06-30 0001767258 country:GB 2021-01-01 2021-06-30 0001767258 xpel:MiddleEastAfricaMember 2022-04-01 2022-06-30 0001767258 xpel:MiddleEastAfricaMember 2021-04-01 2021-06-30 0001767258 xpel:MiddleEastAfricaMember 2022-01-01 2022-06-30 0001767258 xpel:MiddleEastAfricaMember 2021-01-01 2021-06-30 0001767258 srt:AsiaPacificMember 2022-04-01 2022-06-30 0001767258 srt:AsiaPacificMember 2021-04-01 2021-06-30 0001767258 srt:AsiaPacificMember 2022-01-01 2022-06-30 0001767258 srt:AsiaPacificMember 2021-01-01 2021-06-30 0001767258 srt:LatinAmericaMember 2022-04-01 2022-06-30 0001767258 srt:LatinAmericaMember 2021-04-01 2021-06-30 0001767258 srt:LatinAmericaMember 2022-01-01 2022-06-30 0001767258 srt:LatinAmericaMember 2021-01-01 2021-06-30 0001767258 xpel:OtherGeographicRegionMember 2022-04-01 2022-06-30 0001767258 xpel:OtherGeographicRegionMember 2021-04-01 2021-06-30 0001767258 xpel:OtherGeographicRegionMember 2022-01-01 2022-06-30 0001767258 xpel:OtherGeographicRegionMember 2021-01-01 2021-06-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-04-01 2022-06-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-04-01 2021-06-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-06-30 0001767258 xpel:LargestCustomerMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001767258 us-gaap:FurnitureAndFixturesMember 2022-06-30 0001767258 us-gaap:FurnitureAndFixturesMember 2021-12-31 0001767258 us-gaap:ComputerEquipmentMember 2022-06-30 0001767258 us-gaap:ComputerEquipmentMember 2021-12-31 0001767258 us-gaap:VehiclesMember 2022-06-30 0001767258 us-gaap:VehiclesMember 2021-12-31 0001767258 us-gaap:EquipmentMember 2022-06-30 0001767258 us-gaap:EquipmentMember 2021-12-31 0001767258 us-gaap:LeaseholdImprovementsMember 2022-06-30 0001767258 us-gaap:LeaseholdImprovementsMember 2021-12-31 0001767258 xpel:ComputerEquipmentPlotterMember 2022-06-30 0001767258 xpel:ComputerEquipmentPlotterMember 2021-12-31 0001767258 us-gaap:ConstructionInProgressMember 2022-06-30 0001767258 us-gaap:ConstructionInProgressMember 2021-12-31 0001767258 us-gaap:TrademarksMember 2022-06-30 0001767258 us-gaap:TrademarksMember 2021-12-31 0001767258 us-gaap:SoftwareDevelopmentMember 2022-06-30 0001767258 us-gaap:SoftwareDevelopmentMember 2021-12-31 0001767258 us-gaap:TradeNamesMember 2022-06-30 0001767258 us-gaap:TradeNamesMember 2021-12-31 0001767258 us-gaap:CustomerRelationshipsMember 2022-06-30 0001767258 us-gaap:CustomerRelationshipsMember 2021-12-31 0001767258 us-gaap:NoncompeteAgreementsMember 2022-06-30 0001767258 us-gaap:NoncompeteAgreementsMember 2021-12-31 0001767258 us-gaap:OtherIntangibleAssetsMember 2022-06-30 0001767258 us-gaap:OtherIntangibleAssetsMember 2021-12-31 0001767258 2021-10-01 2021-10-01 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:TexasPartnersBankMember us-gaap:LineOfCreditMember 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:TexasPartnersBankMember us-gaap:LineOfCreditMember us-gaap:PrimeRateMember xpel:ScenarioOneMember 2022-01-01 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:TexasPartnersBankMember us-gaap:LineOfCreditMember xpel:ScenarioOneMember 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:TexasPartnersBankMember us-gaap:LineOfCreditMember us-gaap:PrimeRateMember xpel:ScenarioTwoMember 2022-01-01 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:TexasPartnersBankMember us-gaap:LineOfCreditMember 2022-01-01 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:TexasPartnersBankMember us-gaap:LineOfCreditMember 2021-12-31 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:TexasPartnersBankMember us-gaap:LineOfCreditMember 2022-04-01 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:HSBCBankCanadaMember us-gaap:LineOfCreditMember 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:HSBCBankCanadaMember us-gaap:LineOfCreditMember us-gaap:PrimeRateMember 2022-01-01 2022-06-30 0001767258 us-gaap:RevolvingCreditFacilityMember xpel:HSBCBankCanadaMember us-gaap:LineOfCreditMember 2021-12-31 0001767258 xpel:AcquisitionNotesPayableDue2023Member 2022-06-30 0001767258 xpel:AcquisitionNotesPayableDue2023Member 2021-12-31 0001767258 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-06-30 0001767258 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001767258 xpel:InvisiFRAMELtdMember 2022-04-01 2022-06-30 shares iso4217:USD iso4217:USD shares pure xpel:segment xpel:business xpel:covenant iso4217:CAD false --12-31 2022 Q2 0001767258 10-Q true 2022-06-30 false 001-38858 XPEL, INC. NV 20-1117381 3251 I-35 San Antonio TX 78219 210 678-3700 Common Stock, par value $0.001 per share XPEL NASDAQ Yes Yes Large Accelerated Filer false false false 27616064 9321000 9644000 19119000 13159000 74142000 51936000 4434000 3672000 550000 617000 107566000 79028000 12169000 9898000 13580000 12910000 29777000 32733000 893000 791000 25071000 25655000 189056000 161015000 159000 375000 3673000 2978000 36587000 32915000 40419000 36268000 2412000 2748000 1140000 2631000 32000000 25000000 10008000 9830000 0 76000 85979000 76553000 0.001 0.001 10000000 10000000 0 0 0 0 0 0 0.001 0.001 100000000 100000000 27612597 27612597 27612597 27612597 28000 28000 10760000 10581000 -1860000 -590000 94149000 74443000 103077000 84462000 189056000 161015000 67040000 58667000 125137000 103599000 16850000 10069000 30617000 17003000 83890000 68736000 155754000 120602000 44227000 40593000 82421000 72139000 6680000 2896000 12633000 4929000 50907000 43489000 95054000 77068000 32983000 25247000 60700000 43534000 5906000 4687000 12218000 8075000 11328000 7888000 22696000 14240000 17234000 12575000 34914000 22315000 15749000 12672000 25786000 21219000 322000 44000 542000 97000 -457000 63000 -462000 28000 14970000 12691000 24782000 21150000 3068000 2505000 5076000 4117000 11902000 10186000 19706000 17033000 0.43 0.37 0.71 0.62 0.43 0.43 0.37 0.37 0.71 0.71 0.62 0.62 27613000 27613000 27613000 27613000 27613000 27613000 27613000 27613000 11902000 10186000 19706000 17033000 -1175000 226000 -1270000 16000 10727000 10412000 18436000 17049000 27613000 28000 10412000 49724000 -144000 60020000 10186000 10186000 226000 226000 27613000 28000 10412000 59910000 82000 70432000 27613000 28000 10652000 82247000 -685000 92242000 11902000 11902000 -1175000 -1175000 108000 108000 27613000 28000 10760000 94149000 -1860000 103077000 27613000 28000 10412000 42877000 66000 53383000 17033000 17033000 16000 16000 27613000 28000 10412000 59910000 82000 70432000 27613000 28000 10581000 74443000 -590000 84462000 19706000 19706000 -1270000 -1270000 179000 179000 27613000 28000 10760000 94149000 -1860000 103077000 19706000 17033000 1596000 803000 2131000 685000 11000 16000 179000 0 251000 123000 16000 6000 5000 18000 6604000 849000 22725000 2394000 1039000 1624000 96000 1206000 3874000 4082000 -2525000 19073000 4025000 3461000 53000 16000 0 29992000 623000 201000 -4595000 -33638000 7000000 0 0 5056000 294000 367000 6706000 -5423000 -414000 -19988000 91000 -305000 -323000 -20293000 9644000 29027000 9321000 8734000 2534000 1490000 4677000 2939000 502000 92000 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, 2021, which has been derived from audited financial statements, and (b) unaudited interim condensed consolidated financial statements as of and for the three and six months ended June 30, 2022 and 2021 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, 2022 (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. </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%">The functional currency for the Company is the United States dollar. The assets and liabilities of each of its 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 income in the accompanying consolidated balance sheets. Foreign currency exchange gains and losses are presented as foreign currency exchange loss in the accompanying condensed consolidated statements of income. The ownership percentages and functional currencies of the entities included in these condensed consolidated financial statements are as follows:</span></div><div style="margin-bottom:12pt;padding-right:6.75pt;text-align:justify;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.717%"><tr><td style="width:1.0%"/><td style="width:56.042%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.516%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.520%"/><td style="width:0.1%"/></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:8pt;font-weight:700;line-height:100%">Subsidiaries</span></td><td colspan="3" style="padding:0 1pt"/><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%">Functional Currency</span></td><td colspan="3" style="padding:0 1pt"/><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%">% Owned by XPEL, Inc.</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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%">XPEL, Ltd.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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%">UK Pound Sterling</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</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%">XPEL Canada Corp.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL B.V.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">XPEL Germany GmbH</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL de Mexico S. de R.L. de C.V.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Peso</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">XPEL Acquisition Corp.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">Protex Canada, Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">Apogee Corp.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">New Taiwan Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL Slovakia</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">XPEL France</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL Spain</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">PermaPlate Film, LLC</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">US Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">1 One Armor, Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">US Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">TintNet, Inc.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">US Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">North 1 Technologies, Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">1716808 Alberta, Ltd. o/a Shadow Tint</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">6873391 Canada, Ltd. o/a Shadow Shield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:100%">invisiFRAME, Ltd.</span></td><td colspan="3" style="padding:0 1pt"/><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:100%">UK Pound Sterling</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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-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 to 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 doubtful accounts of $0.3 million and $0.3 million as of June 30, 2022 and December 31, 2021, 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 June 30, 2022 or December 31, 2021.</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 June 30, 2022 and December 31, 2021 was $0.2 million and $0.1 million, respectively. The following tables present a summary of the Company's accrued warranty liabilities for the six months ended June 30, 2022 and the twelve months ended December 31, 2021 (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:100.000%"><tr><td style="width:1.0%"/><td style="width:79.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.772%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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"/></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 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%">295 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(168)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, June 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%">202 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:100.000%"><tr><td style="width:1.0%"/><td style="width:79.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.772%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">52 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">398 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(375)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">75 </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"/></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%">Recent Accounting Pronouncements Issued and Not Yet Adopted</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. ASU 2016-13 is effective for the Company beginning January 1, 2023 and is required to be applied prospectively. We are currently evaluating the impact that ASU 2016-13 will have on our consolidated 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. </span>The functional currency for the Company is the United States dollar. The assets and liabilities of each of its 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 income in the accompanying consolidated balance sheets. Foreign currency exchange gains and losses are presented as foreign currency exchange loss in the accompanying condensed consolidated statements of income. The ownership percentages and functional currencies of the entities included in these condensed consolidated financial statements are as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.717%"><tr><td style="width:1.0%"/><td style="width:56.042%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.516%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:19.520%"/><td style="width:0.1%"/></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:8pt;font-weight:700;line-height:100%">Subsidiaries</span></td><td colspan="3" style="padding:0 1pt"/><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%">Functional Currency</span></td><td colspan="3" style="padding:0 1pt"/><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%">% Owned by XPEL, Inc.</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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%">XPEL, Ltd.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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%">UK Pound Sterling</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</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%">XPEL Canada Corp.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL B.V.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">XPEL Germany GmbH</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL de Mexico S. de R.L. de C.V.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Peso</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">XPEL Acquisition Corp.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">Protex Canada, Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">Apogee Corp.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">New Taiwan Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL Slovakia</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">XPEL France</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">XPEL Spain</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Euro</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">PermaPlate Film, LLC</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">US Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">1 One Armor, Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">US Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">TintNet, Inc.</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">US Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">North 1 Technologies, Inc.</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 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%">%</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%">1716808 Alberta, Ltd. o/a Shadow Tint</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">100 </span></td><td style="background-color:#ffffff;padding:2px 1pt 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%">%</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%">6873391 Canada, Ltd. o/a Shadow Shield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">Canadian Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</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:100%">invisiFRAME, Ltd.</span></td><td colspan="3" style="padding:0 1pt"/><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:100%">UK Pound Sterling</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 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 to 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 doubtful accounts of $0.3 million and $0.3 million as of June 30, 2022 and December 31, 2021, 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. 300000 300000 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. 200000 100000 The following tables present a summary of the Company's accrued warranty liabilities for the six months ended June 30, 2022 and the twelve months ended December 31, 2021 (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:100.000%"><tr><td style="width:1.0%"/><td style="width:79.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.772%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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"/></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 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%">295 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(168)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, June 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%">202 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:100.000%"><tr><td style="width:1.0%"/><td style="width:79.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.772%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">52 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">398 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(375)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">75 </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"/></tr></table></div> 75000 295000 168000 202000 52000 398000 375000 75000 <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%">Recent Accounting Pronouncements Issued and Not Yet Adopted</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. ASU 2016-13 is effective for the Company beginning January 1, 2023 and is required to be applied prospectively. We are currently evaluating the impact that ASU 2016-13 will have on our consolidated 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 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 six months ended June 30, 2022 (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 style="width:78.867%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.933%"/><td style="width:0.1%"/></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, 2021</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%">818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2021 balance</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%">(556)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">181 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2022</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%">441 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2022 balance</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%">(387)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,012 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2022</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%">1,058 </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"/></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 (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 style="width:43.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.880%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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/>June 30,</span></td><td colspan="3" style="padding:0 1pt"/><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%">Six Months Ended<br/>June 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">48,275 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">45,245 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">92,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">81,030 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">15,786 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,084 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,320 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,243 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">2,979 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,338 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,581 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,326 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,040 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">58,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">125,137 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,599 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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,247 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,055 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,386 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,022 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">11,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,358 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">20,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,473 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">270 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">475 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">71 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><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%">98 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,850 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,069 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,617 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,003 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</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%">83,890 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">68,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">155,754 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">120,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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 (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 style="width:43.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.880%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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/>June 30,</span></td><td colspan="3" style="padding:0 1pt"/><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%">Six Months Ended<br/>June 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">49,166 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">34,296 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">90,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,901 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">China</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%">7,904 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">12,626 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">16,763 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">23,331 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Canada</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,877 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,877 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,727 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,823 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">6,944 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,215 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">12,607 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">9,539 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 Kingdom</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,595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,133 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,022 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,919 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Middle East/Africa</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,654 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,414 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,703 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,376 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">1,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,009 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,648 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">1,359 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,029 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,565 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,946 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">414 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">605 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">119 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">83,890 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">68,736 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><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%">155,754 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">120,602 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 9.4% and 18.4% of the Company's net sales during the three months ended June 30, 2022 and 2021, respectively and 10.8% and 19.3% of the Company's net sales during the six months ended June 30, 2022 and 2021, 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 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 six months ended June 30, 2022 (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 style="width:78.867%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:18.933%"/><td style="width:0.1%"/></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, 2021</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%">818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2021 balance</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%">(556)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">181 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2022</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%">441 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2022 balance</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%">(387)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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,012 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 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%">(8)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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, 2022</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%">1,058 </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"/></tr></table></div> 818000 556000 181000 2000 441000 387000 1012000 8000 1058000 The table below sets forth the disaggregation of revenue by product category for the periods indicated below (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 style="width:43.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.880%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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/>June 30,</span></td><td colspan="3" style="padding:0 1pt"/><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%">Six Months Ended<br/>June 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">48,275 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">45,245 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">92,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">81,030 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">15,786 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,084 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,320 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,243 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">2,979 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,338 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,581 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,326 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,040 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">58,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">125,137 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,599 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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,247 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,055 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">2,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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,178 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,386 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,022 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">11,048 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,358 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">20,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,473 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">270 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">475 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">71 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><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%">98 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">16,850 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,069 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">30,617 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,003 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</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%">83,890 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">68,736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">155,754 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">120,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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table> 48275000 45245000 92236000 81030000 15786000 11084000 27320000 18243000 2979000 2338000 5581000 4326000 67040000 58667000 125137000 103599000 1247000 1055000 2453000 2033000 4178000 3386000 7108000 6022000 11048000 5358000 20303000 8473000 306000 270000 655000 475000 71000 0 98000 0 16850000 10069000 30617000 17003000 83890000 68736000 155754000 120602000 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 (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 style="width:43.611%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.880%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.201%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.204%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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/>June 30,</span></td><td colspan="3" style="padding:0 1pt"/><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%">Six Months Ended<br/>June 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="padding:0 1pt"/><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="border-top:1pt solid #000000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">49,166 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">34,296 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">90,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,901 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">China</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%">7,904 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">12,626 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">16,763 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">23,331 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Canada</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,877 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,877 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,727 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,823 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">6,944 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,215 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">12,607 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">9,539 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 Kingdom</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,595 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,133 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,022 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,919 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">Middle East/Africa</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,654 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,414 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,703 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,376 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">1,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,056 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,009 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,648 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">1,359 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,029 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,565 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,946 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">414 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">605 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">119 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">83,890 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">68,736 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><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%">155,754 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">120,602 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table> 49166000 34296000 90753000 59901000 7904000 12626000 16763000 23331000 10877000 8877000 18727000 13823000 6944000 5215000 12607000 9539000 2595000 2133000 5022000 3919000 2654000 2414000 4703000 4376000 1977000 2056000 4009000 3648000 1359000 1029000 2565000 1946000 414000 90000 605000 119000 83890000 68736000 155754000 120602000 0.094 0.184 0.108 0.193 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 (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:99.839%"><tr><td style="width:1.0%"/><td style="width:64.389%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.753%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.756%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">2,560 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,147 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">2,687 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,201 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">822 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">822 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">4,271 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,572 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">6,743 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,138 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">2,509 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,132 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">117 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">19,670 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">16,129 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">7,501 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,231 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">12,169 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">9,898 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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 June 30, 2022 and 2021 was $0.8 million and $0.4 million, respectively. For the six months ended June 30, 2022 and 2021, depreciation expense was $1.6 million and $0.8 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 (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:99.839%"><tr><td style="width:1.0%"/><td style="width:64.389%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.753%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.756%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">2,560 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,147 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">2,687 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,201 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">822 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">822 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">4,271 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,572 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">6,743 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,138 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">2,509 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,132 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">78 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">117 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">19,670 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">16,129 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">7,501 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,231 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></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%">12,169 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">9,898 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 2560000 2147000 2687000 2201000 822000 822000 4271000 3572000 6743000 5138000 2509000 2132000 78000 117000 19670000 16129000 7501000 6231000 12169000 9898000 800000 400000 1600000 800000 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 consists of the following (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 style="width:70.214%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:12.842%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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 colspan="3" style="display:none"/><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%">539 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">500 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,982 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,431 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,463 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,579 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">30,950 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,326 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">454 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">459 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">676 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">693 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">38,064 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">38,988 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,255 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,777 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">32,733 </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"/></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%">Amortization expense for the three months ended June 30, 2022 and 2021 was $1.1 million and $0.4 million, respectively. For the six months ended June 30, 2022 and 2021, amortization expense was $2.1 million and $0.7 million, respectively. Certain of these intangible assets have been adjusted for business acquisition open period adjustments. Refer to Footnote 13 for discussion of these updates.</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%">Intangible assets consists of the following (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 style="width:70.214%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:12.842%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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 colspan="3" style="display:none"/><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%">539 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">500 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,982 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,431 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,463 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,579 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">30,950 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,326 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">454 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">459 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">676 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">693 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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%">38,064 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">38,988 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,287 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,255 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="display:none"/><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,777 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">32,733 </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"/></tr></table></div> 539000 500000 3982000 3431000 1463000 2579000 30950000 31326000 454000 459000 676000 693000 38064000 38988000 8287000 6255000 29777000 32733000 1100000 400000 2100000 700000 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 six months ended June 30, 2022 and 2021 (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 style="width:84.957%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></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, 2021</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%">25,655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Open period adjustments for 2021 acquisitions not yet finalized</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%">(153)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Foreign Exchange</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%">(431)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 June 30, 2022</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%">25,071 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></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, 2020</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%">4,472 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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</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%">11,272 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">83 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 June 30, 2021</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%">15,827 </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"/></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 seven acquisitions during the twelve months ended December 31, 2021. Purchase price accounting for the five acquisitions completed on October 1, 2021 remain preliminary in nature. Accounting for these acquisitions will be finalized within one year of their completion. Refer to Footnote 13 for discussion related to open period adjustments.</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 six months ended June 30, 2022 and 2021 (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 style="width:84.957%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></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, 2021</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%">25,655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Open period adjustments for 2021 acquisitions not yet finalized</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%">(153)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">Foreign Exchange</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%">(431)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 June 30, 2022</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%">25,071 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></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, 2020</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%">4,472 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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</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%">11,272 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">83 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 June 30, 2021</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%">15,827 </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"/></tr></table></div> 25655000 -153000 -431000 25071000 4472000 11272000 83000 15827000 7 5 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 (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:100.000%"><tr><td style="width:1.0%"/><td style="width:70.214%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.842%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">12,537 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,699 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">4,054 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">180 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">57,551 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">49,057 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">74,142 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">51,936 </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"/></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 (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:100.000%"><tr><td style="width:1.0%"/><td style="width:70.214%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.842%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.843%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">12,537 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,699 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">4,054 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">180 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">57,551 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">49,057 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">74,142 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">51,936 </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"/></tr></table></div> 12537000 2699000 4054000 180000 57551000 49057000 74142000 51936000 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:24.75pt"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has a $75.0 million revolving line of credit with a financial institution. The facility is utilized to fund the Company's working capital needs and other strategic initiatives, and is secured by a security interest in substantially all of the Company's current and future assets. Borrowings under the credit agreement bear interest on at the </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Wall Street Journal</span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> U.S. Prime Rate less 0.75% per annum if the Company's EBITDA ratio (as defined in the Loan Agreement governing the facility) is equal to or less than 2.00 to 1.00 or the </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Wall Street Journal </span><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">U.S. Prime rate less 0.25% if the Company's EBITDA ratio is greater than 2.00 to 1.00. The facility also includes a fee of 0.25% of the unused capacity on the facility. The interest rate for this credit facility as of June 30, 2022 and December 31, 2021 was 4.00% and 2.50%, respectively. The Company paid interest charges on borrowings under this facility of $0.3 million and $0.5 million during the three and six months ended June 30, 2022, respectively, and had a balance of $32.0 million and $25.0 million as of June 30, 2022 and December 31, 2021, respectively. This facility matures on July 5, 2024. </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 Loan Agreement governing the facility contains customary covenants relating to maintaining legal existence and good standing, complying with applicable laws, delivery of financial statements, payment of taxes and maintaining insurance. The Loan Agreement contains two financial covenants: </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%">(1) Senior Funded Debt (as defined in the Loan Agreement) divided by EBITDA (as defined in the Loan Agreement) at or below 3.50 : 1.00 when tested at the end of each fiscal quarter on a rolling four-quarter basis, and </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%">(2) A minimum Debt Service Coverage Ratio (as defined in the Loan Agreement) of 1.25 : 1.00 at the end of each fiscal quarter when measured on a rolling four-quarter basis.</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 revolving credit facility through a financial institution in Canada, and is 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 June 30, 2022 and December 31, 2021, 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 June 30, 2022 and December 31, 2021, the Company was in compliance with all debt covenants.</span></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%">NOTES PAYABLE</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%">As part of its acquisition strategy, the Company may use a combination of cash and unsecured non-interest bearing promissory notes payable to fund its business acquisitions. The Company discounts the promissory note to fair value using market interest rates at the time of the acquisition. </span></div><div style="margin-bottom:12pt;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%">Notes payable are summarized as follows (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:99.839%"><tr><td style="width:1.0%"/><td style="width:38.707%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.827%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.827%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.869%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Weighted Average Interest Rate</span></div></td><td colspan="3" style="padding:0 1pt"/><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%">Matures</span></td><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">Face value of acquisition notes payable</span></td><td colspan="3" style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">2.61%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">161 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">458 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="12" 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%">Unamortized discount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="12" 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%">Current portion</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(159)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(375)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="12" 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%">Total long-term debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">76 </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"/></tr></table></div> 75000000 0.0075 2.00 0.0025 2.00 0.0025 0.0400 0.0250 300000 500000 32000000 25000000 2 3.50 1.25 4500000 0.0025 0 0 <div style="margin-bottom:12pt;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%">Notes payable are summarized as follows (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:99.839%"><tr><td style="width:1.0%"/><td style="width:38.707%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.827%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.827%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.602%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.869%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Weighted Average Interest Rate</span></div></td><td colspan="3" style="padding:0 1pt"/><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%">Matures</span></td><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">Face value of acquisition notes payable</span></td><td colspan="3" style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">2.61%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;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:9pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">161 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">458 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="12" 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%">Unamortized discount</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="12" 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%">Current portion</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(159)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">(375)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="12" 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%">Total long-term debt</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">76 </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"/></tr></table></div> 0.0261 161000 458000 2000 7000 159000 375000 0 76000 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 (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 style="width:60.919%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.489%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.491%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">29,523 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">25,175 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2,394 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,385 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,058 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,300 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,007 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,530 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">36,587 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">32,915 </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"/></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 (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 style="width:60.919%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.489%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.601%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:17.491%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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%">29,523 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">25,175 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">2,394 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,385 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,058 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">818 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">1,300 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,007 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,312 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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,530 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">36,587 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">32,915 </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"/></tr></table></div> 29523000 25175000 2394000 3385000 1058000 818000 1300000 2007000 2312000 1530000 36587000 32915000 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 incurred contingent liabilities in relation to the 2021 acquisition of invisiFRAME Ltd. and the 2020 acquisition of Veloce Innovation. The payments of these liabilities is contingent on attainment of certain revenue performance metrics in future years. The fair value of these liabilities was determined using a Monte Carlo Simulation method based on the probability and timing of certain future payments related to these metrics. 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 (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:95.192%"><tr><td style="width:1.0%"/><td style="width:68.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.546%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.641%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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 colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></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,119 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,665 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">We assessed the fair value of these contingent considerations liabilities as of June 30, 2022. This assessment resulted in a reduction in the fair value of the liability of $0.3 million and $0.3 million for the three and six months ended June 30, 2022, respectively. This reduction is reflected in general and administrative expenses in the Condensed Consolidated Statement of Income for the three and six months ended June 30, 2022. The remaining decrease in our contingent liabilities is attributable to foreign currency fluctuations and non-finalized acquisition related valuations. Refer to Footnote 13 for discussion of these valuation updates. These decreases are recorded in accumulated other comprehensive loss and goodwill, respectively.</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 incurred contingent liabilities in relation to the 2021 acquisition of invisiFRAME Ltd. and the 2020 acquisition of Veloce Innovation. The payments of these liabilities is contingent on attainment of certain revenue performance metrics in future years. The fair value of these liabilities was determined using a Monte Carlo Simulation method based on the probability and timing of certain future payments related to these metrics. 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 (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:95.192%"><tr><td style="width:1.0%"/><td style="width:68.765%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.546%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.641%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">June 30, 2022</span></td><td colspan="3" style="padding:0 1pt"/><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, 2021</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 colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/></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,119 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">2,665 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 1119000 2665000 -300000 -300000 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 (in thousands except per share values):</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:99.839%"><tr><td style="width:1.0%"/><td style="width:35.336%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.309%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.442%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.309%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.442%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.309%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.442%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.311%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 June 30,</span></td><td colspan="3" style="padding:0 1pt"/><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%">Six Months Ended June 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%">2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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;border-top:1pt solid #000;padding:0 1pt"/><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%">2021</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%">11,902 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">10,186 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">19,706 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">17,033 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></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.43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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.37 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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.71 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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.62 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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.43 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.37 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.71 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.62 </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"/></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 (in thousands except per share values):</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:99.839%"><tr><td style="width:1.0%"/><td style="width:35.336%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.309%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.442%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.309%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.442%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.309%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.442%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.311%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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 June 30,</span></td><td colspan="3" style="padding:0 1pt"/><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%">Six Months Ended June 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%">2022</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><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%">2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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;border-top:1pt solid #000;padding:0 1pt"/><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%">2021</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%">11,902 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">10,186 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">19,706 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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%">17,033 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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,613 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></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.43 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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.37 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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.71 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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.62 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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.43 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.37 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.71 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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.62 </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"/></tr></table></div> 11902000 10186000 19706000 17033000 27613000 27613000 27613000 27613000 0 0 0 0 27613000 27613000 27613000 27613000 0.43 0.43 0.37 0.37 0.71 0.71 0.62 0.62 0.43 0.43 0.37 0.37 0.71 0.71 0.62 0.62 ACQUISITIONS OF BUSINESSES<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 acquired seven businesses during the twelve months ended December 31, 2021. The valuations of the identifiable intangible assets for TintNet, Inc., 1 One Armor, 6873391 Canada Ltd. (operating as Shadow Shield), 1716808 Alberta Ltd. (operating as Shadow Tint), and North 1 Technologies remain preliminary pending the finalization of the valuation models. These valuations will be finalized during the three months ending September 30, 2022. The accounting for all other assets and liabilities related to these acquisitions has been finalized.</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%">During the three months ended June 30, 2022, we finalized the valuation of the purchase price and related purchase price allocation for our November 1, 2021 acquisition of invisiFRAME Ltd. resulting in a $0.9 million reduction in purchase price. The final allocation resulted in a $1.1 million reduction in net identifiable intangible assets, a $0.1 million reduction in goodwill, a $0.3 million reduction in deferred tax liabilities and a $0.9 million reduction in contingent liabilities. These changes were caused by updates made to certain valuation assumptions, including the discount rate applied to the valuation model. These changes resulted in a $0.1 million reduction in amortization expense for the three and six months ended </span></div>June 30, 2022. The impact of this final valuation on the twelve months ended December 31, 2021 results was not material. 7 -900000 -1100000 -100000 -300000 -900000 100000 100000 EXCEL 65 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( !5 "54'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 " 50 E5LCD/ NX K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2@,Q$(=?17+?G6P*4L-V+Q5/"H(%Q5M(IFUP\X=D9+=O;W9MMX@^@,?,_/+- M-S"MCE*'A,\I1$QD,=^,KO=9ZKAA1Z(H ;(^HE.Y+@E?FON0G*+R3 >(2G^H M X+@_!8VDDX1-^PR^76UO=\]L$YP(2J^KOC=KA&2621A'^_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 !5 "55K VC^P04 +P> 8 >&PO=V]R:W-H965T&UL MM9EK<^(V%(;_BH9V.NU,")8<+MD29@B;;&FS63:DV]UV^D&Q!7C6EJ@L0_+O M>V3 3E+Y0#W+E\2W\Z)'1Y=74G^M]-=T(80ACTDLTXO&PICEFU8K#18BX>FI M6@H);V9*)]S K9ZWTJ46/,R#DKC%/*_32G@D&X-^_FRB!WV5F3B28J))FB4) MUT^7(E;KBP9M[![<1?.%L0]:@_Z2S\54F-^7$PUWK4(EC!(ATTA)HL7LHC&D M;T8^LP'Y%Y\BL4Z?71.+\J#45WLS#B\:GBV1B$5@K 2'?RLQ$G%LE: <_VQ% M&\5OVL#GUSOUZQP>8!YX*D8J_B,*S>*BT6N04,QX%IL[M?Y%;(':5B]0<9K_ M)>O-MV=G#1)DJ5')-AA*D$1R\Y\_;BOB>0"M"&#; /8J@%;]@K\-\'/03310!-)F\:IT? V@C@S&*F5T&0"&2--DBZX%FF_ M94#8OFX%6Y'+C0BK$.F0]TJ:14JN9"C"E_$M*%!1*K8KU25#!7_-Y"GQO1/" M/,8P)X5L&>8^N"M"C+HIX;WX.P>V#(UAWDDGP:J\XAKS7B<.A.) MAM4$[!6 /;105])$YHE<1[$@MUGR(+0+#-?P/-KT>[UVSP6'AM:$.R_@S@^! MNQ/SR ZCD,9;GCC;**[S>7)UN5DZAW".):!TM NN6VB M)V1JH#,2I@CR/7\DXQ Z9S2+@IP; M:<%[))G7I)1V_1YU\J+!=7E9RXS^X(WL'3?E>K:43%9>;$Q^3-:5H]-N&*WQ^BY MD_08SHB6UHCBCB9OKT-8X%:#X0*,>DZL8Q@A6CHABMN7&Q5 OB8+)3&GL$>D MT^TU_:[GYCN&#Z*E$:*XB[F/#'@@-2.4_?CP$YF*(-.022.P6K1):PL,N7OX1^AV.'T[=*XV\<"ZA*4I8@>9 MHE&FM5VO;!8I>2IA1LF<.RQ[%+\X]V5&>%1=SM(,L8/,T%C"HGJS(6<7GGP' M[N3$%:LXC^&"6.F"V$$NR"[,P,6#*9@K[1R,]NC<< VM?1@$ H1 )MQ(.HF/ M8858:878059HFO X)I=9"J]3=[O%=2K7V7A<7;[2 ;&#'-!5(O3<=LQWH& 6 M8!*2)9?NU.*"U:#',$"L-$ ,]R^[1"X$)!+#PV6J\8YAA%AIA!CN878C[8M9 M?IKO8Y,/F0%;*^T^KF/N1L$%JI-W#(/#2H/#<'^RFQ^OH]3:V2\"W!FV>;E'KMFDK.D[ M-PWPR)J@?NEX?-RH%#N7STFOX:%S2-TC5K4UBX?592P]CX\[E->,V\WH:DI< M[J.;\1A^QR_]CG^0WQD!I@;$L0S%(_E-. ?4/5(>K#ZZG2YS;]3BP?^7L_7L M?-!.>/FQ:4H"NQVY.2HLGA9'L\/\0+)5?KXYUWW/[7R9DEC,(-0[[<* IS=' MI9L;HY;Y:>.#,D8E^>5"\%!H^P&\GREE=C?V!XH#Z\&_4$L#!!0 ( !5 M"560C$2#8@8 " ; 8 >&PO=V]R:W-H965T&ULK9EM M;]LV$,>_"N$610LDL4CJL4D,- FV=<"ZH&FWUXS$Q$(ET14I)]FGWU%6)5FD MZ&3KB\22?3S][TC>CZ3.'D3]3:XY5^BQ+"IYOE@KM7F_7,ITS4LF3\2&5_#+ MG:A+IN"VOE_*3\GRDE67O"BT)]#QO7.Z MZ)^I&XZO?WC_I0T>@KEEDE^*XN\\4^OS1;Q &;]C3:$^BX??>!=0H/VEHI#M M?_30V7H+E#92B;)K# K*O-I]LL MH'NE+5A73'% M5F>U>$"UM@9O^J+-3=L:HLDKW8TWJH9?BRJ!3>(;@2HHBSYB"FPM6 ML"KEZ$8[EN@8?;VY0F]?OT.O45ZA+VO12%9E\FRI0(/VM$R[YUWLGD=FGO=[ M4YT@ZATAXA%B:7[I;G[%4VB.V^9XO_D2(N_#)WWXI/5'Y\)OZII7RA;'KJ%O M;ZAGUWNY82D_7\#TD;S>\L7JS2L<>J>VJ'Z2L[T8:1\C=7E?73*Y1M!;*-47 M_'N3;UD!05M[;^CN.QF(4^GYOM*?2[U7Z3I4?TE0T( IJ M0\I!X6W!CU#%K5VS\Q2,GH\3C).)2HL5Q4%BEQGT,@.GS(_5%E(GZJ=9<8'Q MV,C'/IF(,ZT"G-#0+B[LQ85.<=T;'M=J#6OH92T QTQ*;F] MYT-#D>]3?R+;-*)A1.RJHUYU=""EJ2@Y4NQQU/HW)@9X'L-?JJ>UQ/<4W@%HU M.T834RK!X70"F59)G,P(Q=X ',\IM5TI'(N[XT9R5'! L".GG:_]21S$TUZW MF9$$>S-:1W#$!X:F8M5]#N.QTSB;T<[16 %)HBB:"C7-*(DHG1$Z8 P[";+Z MLYWDE:B.#X_3SM580YS0J5#3*$KPC,R!1-B-HE^%R![RHK#*HF8& R^:LL=J M%@;!C+0!/]C-G]TL=V3-@I,X\8+I]+;9A=C#W>9&KG-L'DXDIX*@Q!TTKJ"ES!7C &7;SK%]I=0EMF<'2M&Y@X7]( MN$DO&@:Q4>8L9E"/YY(]4 Z[,;>/XD-:37[YGF\L$RUF-"3A3)K)P#GBYMP5 MO^.@,VL7-C^DSB\;B8DPXN/ILM%F%?ES6@?.$3?G=O@H1'5_K'A='LHL,2F& ML3^%LL6*A'2&(62T8W.C[D+4T":O[B72TPU^U24BA4SG]L2:)*/$\PRUIAG@ MQYM90I !><2-O$\C)H]*VK/*!#%9AT%2/)5NFB4QG5,^$)&XB3BC_& Q)B8! MC62;)M',WH<,@"3NK=FN.!Q*J;GQBH,DFA8%BUD$BXR9=1H9X$8.P$V49:[T MVGRW.;L4E8*AS*L4]**WGR"W".-W5N5.SW8L(^M9Q/]WM!_]P$H2.9K(&[ 3OBT]@?I*W_= 'Z!(W=&%KWN% ZB0 MB>=AF$(-6HMZOP?L,'>$J%_4F!#?9@-#GM]2$BN6:T/)_IX3Q&)CD),CF FOB14 MD]S$J(U.F_WSM 'MU(WV#QFP!LHAE!M]WG*<0Z%DFQS*C_5(S;(Y]:)PVBM6 MLR">X24=V$[=;(?E7E,V17NLVYT%B1+&^%J?Q6^!04+:3P)-?!_CV)1M,0N2 MF?%$!\I3-^4_<\7@JPQQ5E<:]E:))K,3'_O38FXQBWS?GRGF='2NZD;[#CCR M146-VI!./>.@P&(7^WXX<]1&!ZC3YVQS1Y!L)]H+8_"-\U_K5MAF9]L*+T>O M+_2[HS]8?9]7$M9(=]#0.XD@"_7N=[21MDX(D)"J M5< 'Q FU(FG'"4KTU5 M.)(KPYF J2)ZE:94_;H%+C=CQW>>%N[9,C%VP0U'&5W"#,R7;*IPYE8L,4M! M:"8%4; 8.S?^]<3W+""/^,I@H[?&Q%J92_E@)Q_CL>-91< A,I:"XL\:)L"Y M94(=/TM2I]K3 K?'3^SO<_-H9DXU3"3_QF*3C)V!0V)8T!4W]W+S 4I#7=ML6=P8,]/*]$B M;>^*!%X0[(%/CL/O($*XG\/].MQ%]U4*@BH%0<[7/L W,V@9*],0N2#OF4#C MC'(RE9KEE?;]9JZ-PGK[L<]JP=W9SVTOX;7.: 1C!V^9!K4&)WSSRN]Y[_89 M_T]DM32TJS2TC[&'4[P_H!0>/A9=]'!%,JK(FO(5D LF2"PYITJ3#%1Q\)?[ MLE%LT<^WL/\@Z]!K>1Z>TGK;YJFHFOY.I;]SCOZR.@E=F40J]AO7K8UB=:_V M@KZ[IHA=?%MI0 M$3.Q/"6Z=U+TL8B:Z'XENG]4]$2F*5[J?ZCQ?J,:/Q55$S^HQ \:BS^_P <' MZW8WZTTB:P:&E8'AV0::U??PF:2@W_.#[K"_H[U!8$VZ[_U]57IGBS^CV$OV M!A::1!8>W*TWOVV[/E.U9$(3#@N$>JT^&PO=V]R:W-H965T&ULK5IK;]LV%/TKA%<,#=#&?.B9)08: M2]LRH%W0M-MGQ69LH9+H2;23_OM1CT@623%.RR^)99][Q,-[21Y2NGQDY;=J M2RD'3WE65%>S+>>[B_F\6FUIGE3G;$<+\S3&$ MWCQ/TF*VN&R^NRT7EVS/L[2@MR6H]GF>E-^O:<8>KV9H]OS%YW2SY?47\\7E M+MG0.\J_[FY+<37O6=9I3HLJ904HZP>T"&NGS5GO3<5'"D\5E MR1Y!6:,%6_VAZ?TF6O176M2%/NU2/;K5/Q^!MZ#KW<1>/OF#%3;I*052 OP9CZ^. <$O@,88JQIS_+T<*23\W-WCW_X[J/.('W1D(:/3/!]I@=: M[*DNK6V@HP^L9[V+:I>LZ-5,3&L5+0]TMOCU%^3!WW1]:I,LLDD66R(;];[3 M][YC8E]\83S)Q"0]F8,VW&O"ZX7BL A($,++^>&X= M,2S6P##T(.YA(Z5NK]0UUMF25;R>?^Z2C&HG$==FM=DDBVR2Q9;(1CGP^AQX M)U3;JLM$-96)EL0]*@ 7AM"7:DY%.<0)0JGF5%3H0J7D5)3O0R_05YS?J_6- M:O\H656!CTFY20N=3%^Y*<%A0"29*@J[V)$Z(U)1'O2A-$QC%>40ESAZF4$O M,S .K+]WM$QX6FQ _+2KEW]M3@.;H\LF6623++9$-DI$V"A4$,(8!5+1J:@ ^JZ^YA *'5AK+NG@QTX MH?S(9*,3)E'6CSIJ&'4=U:@-/B:.K%L#P^Y1DCKA*HPX(9(G4PT,8X*F4HX' MX=@H?)AHVCV$5C!6E;B^$\J"-3#L^5@6K,)$MP1*IC4PA%$X(7APQLAH_18W M!:=BFN#/*=8*)II5!,MR59#CR%I5C.M@6:D*"OT)F8,%168/*C;I8@M>B!UJ M6=)B]5W(76V38B,VB9LD+7*-D$#>N\16;R&R5/$:YCPA$= M@RU%1L>UZ/;#]_1!=(/8Z397/'F:&-"N9E()?=F/ZV!BBD*R;!4FK$6@"-? M$'*G9K+!#2*S';SIQ1HKW%/V ^38FW6*51061D\6K+.6OC*>-=82H:DZ'^P@ M,OO!3Y1W^=7*- :_UB%998LZMM&63!2=TF\:F \)F>BXP6 BL\.,D[(0TWX% MQ +0'A%I.]"JQ;3*%EEEBVVQC=,QV$QD]IG7296NP-NT &N694EYE)I0WL0! AX\)S9[SBC-]O6!YNG2.\(7I&M1 MBG0M2I&N14U*'TPG1L8A^&]S2"ZT?S@($R:6YD_[_%Y(%]OX)H^M+4F-6?0\I-7D2+#H-%K\( M&RL>'#(V.^3C$6G2K-I6K>:38-%IL/A%V%CS8)>QV2[?EFR]7W&M3F/DJT>: M3;;(*EMLBVV<@\&T8_-ALN&A!;9ZCFR5+;+*%MMB&^=@V#W@4PZ3#8\NL+HE M\'SHR'LE#?6SJTLI^6F>9^O$H+V!6]?%NJ_[=\9_-"\*2=]?XTN MEDCS?80NXO:-P(&^?4&Q?0)?@8P^B%O!?-Q M2Y,U+6N ^/V!,?Y\4=^@?_-R\3]02P,$% @ %4 )51.^WC?_ @ Q D M !@ !X;"]W;W)K(V$8G=V4X+_W[73IJUP:VJC2^-'^<95 -V/%CB!9D1^;B\ MX]"S6Y4T+PD5.:.(D_G0NG;[TU#A->!G3M9BJXV4DR?&GE7G)AU:C@J(%"21 M2@'#9T7&I"B4$(3QN]&TVB45<;N]4?^BO8.7)RS(F!6_\E1F0^O20BF9XZJ0 M]VS]E31^>DHO8870OVC=8!T+)960K&S($$&9T_J+7YH\;!% QTSP&H+7)01[ M"'Y#\(]=(6@(P;$K]!J"MF[7WG7B)ECB>,#9&G&%!C75T-G7;,A73E6=S"2' MV1QX,AXSFL*NDQ1!2[ B3[&$SDS"!\I!"L3F,%5"$6:J.E8$W="$E02=/E)< MI3F@S] Y>IQ-T.G)&3I!.44/&:L$IJD8V!)B5"O921//J(['VQ./CVX9E9E M4X@K-? GA_GA ;X-N6D3Y&T2-/(."GZKZ 7RG4_(+IKLO-_JT__ M>?6=9/AMM?A:S]^C]T-FA*-DIQQR70ZFG:ZU K.6.@#[8HD3,K1 31"^(E;\ M\8,;.I]-:7Y/L5[7M$G)BYR.Z;Y(MM27XA.3<,7J9@;/+,(5 .;GC,E-1RW0/MSB/U!+ P04 " 50 E5 M4#1 /KB)[]=E]<%L?KFA]^R6E1\WU[DXFQU0HCAE61'S#.7L[FKR M%K\.S=JAMO@K9KOBZ!A5E_*)\\_5R?OH:F)4(V()6Y45!!7_'MB")4F%),;Q MI0&='&)6CL?'3^AA??'B8C[1@BUX\G<NKB3=!$;NCVZ2\X;M?6'-!=H6W MXDE1_T6[QM:8H-6V*'G:.(L1I'&V_T^_-HDX6L%(.N0L]6S0#?[0=(!@;X@9ZGW?AN) MZQ"%3Q-T3>-H&F?3!=W$ZI$$>JP;5HH)+G(:T#R+LWM5#L(3PUFMMNDVJ9GY MLURS7)"5BH5D79RN>,O3R-UX4%UWXF:B'0U&00U&0.IXU$.\=NX^S M:JQBTB8T6PEH06*QICDK+A MT9*M7B$3_XR(00P5IUK\:K5\76SHBEU-Q%44 M+']@D_F+9]@QWJB8WH/9-5BU4C[,B>M@TS!$Z(=C4B&C!I!@(1!8ATWSP*8Y MDLUS&-QC.D=)MTW3,[L97\A6Q.N1(IM@P\*D:Q7(5A;Q7+=K%2(J2,VY$)4N,A(?7317^9^>EK@_KGA28+$AK:C>?2O*FD69-E# M@BTAP0)(L! (K,.^?6#?UDZ-/T3K%M>+IXI-6UIWL&N8_2F@C3"6)DBPX*SQ MAT A._EW#OEWM/D7%2..?$5.CPYMP+%T M0((%D&"A-A,=+MP#%ZZ6BR"+-#O^K]M,[!=&O5]@%35:\+%+GWONC@\9-8 $ M"X' .E1Z!RJ],52>0Y\G9=PU++.W2R^\T]N]#*3:[F4KV_=QC]U0MO*(NLC] M0V;\[^ML?Z?YH2]2)DJ+/[;._7/K'#)J D6 H%UV,1&JUZ-\;WM20X;T..\ M.T;=!W>JO3'3EKL"2E7O"C/+=XG5*WB%V11;EKKF\9'&QS^PR6V" 4T!4+0E M*%H BA9"H76+H-7T6"_J];TNED4V-K#7[Z[T,4:S!2K8S[N$$"IHEX96C&.] M&A_;\C9PG3V"2+1H8XZF!1(M $4+3Z2C2TI[$P!K5>;W]KYZ]-$KHG5N5P : M-P!%"Z'0NHRVPA[KE?TWM, -XO%VK^J!%69R5Z"0WJJN0#93M<$*LZ$^&+?* M&^NE]ZA[O.I\R1JTJE-B^VX_96I+546#*FY0M! *K4M8*\^Q7I^?O(VK)LF5 MJM6S+$==0@@5M/L0 ML17G1"_.Q[:Z1*5^B=N7Y?JH8XD!10M T<*3">D2T]X/(%JI.:]7PVGU@XP( MB5FR85DQ3 J6G]^Y?I\24!'?H-FZD %HR! *K4O(T?-VO38_7W\0)4?J)^2* M3FS 4O4L'?9A.NS3]/]#PI-6PA.]A-=K"S5#JJ?@IM%_P+U0V$E]&)$E,#9< MQ^A/$-G,M[#5FT>APFR*/6=HC6DE-=%+ZE%WVM4Y U75Y&Q5#1HW $4+H="Z MI+:JFNA5]@U"%%H:^X8T)2 ?22]! MT8+S+B&$"MJEH;T?0/2/PD=K$/F9\Q1CU^X3 RKE0=$"4+3P9$*ZQ+0:G>@U M^B@-XBNZ)Z]/":A>)PJ%W0\9@(8,H="Z/Q)MU;JI5^O?J4%,6:L.:) !2T4G MIA_QV'D!BA9"H779:B6\J9?PWZ!!3(625VD0A9W\HUX5EJQ!%&8J#:(P4VF0 MV=%K#M5K+Z+Q%.UH@1)V)_R,5ZXHJ7S_)LG^I.2;^LV'3[PL>5H?KAD5_5=E M(+Z_X[Q\.JE>ICB\SS/_#U!+ P04 " 50 E5%1$;XD\' ,(0 & M 'AL+W=ORZ"5II[E??T-)EFSQ)Q!+J[%7I>\8@\2J?UV2^7S+2O%T\TH'AT??.7KC38/ M)HOK'5VS1Z:_[1XDW$TZ+07?LDIQ42')5C>C3_'571*9 ;7$?SA[4B?7R)BR M%.*[N?E2W(PB@XB5+-=&!86/ [MC96DT 8Z_6Z6C[IUFX.GU4?OGVG@P9DD5 MNQ/EG[S0FYO1?(0*MJ+[4G\53_]FK4%3HR\7I:K_HZ=6-AJA?*^TV+:# <&6 M5\TG_=$ZXF0 Z'$/P.T /!R0> :0=@"I#6V0U6;=4TT7UU(\(6FD09NYJ'U3 MCP9K>&7"^*@E?,MAG%[O?OI/?H)\0K]L1%[1:M"74\T(#/Z)WF+XK9!@3TH M4O2;J/1&H7\"FN)\_ 0LZLS"1[-N<5#AK_OJ(R+1!X0CC!UX[EX_/ [ (9V7 M2:V/^+QL'+BJ';B28HL@"R75O%HWTYAKSIQ>:[0F;JTFPZ_4CN;L9@0IK)@\ ML-'BYW_$:?2+R^0+*3MS0-(Y( EI7_P.!8E7N=@REYG-V+0>:^K.81%GLRB] MGAQ.\3ND9A$AG=09L&D';!J,S*?B+TBR9J9K 84I%U7.2X:J#K%Y;NYR$\2= M% <.>M-!C&>P9*:5I MM>9+"#15BFEG]LTL'#@F\0"L+93.IVZP\P[L/ CV7\"^"' J"O!.O'SNW@]F M4KI@SRU$XWB(VB63NE%G'>HLB/I1B_S[V%!J@2!MH,]0M;M=$#-[&LRR 41; M)G(#C*.>ZZ(@Q%M: ,4O-6(_##QG+6I5G$5].G2?0RC&GBD:GU!Q_$)VK9B4 MX+YCW:$_G AC^^7#%'+(>,(;XQX>#N=0GDO6)%"%*J&90COZ3"&'G"BQA6 Z M!&F+Q',/RIYIXQ>H=@.)#= @A9K,KK.FY'3)2W^%CB_*M)?2=NZ"GFOC,-E" MH,3>$!K4:L8/W@@E=A%(TR@91LDA-D\R3YQZWHV#1+7X4AV@B GY[*UCK8*S M%V,\P]8T'>>Y+5SE.@E\##Z6JS6$6)SMD8ASY:DK/='&8ZKJIVL*KH5(H-'MV MEK1.V#:)D?G,FKZV5!+-L0=X3W9QF.U^/S:$[_:JKMCO7VP-G3;8+#?&4WN* M.P@SBV8>QL$](>+HM>N2U@SX.S#U"N0X2+5OK9B7TG;NAYYY<9AY'_8RWT#G M\G_UM-CFVG$263%TB9$DC3TQ[&D9AVGY08JLP,K1>W65Z\HL(MRL>5MAQ2.?!.E9UP<9MRN9+TYU1T$FTPS M:X([Q A)B:>EPST1X_1-NRV7&8V4WTED+" M.#!!SF^*_01CVW M>XD5TDQN42FH4+LU6QJ;[\YI,;3Q+?J)3WWDC#WUL;4BS9C M25/R@;/J"T-5O,\-FUVRXX^"0&9/(L]%$3O:EPQQ\SZ!VF,8GY'I4[*691;#T0=!4 M<.'D8N(@6F)QFTL*1SCS3:.>CDF8CN^\Z"D43K;F565L,*V1WP2;>+,TL>:3 M+86S"/NRNN=G$N;GH 7,K#V#V&WVS0BVII$M-9\1S[*3] Q-P@S]N-_MRIIZ M:(G,46.Q;]K02E3CMHL+5J"+,O6EM)T[HV=J\@)3'VTNZ\SJJK#3<,<>\Y18 M,\ZQ^$XR#S&3GIC)_/51RX]-%I2"YG38LW=+@FS_YEA=2-NY"WK6)V'6KW.N MWN4!FT_V73W3U*;S))W-AM&RI:"^>3;,DI[TDS#I#Z%"(P7=N_,X+;).RJ81 M'J!T"%EKHLG)N?*6R75]W*Y0O673G,5V3[LC_4_U0?;@^6U\==<BFT%MOZ&PO=V]R:W-H M965T&ULI59M3R,W$/XKHSWI"E*:-S@.01(I!-"E/2 *7%NI MZ@=G=Y+UG=?>VEY"^NL[XWT)G!+$M5^2M3WSS,PS+_9@;>PWER)Z>,J4=L,H M]3X_ZW1):_?L&SB2A3'?>#%-AE&7'4*%L6<$07^/.$&E&(C< M^+O"C!J3K/C\NT:_#K%3+ OA<&+4[S+QZ3 ZC2#!I2B4GYOU)ZSB^$=-O$+&(=1SK;L(T:C]^]Z)]WS M5\([;L([?@W]Q]/Y/^#@(47JJMADN= ;J5=P( XA-I1Y[3#AKXI<6BR$(AX1 MRDDC''-[B3%F"[1PU OYI=]U*N,44CI?(&IJ+TL]F\#2F@Q$D4B&6C8I<4U* M6B%Y!XM#*'0M)[4G]6R?1[M@*L<8B^8=> K0IQ8Q[#CY!%E9W#]N]-^OWO.6^&S=PZ5M>ID4G): M'1Y2*(%HFP0.U]*G85UHS[3G5E(@N4('*]1HA5(;/L>\I"$@?]&!E%#%(!.P;,&V.&"+JT(%J8#)A_<8%U9Z64E< M/<6IT"ND7LLRZ<(PKPFXOYK4(;9A]M*(VV.F!3%:3[?-;F>KW!FOC4=(I(N5 M<04U&F@686:(+%4D6V9V%L(VB=OR(:),)CW1V(9/9HV/:%LUB,FEKD9&)C1= M9PS3VH]?.0'D$8CD*PWZJHZY1J4+>26LTFF*GSBUO$=IM850)*BI>YRCBS1D MD/(HI(7\N_'UTGYNG"PS2F)T;86@.&3NQW5B$ID$$>R8A82"4]6ZIN59*FLJ;:=*&%!*755A0X%,YH MH5HU-\P[[90.^#1Z@14=_A7U-)%.4:8A3'E M:4,-\_*NIGL]D?92XM*:!7> MD\P^C>+RT=7L-D_62_%"X)-5N^^.'"&SYABP7WN3AW;8P MGNHU?*9$$UH6H'.>&PO=V]R:W-H965T&ULI5EK4]M(%OTK79[L;%)% MC!^!, FARCC , /$A6&R6UO[H2VU[9Y(W9[N%H;Y]7ON;4F6P)"=W2^@QWT_ M3\N':^N^^:520=SGF?&?.LL05A]V=WVR5+GT7;M2!F_FUN4RX-8M=OW**9DR M4Y[M#GJ]_=U<:M,Y.N1G$W=T:(N0::,F3O@BSZ5[.%:977_J]#O5@VN]6 9Z ML'MTN)(+-57A=C5QN-NMI:0Z5\9K:X13\T^=4?_#\3NB9X+?M%K[QK4@3V;6 M?J.;\_13IT<&J4PE@21(_+M38Y5E) AF_%'*[-0JB;%Y74D_9=_ARTQZ-;;9 M5YV&Y:?.04>D:BZ++%S;]<^J]&>/Y"4V\_Q7K"/M<- 12>&#S4MF6)!K$__+ M^S(.#8:#WC,,@Y)AP'9'16SE9QGDT:&S:^&(&M+H@EUE;ABG#25E&AS>:O"% MH^GYV=7YZ?EX='4C1N/QE]NKF_.K,S'Y!P%#IX1 MN"\NK0E++TY,JM(V_RZ,JRT<5!8>#UX4^$MANF+8VQ&#WF#P@KQA[?&0Y0V? MD3=*$EN8H,U"3&RF$ZV\^-=HYH-#A?Q[F\-1WKOM\JAK/OB53-2G#MK"*W>G M.D<__M#?[WU\P=IWM;7O7I+^O^3G_Q(HKF0HG!)V+HX+#U[OQ5MQLU1B;/.5 M- ]">VZ#5&@CIM*(D0G6:+LC;M2]]$*:5*#I,K\C4HV@ZED1%&[HN38^2+P2 M*V>#XGX4R3H;H>\![N!,X5E?J M3J9R1]QVI]U1EUY_28*=*8>J[0V[XEAZQ V$$RH1 S8R- 8VL>@40Q'%E4=) MIJQBKHTTB8:QK 6#,,!41YZJ%?ZS$>"@P:P#;-1A*6Z-)MXI<7AQI@S=-F2I*@6(O9>1A^T,C*DR'Q^NE)1UV M;:# %S.O4RT=^JHKSDU0+JGH*SG$B'8S7G+"O%A*9&FFE!$JTYAR%("8@7EA MF 9A2 KGE$D>!#QNV8'(TFW;]Q0V21>%2.]5J3;37P=CI9RV"-H9VJ1TU7J2-G\Q/&<+=M:KM%H5!/L M2ZP@JFWGEWI%<4ZH@1=EUIX6:%E:,?TAEEHSAGCA_WK7LZ,9,)3_(*;-"CW= M&#"N(O W\86;.-QIS_S!7?I#ON_M85)X6SS8=G"E@)37F6SWY^\A(#Y5+=Z\0* M3!O<7'R>_:?G$@U/'=?OX\92V4_/IA,(PH481I[R.+B[&XG;:5M477XP2 M(Y=;5]K]F.(& ^=*A6?>7EF'F=_'YDV6QF9VH6G3OA" _OO^_D'O0(PRK*8@ MRV*PNU),EY(6(NE[AG?_X/UP^%._CO-CUNE2JRQ]AEF;.Z3R]'IT>?*="IRJ M!14]1B-V+>^IM^(2,A?<"]@4GAJF[*:PQ'"D!/P=3Z%_+G!:<;S!45:)YJ-# M+K]A3KW^\8>#P:#WI>)04C!SN?:T"#%AH@[O[[ MCUZ0* S2.SHIU.U.V,DM)$8K3\^:N-7E&%\X-7AJ:LGK$TP8KB(GZ(Q5.F.X M@%4#6)$55$1PBT]@5'PT=L@I$F,+1T\P&)(XK2NW,50;8=O8^-B),F"V'+(Y M\WA>B+,* ,),BT+=Q-;')"&+GN'/B0\ZYW44(4V$*-&@. K_XL1K0YNX00[F2TQ+]A8CBOC?%3;I5A]L* M+"5TL;(WB3\KQFV278NU:)TG=RAAI_NWGJ-D_)3K_$AA4&P(B";KB@UUSLA&]2 M6\S"O,A:2/15KSO$B3C+^' /[>T'3(.SHZK/CDST&7ISPN7#/C_%7]32*AY& MLH_BS2IEYRFZ=7W4 M(=L12QR7K-,)/\VJSQ94$-CS4+/#DLDD%:/TP'2PCTXTY%Q$9$!VQM)9)N+X M%$H=0#.PMG6;I&]4/,U[PY*F>I8WK^7O; 8$[&EY# M$\%P44)!PJZ"\DPVU,;64S"V-D^:G. YGP?J)-E9IA=Q2.ZTK" 4[5+?%%WZ MP'6;P'8=2N#:+BWL3&%L,RJ;XF[T!JTZQ*@U'27,-%=7 .UG13\ M]<;G_WH8\$$?+#TJP?;QD7$Y=SZW.C5\83*(G[K?'1RAJWL'QRK@])< M+]69SNO[" D\'21!_=0%(@MKE:'B6I1/77O-1P];>+#Y-Q^BB*^/U:,U?Y&F M()O[XI5XO]>L'9[W\1 3-Q$H!C_MB8E\B%E\)5X#8+[9+C;:3BR]033I>]KW M!M_3/OSIH*5]^'YON_9&/*);M):0HM;W$,PU'*;*=7T.=;2H$>0K&\0_,15& MJ>6/*.C/H]??C0#@=38_1 \PQFM[RF[?]X8XH4>=I/4O.#<9Q$57P^!E\ MQ)E(^L)%*(-*&<>Q<1'/NRC"K=PEB-T!?M3)L@&+&L(BY."3?H7%:* GY$1K M.'');09>"7N6 /3=IC_4YHH1DRY'7'LF8^L9"F6=1*Z]8=P1IX;X/R;K;/M#N M-CZF8T4L^"<#PN\HD_A=O7Y:_RHQBA_C-^3Q)XU+Z1;T]2)3<[#VNN_W.L+% MGPGB3; K_C0_LP'[B"^7"E/0$0'>SRV.MN4-*:A_JSGZ#U!+ P04 " 5 M0 E5;?J2\/(+ #N'0 &0 'AL+W=O(;:_7 *I7'[9LYPO8)'NX]-I>D$V: P[W RW1-EM9=$DJF^U? M?V^&E"Q[/Y(6!19>62*',\/WW@SEI]?&_NJV2GGQ:=>T[MG9UOO]X_-S5VW5 M3KJ)V:L63];&[J3'5[LY=WNK9,V3=LUYGJ;E^4[J]NSY4[[WQCY_:CK?Z%:] ML<)UNYVT-R]48ZZ?G65G_8VW>K/U=./\^=.]W*@KY=_OWUA\.Q^LU'JG6J=- M*ZQ:/SN[R!Z_F-)X'O"S5M=N="THDI4QO]*7U_6SLY0<4HVJ/%F0^/=1O51- M0X;@QF_1YMFP)$T<7_?6_\&Q(Y:5=.JE:3[HVF^?G2W.1*W6LFO\6W/]3Q7C MF9&]RC2./\5U&#N=GXFJ<][LXF1XL--M^"\_Q3R,)BS2>R;D<4+.?H>%V,M7 MTLOG3ZVY%I9&PQI=<*@\&\[IEC;EREL\U9CGG[^]_/GRI_>73\\]C-&M\RI. M?!$FYO=,+,6/IO5;)R[;6M7'\\_AQ.!)WGOR(G_0X/==.Q%%FH@\S?,'[!5# M9 7;*^Z+3'U4;:?$VIJ=> E?+1" [/JM>,EY55;\]V+E^/[_[DI L#^]VSZQ MY;';RTH].P,=G+(?U=GS;[[*RO3) ]Y/!^^G#UE_:%^^:*+HP[>J,IM6,P7> M;14RL=O+]J:__[MRN Q#K[>J%=H+)[UV:XTG4NR59>:WE1)FU>B-9$NK&X&\ MM6ZMK-7M1E247X#7K(7'(GOD7#M5BXTQ-DQWUJ=K*=H,M-Q9#C5-Q M?7SMEY\@"=H)_,EJJQ%XC9'6=)NMD/M]2R^^6J1Y^43\;I6K==K707?8NA51%I"J_9?7!* =PC\,U;N3KNC*,>+#%9> M*:\LY.'(".^0#.JWMXA^&'Z!X*K/C$5N_XPG;T=X@^TQMC@E$KGP(QQ^ =C& ML-VHEL" X:X#=R5R)YOF1N"#EM/^ &@-"6B+73GMZ%I,%"%F#],%!FD[P^:6SVM6Z M"EDC)M!$0+7IZMZHX_5ZOZ4[2E#/ $?!J69->9+.?=?#%L_K#IQ8,][865J7 M5@KNT3=WB"A"D9: %VH_H(##A67EB+EU9WLN(*:J@RT E:\Q@":$T@H@P&UO MK"9R76WU?M\O#S+635 'YT/"=!OC!GSH+MLAWR:]8+F0$JQ3=[!^)!TABI#X MJ%YU4*T3_0FT!\D'D3KLT<# ZZVNML)4B U&/>75Z-8SLM%W *8W>]"2T-7M MD2.'V#@'IX8X\<".&A,J.AWUAI!:2UNSR.BH@H#L_? ,>Q-WM1_$^D?QT^C( M0%>A0Z-5#<.Y7PDF7(?X@*9&H6UQ)+6NLT2NA($B5R;*JK26=).""Q!=0TG: M"LRB.=YV_&0B7DA"!B>#5H;: !8CS:<=.P8O,-+0RKA]8,Y60J\;#6S"FJ6V MR06I@#F(!#D &U#O^(R!@YX1$@>7)N*51LP=^8HU/VJ"$]6CT;+([HBH/B@< M]K2'VRF&)*D/,-(% 41F(]2.IW*Z\6 B/G#*_,V1)(([IB+NUP>*\6IQ:O3N M[^Z0*_(#T\*V? ? 86N#:09)O]U2;#I)=]5INDEVL_D3TF.O6E:4KN4H9*/A M'Y+)>HNB:BPVOC:B-51CN6=I"?6U=M (<.T>^1UAC9"H/OG36C?*!U7F%EM' M-?9^KG]0H=H2Y\@ T8RGUCH2K+=3:TLB$Q2$0+[R.&FPPAQJ3VA<6A"9>+Y2 ME>PPE05Y9ZS7OX= $)\VV!O3-74 X4IAHFF5N%&2>0SOX-Y[)-(&T-[+SR.4 M$^=(P&7-V$.;@*;!#B+&C.%&9<]9.+0!A(7.HFV!O\9BU8FXJ"I<(<+FYG@5 M#,+>W5N0NSNY;A#)/;8.;V!W#>QJ0ZE M?^@-B1#'&W<;E*&FU5&6;M,Y(//BZJ4HTY*@8PB D)VJ,9 ^;GTVDC%/+4OD M]STXAW@0VX_4/A9Y=\!B!*>[]]@QVO2Z4U0K5[^0T'C21VX(&;NA&NG !=I5 M':25-AI+$Z8VL?!RDC@%$'2Y"4*-PC$@ @UI]-Q:H^]9J3N1%5HR[4+3BT-7ZP^E-'H^ M5+RAISK*ZV<$5,5F_HNQ2ALOZU\04HP$;?-ZS:EC3CF-'H*.;Y@'?8 M3QAD?E(CEL2>)IQT;\M)D![B?&C!(N#"'E)7[EV0Z,/)U+-"A-=I?) ?'>)< MKWAWRE0?"_08G6 3&LE7 M<'NW0LJ*C(=FXFNQR!:GKQ^HR6*(ACY\$-6Q]I%#M\WUFOFU^'8V*Q^)-_W4 M7JLYF "<^THCUR)**-?[_L19PV:VR,0E;R?M)K5(V$[!C41;164)Q"('\D>' MP'^4J)Z]FSF>3J?9GXWZQ-8HY&(Q_\M#3M(L_P-!+T9!'X.";0NAEYL-2?SI2P%T[7VIKI"DC;$W S2#'%&N:GHWPGT=&3]%XCN& M\/A=I+@"EH]NL+>,IL/5F[APOV5OI ['6Q_?%Z]ULZ-M723Y?$87LR2?TL4R M3_*B9)PG*63Z UR$8SP^FR7S12DR/%E,13Y/BCP%R#"S$/_F,I$GR_D2GT6Q M$+-D!OQ-,:@4[XR'$)7S))VF8K9(RG(NLGR69 7^IT4R6R[%52AF@\]79NVO M24AH)_+I/.X(.9DGTUG!_].B$"\[OY+MKZ)"?TS=X#3)Y@M1) 5\G2=9NA!E M0IEYC=,>6JBP47Q Y%"FY&J!G<[3I$@+L4BF\T*\L[%2%U#*?)Z*$BM/D:L0 MZ#SC=T)9_D0L%\-E"#,KD\4,B4F3M%P2H,H,42)V& \CD-TB62Q37)2+9,[Y MSF;([FQ*5W"D3'/Q(K;Z.Y+W6Z>7D:AS*= MZQQ74.XLU@T:./1V,#*6=%_,YX$V?8.T\QS_ ,"_X!P1-!1U(NNPLO7(ID^5T"F+DV8RMIG.Q3&;% MLG?P7\ALC>XN!W=G^,Q Q!G3K$B6V5+\J.L:.WPIG3^_6%NH' :5P#>XFTW! MT3G8 '&8E^@AM(1"5=1H@.)+N =BSTH\3E,0*"E!T1^0^59<8!O(5 ;"+DD. M=,RDI,6 +G*%+?ARA_AW'_>7/X #72;H"040L8CBZQ.BTGT[\Q M!K(%7=WB9JM\A.WH16-H1QYH0\@@82 !O!WUKZB&S4U8)YTLXHK+2?&E*WZF M[;E[OY_\'4$L# M!!0 ( !5 "57%V8>W5 , %\' 9 >&PO=V]R:W-H965T5L0?!<(KY-P"D1E?#IC>0&D53]=' M]!OG._GRR#1>2?Y'79IJX>4>E+AA'3?WF9Y?K^M_7J_N%/N+B[AM7O']^O;U=W#S[ MOXYL>V>F6U;@ MPJ/FT*B>T%M^_UV4AC^]8?=XL'O\%OI_S=+_!H-C@%QD<(A,(:D+M=$@-V J MA(WDU,VUV,(/M: 3V6E2T#_.@#*&0\;@&@ML'E%!$KF3"&XZ)6K3*70,FWIO MUQK>0>Q/TM!]HW$&5[)I.T.*+S;$?IIG]!^'$7S"JBXXZ>5$8G\O21S[<19! MXD^R&'Y%ZM=*\A+JIE7R":V$AM3/Q@E,_"C)J0ZD(1YM^<.I94]B8A=4"%T_ M-\A!BLJ6K-20Y1!%&3Q(PSBTK\ M_QL"_VMWCX8ZVFB4?DN;GZ%]K86"DZ'7H-JZT:ZI5#MA^ODWG ZOQT4_-%_$ M^Z?GEJEM+31PW)!J.,HF'JA^G/<;(ULW0A^I6&3CEA6]@*BL -UOI#3'C248 MWM3E/U!+ P04 " 50 E55+,,6I@# "U!P &0 'AL+W=O)#CGC6EN9?'G["+9V3Q,EEJ M]X9C*SN*/<@:;635*9,'%1?MESUV/)PI3,(7%*).(7)^MX:K-]=PVJSN=YN?+B]WLX#0]A6 M(L@ZG'6+$[V D\)[*4RAX5KDF'^I'Y!/O6/1R;%U]"K@SXT80!SZ$(51] I> MW <:.[SX!;RW4N9'7I; 1 XWPC!QX+L28:4U&@U77&>EU(U"^&.UTT;1=?GS M.1I:*\GS5FP)S73-,EQX5",:U0-ZRV^_&:;ACZ_$D/0Q)*^A_X=D_1^<0>3(&PER55,1<'^(X+.I&-)CKU]S.@=&&?+KC"#*L=*HB'[F0( M6\5R:B?4:N "1O'4OL,0-G)OCHQ(C_WI)*)W$G>R(%B%&H9^DL80^:/Q%"[I MAMF\-*S-8EL>9$5AR6R-ZX+7VGHQ'876=!RE<"O%#YFL:C0(R2BA9PJ_4"P* MTG$*Z32&K30$F$EM()[X89K8SW0R@7>H]0Q66=94#1G '%@EE>%_.V,P\:/) M&%(_&HV>4N>#H(YZ ='4'X_'M(@C?QS'L#I'P$?JK=K2JAR]IE"(4+6%A+:0 MON+51NWH/#+B<3@84DLH2]?=Z,]%.$A.!SZ1HFMT/:_\-( WG0G-'_^- ?_+ M4$^..K/14[/CE\Q>HC(T&;K[0PC\R1TKV /"#I' \K\HH^23Y6/7:+JU6E/? M_MAPS9T?=A9!C8K+O).F^4!#">YQ3QDUDN*41DC*]3!V,#G5=:/=".E]:.J< MLJD'SU5D<-9*Z6H=W,"PA= (TW;5_K2?2:NV%7\6;P?:>Z8.7&@H<4^J1-+( M ]4.B79C9.T:\TX:NL=N6=!<164%Z/^>8CEMK(%^4B__ 5!+ P04 " 5 M0 E5[$$^A6 # "+!P &0 'AL+W=O[K1\F) MFZQML!=;DGD.#TF3FK1*_S(EHH6[2D@S#4IKZ],P-%F)%3-#5:.D+X72%;.T MU:O0U!I9[D&5"),H.@HKQF4PF_BS*SV;J,8*+O%*@VFJBNG[!0K53H,XV!Q< M\U5IW4$XF]1LA3=HO]17FG9ASY+S"J7A2H+&8AK,X]/%R-E[@Z\<6[.U!A?) M4JE?;G.13X/("4*!F74,C%ZW>(9"."*2\7O-&?0N'7![O6%_ZV.G6);,X)D2 MWWANRVEP$D".!6N$O5;M>US',W9\F1+&/Z'M;,=I %ECK*K68%)0<=F]V=TZ M#UN D^@90+(&)%YWY\BK/&>6S29:M:"=-;&YA0_5HTD7G^[>+CQTEHBB0R3/((_BDI"T-O)$YYKOXD%3T4I*-E$6RE_!# M(X>01@-(HB39PY?VH:6>+WTN-*7RE@L!3.9P(2V3*[X4"'-CT!HXYR83RC0: MX?M\::RF'^3'4VGHO(R>]N*:YM34+,-I0%UA4-]B,'OU(CZ*7N^)8=3',-K' MOK<\_X>$SR5"H01U'YGL&""R0R!63C'#*LE:DCC06?\$I+QX&@\ MADL:+5"CYBH'EO^DOYW:W7;>O27+?C?<\$Z35!;N:4P57#)!VG,XB,?I(5!W M4N])>'.7E51CA(-1&A]N2]@5[=U'Q_$^D1%9C0:CXP3F>;[V'\>#A X>N3M) MG_/E0HW'@Y/DV%?A3%4UD_>0T5N@I0 ,WJ+F4(\T?\YA]R_SLM<:M0+;I=Y-2IC5E? X(YU62EGOYYAD]U7;@U("O4*W\-N"Q0(-VL[$_[FV;> M#=@'\^Z:^L3TBE.0 @N"1L/C<0"Z&_W=QJK:C]NELC2\_;*DVQ*U,Z#O!46W MV3@'_?T[^PM02P,$% @ %4 )56*0D2V* @ <@4 !D !X;"]W;W)K M&ULA53+;MLP$/R5A5H4+2!$;SMV;0%Q'F@*) V< M-#D4/=#2VB(BD2I)V4F_ODO)5EW <2_2M8%HH&7JA1ZZA3& MU&//TUF!%=,GLD9!,TNI*F9HJ%:>KA6RO 55I1?Z_L"K&!=..FES=RJ=R,:4 M7."= MU4%5.O,RSE9NH$SBXQYZO"V(273FJVPGLTW^L[12.O9\EYA4)S*4#A M-9;.O;@D>.&[T7@^UD(>6S'5SG4\>W@K#$S%@&1K\UGF-96B*2\6O+ MZ?1+6N!^O&._:GNG7A9,X[DLGWANBJESZD".2]:49BXW7W#;3V+Y,EGJ]@N; MKC8*'<@:;62U!9."BHONSUZV^[ './7? (1;0-CJ[A9J55XPP]*)DAM0MIK8 M;-"VVJ))'!?V4.Z-HEE..)->WSY>WCY\FU]?WD\\0X0V[65;\*P#AV^ !W C MA2DT7(H<\W_Q'@GIU80[-;/P*.'71IQ Y+L0^F%XA"_JNXM:ONBM[L0:A9'J M%2ZXSDJI&X7PXVRAC:+K\/-0QQUA?)C06F2L:Y;AU"$/:%1K=-(/[X*!__F( MW+B7&Q]C_]]A' 4?EK;'" \%0B:K6@K:$PUR";S?'D;[TOF2_\8$_1'!!698+5!!%+29 .9L0_?3H.*LU/ >@M!-HB$% MH3L8C>")/$KK0JUDAEI#[/I)#,&I#U=<<+K'.:RDS#4D0S=) HA'5&#AP]@- MXI"")'!'T0 .;;>WYX,*U:IUNZ:F&V$Z2_39_D$YZWSTM[Q[C6Z86G&AH<0E M0?V38>* ZAS>#8RL6U&ULI5AK4]M(%OTKMSQD%JH2/V0,&0)4V4!F2)$9*I!DM[;V0UMJ6UUI=2O= M+8SWU^^Y+5FV"1"F]@O6XS[.?9W;XGAAW3>?2QGHOM#&GW3R$,JC7L^GN2R$ M[]I2&KR965>(@%LW[_G229%%I4+WDG[_H%<(93JGQ_'9M3L]ME70RLAK1[XJ M"N&6$ZGMXJ0SZ*P>?%+S//"#WNEQ*>;R1H;/Y;7#7:^UDJE"&J^L(2=G)YWQ MX&BRS_)1X(N2"[]Q31S)U-IO?'.9G73Z#$AJF0:V(/!S)\^DUFP(,+XW-CNM M2U;69U5]5%O*3SML.97(F*AT^V<4?LHEGQ/92JWW\2XM: M-CGL4%KY8(M&&0@*9>I?<=_D84/A;?\)A:112"+NVE%$>2Z".#UV=D&.I6&- M+V*H41O@E.&BW 2'MPIZX?3\8G)[W NPQ/>]M-&:U%K)$UH']-&:D'NZ,)G, MMO5[0-#"2%8P)LFS!C]4IDO#_FM*^DGRC+UA&]8PVAL^%9:U'L?$INC3Q9>_KKY<_OD[O1^?75Y=WEY>W-!M+NG,%J4P2\J%)T$[ MAZ-N'PVE=3U==U;?*3,G=D1V1JF3F0IHQI!#>J:,,*D2FI3Q086*)ZH;S\%BK_\J,@J599?"[]OL/'^>3?:2B5 &VC)09L$#.0A!,@0H%.5@M=H8AU*!WR( UWMHF:3!C%W4A:L.)7"K9TRK80H^)7=H4+, MHQ]LY0SB^]R]Z=*U X?1)P1&6GI/_>[AZ!65L"^,J0I2#R%>3"YOS\>$5"A+ MNR@6. 9%R3A"EKRRPM"X!32W=](93FO8J,8>9TQ^KX "M;"N]AURJ";=?I\? M#OC7NI>@=QOH$Z!_'C,\ QU4W(\.'_2,T![R)M55)KDK9S(V7^VE*5YE*H_H MT330@HXU6Y'6%MN*1*BS&!9P-.5;^_-L%60C6[*)K7 N4UE, 7@XB$\'M(#H M/@"_BN^3[JC_ZC7&Q)1G>'!J'V0HCF@;9ST_N8Q5+? 1AR4ACDL$>9NE-939;-;+Y "50&3U,^ MJ-$0'4]'-4DL<@D%-#94&[J33-HSDB+- =VGP VR<3SSW#SD+-H(&9B!3-ZL MWN#TI!H^WTWV:,SG&56 V-4-UAB*N610M9Q'F3.? D#[C&0 1AC!??G$&- MA10^+I2? -X>],A8]0H]&Y_3SCYF=;T]'_(-1M96\R;;K[^\30:'[SR5ZSU2ZFJU1]9;L(E^CL2C]64=/8,K MA:MG)6+LTOCEO&1L2WC,YO@B60U_O4/@;_NT\[>L;V0NFD>6(J.HVF&D%"S5 MC%N['>DN_?G7+Q-9K#T'+;4R&6A'6( M+H"S*7HJRG($PN<1:F56!R5CS9NV.%PKCKQTME#>6_2+L9AI)K%(>JN.8!S3 MRB,Q?@O0@SG(,%&V8@J.5=JV&HT)Y>A.Z H;W+-G,/TGW8/"*588T.!C0_N@M?3:BL"Y$H*ML1=[; M/=RCL^8<6K($K.T.1K_AS?!PM$>WEF=/6S-_ \A%W4([%&8>KPP-Z[,.C MM_$56$@<0/A;%VN3'=Y80?M/QE._P=02P,$% @ %4 ) M5;+O?MGQ @ :P8 !D !X;"]W;W)K&ULI55M M;]LV$/XK!ZTH-D"(WJS$R6P#MI.A'M+6R,N&HN@'6CI;1"A2):FZ^?<[4K+J M#HDQ8%^DX^GNN>=>>)KLE7XR%:*%[[609AI4UC97462*"FMFSE2#DKYLE:Z9 MI:/>1:;1R$KO5(LHC>/SJ&9VFH:C ,H<_4_AWV^>0.KU#"^"?L.]L\#:!HC55U[TP,:BZ[-_O> MU^'(81R_XI#V#JGGW07R+*^99;.)5GO0SIK0G.!3]=Y$CDO7E'NKZ2LG/SN; M+Y\G4A@-*8Q.H?^O[IU$?IGW?PT'#Q7"5@FZ M\5SNP/KJ>AA7;L-WDF]YP:2E2]GWH#GJ >M[(/H>/-.]$TP6U IF0&W!$GR# MFJO2 ,K2Q?B52U*KUA" ^>T*:%AP&!:XQ@+K#6K($J])X$&S$@]1#;R!]#+, MT\P)>9A)CF\ M-#;1T0*H4>_\FC/@:]OM@D$[;-)YMT!^F'=K^#W3.RX-"-R2:WQVD0>@N]76 M':QJ_#K9*$O+R8L5_0U0.P/ZOE7*'@XNP/!_F?T#4$L#!!0 ( !5 "56; M[HG;F 8 &D0 9 >&PO=V]R:W-H965TJ#Y[Q6<;-C#W8'I;MK^]W[-EAEIN2 M2GU(UO8WOVB:4VM!G)WQ35=(M#JFT\[W! M>+!<.-?71>"%X?YN+:_I@L)E_=EA-NRT*%V1\=H:X6BV-S@8;Q]NL'P4N-(T M][VQ8$\R:[_QY%3M#48,B$K* VN0^+FE(RI+5@08-ZW.06>2-_;'2^TGT7?X MDDE/1[;\JE4H]@9; Z%H)ILRG-OYK]3Z\Y[UY;;T\7\Q3[+3C8'(&Q]LU6X& M@DJ;]"OO6AYZ&[9&SVR8M!LF$7O&OO"_LG!Z;FX.OAT>2S.C@\N+L^/SXY__W*Q.PQ0SB+#O%5TF!1-GE&T M*3J.^Z7.> M2NW$E2P;$A^USTOK&T=>_'F0^>"0''\]Y7-2N?&T2BZ8;5_+G/8&J A/[I8& M^V]>C3='.R\ WN@ ;[RD_4="\Y\4B8.+([$U&8G::>MTT/^ CE"0T*9N H96 MW((N&:LG4%X8?=- I/&D^&-%DBD4,R;V-A*K#=99Q;5UF0\WA%_9$R9S,K.I&_R0D@O;AH;8 3 RCP'>6?%/7UK4:@3HDD\;V=4:_'-TT8#G&S1%OXG1C+L*" MTU.Q65L+S6&>&Z:DJ6I.9J3#B3;2Y!JD:8/R;W#,!-_&"IY)7T0;<S ],)D1:V]S-RXEPY"(:E1? M#[;@N]E[!S-IRMZQNG;VN#[6+*\#%2RV[K&J=XXI 6J MV'#A0-O#3I'8Y=Z?/,,Y/$:B(1>]CNN J\TM9B?G!V?'XE-0Z]%Z*SQZ*'R% M>LP)K=?8VZ@Y04+ DS-=)JT \7V(?(\+ ;Y5<8;4)L=3@+TE PIK,84L24HH@4#KU8H?&2 Q:E*ZVXT%734@13 MA57W46,*D"I9TK=(M"!,T-$#W:+J"(B,I\,U 6H]B(@?X.-FV58])Y'EGM^U MVA5'D"(Z(>KYW!W+Z,\]X?9,5V!YA2'0SOT&*<,NP$V$178%I6*JFW@R97S/ M3^A\>PW "1X!V,:#!_]V6^!N1]W=3GQ$(ZLR'#O3\5K*LM:/;:1K%_H^S-=B MO#8>_X+?R=KFYGOQE>*)Y^/-Y)G@]K((0X]CT\78^55:HU,K^)C]Z"X;B'F' M^L:EGU0\H#%337IB/*:Y)6AI8<$+KT?K4USERS*^2I 8*PL<2=X2"D>IB7E] M)ZITMR:^6Z^B6V,T->6I#[98>Y!X,N,W4((+_^%W&15+A834?/N-IS_=X:7G M4^VG+@AKABG%R-M2JYB<%P$_R_([-;FMZ(=!IQ*\[U**<$2A=M@T'US/-27/ MU>]TUH1X1*!.8!D/+R-B-S/Y0LQ*>-ZTD64DQIIW?#25N-^JE9:T++?NEHM" M.Z<97PBM.+$V<$:+\32ZI_!F:+QO6UE*J?OK<5.KKK?CP]*?5*8H'.M4FRYY MWL2NP7TBWK5 (!X/!;]S$00\2Q+L:VO5'#GQ(+Y/O2N&O>=?1>XZ/G*Y;:(W MI)=@M]J]HP_2\_%>/#W"SZ2[UEP2-,/6T?J']P/ATL,V38*MXV,RLP%/TS@L M2**66 #?9Z!M.6$#W5\7]O\%4$L#!!0 ( !5 "54E4CWK# , (H& 9 M >&PO=V]R:W-H965T31Y.] M\X]2,P?ZWA@KTZP.H;W,PU_M MG<7UV?1/AG\K7DOS]84,UD[]Q@WBVJ:C6- ;+@, MD4'A;\=S-B82(8QO V=V=!F!S]=/[!]2[LAEK83GSORCJU!/L_<95;Q1G0F? MW?X/'O(YCWRE,Y)^:=_;GA<9E9T$UPQ@1-!HV_^K[T,=G@'>CU\!% .@2''W MCE*4-RJHV<2[/?EH#;:X2*DF-(+3-C;E/GC<:N#";/YIN5P\+&]7#_=TM;JA M^:?5PV+U\78U7]S>3_( %]$P+P>ZZYZN>(7N@I;.AEKHUE9<_8S/$=HQON(I MONOB3<(_.SNBT_$[*L9%\0;?Z3'?T\1W^EJ^KFETP%0%(64KFB-<;;=L2\U" M-UI*XZ3S3%^NUA(\AN;K2U7HG9R]["0^I$MI5+-4NLX+]AM:=P(BD?Y=Z8#RO4NVJ'"K M[ %#>J U S$4.)@#&:W6A@E:@F706]6_3/2A-$HW@N$/]3#V[$$H7=L:C64R MBAK$GKAIC3LPRXB6RD(Z8COA"X8[-#'4*I"J^%NG E/KW4Y'"1&JU8YAQE%- M2J3$%>D^/U4BL3@2^YK1>P^L]ES]Q*^,.% (WGQ@CZ<(>'(5"8Q^A/O:N2K6 M)J;_J 1"M#&M4J \$,I85G@9Q()('N^H1'&4HE-6T@H+CQM$$O M,*\ MTYT]7KR[_FO4HOE=]J MU-+P!M#QZ+?SC'RO?/TFN#:IS=H%-#$M:WPLV$<#W&\VF[DL# #I!P &0 'AL+W=OE8 MJ"SY)#GI_OU1CFFUPA?:?>J%I%W8H.:]0&JXD:"S&P32^G?6= MOE?XE^/.'*W!1;)6ZLEMON3C('*$4&!F'0(CL<6/*(0#(AK_[3&#SJ4S/%X? MT/_RL5,L:V;PHQ*//+?E.+@)(,>"-<(NU>XS[N-YY_ R)8S_PJ[53:, LL98 M5>V-B4'%92O9\SX/1P8WYPR2O4'B>;>./,L[9MEDI-4.M-,F-+?PH7IK(L>E M*\K*:KKE9&25L: MF,L<\Y?V(?'I2"4'4K/D(N#?C;R&-.I!$B7)!;RT"S+U>.FY()F67&X,+%## MJF0:X=MT;:RF?^+[J7A;N/YI.-HO!Y.V;>!!]N$"VWY'M M7T+_S8I10#-!",9=+#Y(UVPMF3'Z[R:[CC MHG$P+P@<(SB_HLD)"8N"6MIYV&@FG1%=::1)89F@04%UY9D[IN;)GJ"1G,86 M?"5GA1(TA+QKMA9(NIF2&1<$VH9/_"C8ELFKR/:!-,9[].S;Y#$_7XC/B>S] MX3558PB:J#]G6-NCZRT3#9H_;XF>1GS11T!=@+X+5OSYS,U#4Q$WJ[3O%/>) MCU8//ZMU!7'<>Q\E;A'UXIN!6[SO#2._&/:B-(4[E(HFC(=[_#7X-C_[%"3# MWB!.3PM?2!JT1V4Z71)X^^8FB9,/9^4K#H?*_ :+^>M*S'P$5Q!=]U,OTJ$7 MP]B+0=+]@Y=T3C5X>#1^J1X;_\@8^CD::=M)W)UV[]BT'=\_U=M'\)[I#9<& M!!9D2H[?!:#;AZ7=6%7[8;Y6EIX&ORSI+4;M%.B^4,H>-LY!][I/_@=02P,$ M% @ %4 )5:-FB*$K! Z D !D !X;"]W;W)K&ULE5;;;N,V$/V5@5H4+6#XFMNFM@$[R:(NFDNCI/M0]($2QQ:Q%*DE M*3O;K^^0E!4[L WTQ28ISIDS9V9(CC?:?+4%HH.W4BH[20KGJNM>S^8%ELQV M=86*OBRU*9FCJ5GU;&60\6!4RMZPW[_HE4RH9#H.:T]F.M:UDT+ADP%;ER4S MW^39#:XGI_Y M_6'#7P(W=F<,/I),ZZ]^LN"3I.\)H<3<>01&?VN\02D]$-'XUF FK4MON#O> MHG\.L5,L&;-XH^47P5TQ2:X2X+ADM73/>O,;-O&<>[Q<2QM^81/WGI\ED-?6 MZ;(Q)@:E4/&?O34Z[!A<]8\8#!N#8> ='066M\RQZ=CH#1B_F]#\((0:K(F< M4#XIJ3/T59"=F\YN_GQ=I(N7Q>-#"H^?8?Z:+A[NTO0N'?<L MX1&L"[C7RA46[A1'OF_?(UXMN>&6W'QX$O#W6G5AU._ L#\F'P47_UQ-!G+5!G)U"_Y\9.XEUF.EQ!_ %J8U()(,< M+*Y10=9(BA9X;81:@2L0W ;E&J&,Y8"^'. 60YQ?,"Z6E7@F2P* _!X&TE(*:E4XYH-.3;V59TI(4_\:Z M:Z)MXR>U.$H;5+%[NFR$E)"UYJ3EKM2%P5VE_7J*E6NT;IHG:LWR7-QWO$YW?/=]0V1+)+(Z(1 MTP@VZ X.@RDZ>4Z7?">2.6*_TIK["FEVC0[OHHL*C6];Q][VSNU;HEF%-X:%$$.\B-O5]ADSB[?W^_;X!KIG9B6HM20NR;3? MO3Q/P,1W19PX786[/-..7@9A6-!3#(W?0-^76KOMQ#MH'W?3_P!02P,$% M @ %4 )52](UMQE#P /2L !D !X;"]W;W)K&ULM5I_;Q-)$OTJ+=]I#R3C.,D26 *13 A<5@2BA,"=3O='>Z9M-SN>'KIG MXG@__;VJ_C$SCF/@I)50\(RGJZNK7E6]JO'+E;%_N(52M;A;%J5[-5C4=?5B M;\]E"[64;F0J5>*;F;%+6>/2SO=<997,>=&RV#L8CX_VEE*7@Y.7?._2GKPT M35WH4EU:X9KE4MKU:U68U:O!_B#>N-+S14TW]DY>5G*NKE5]4UU:7.TE*;E> MJM)I4PJK9J\&D_T7K_=Y 3_Q6:N5ZWP6=)2I,7_0Q7G^:C FC52ALII$2/QW MJTY549 DZ/$M"!VD/6EA]W.4_I8/C\-,I5.GIOBB\WKQ:O!\('(UDTU17YG5 M/U4XT%.2EYG"\5^Q\L\>C0/[3@("PX8+W] M1JSE&UG+DY?6K(2EIR&-/O!1>364TR5YY;JV^%9C77UR??[NP_G;\]/)AT]B M;#I_,/[\3EQ_?GI^=GU^+1I2ETII5[_'*OQGZT:B\+LE][V0IN2.\5L5W*K;/%$?%HHD1FX MKW0JIT\.=LIEC8N9+F69:5D(A\<5(K5V0EHE(+7"_[G0):V@S*'K-7!=+\1- MJ6GM-:UPXITJE95%L1;PA*KHFZY+K(;\JL"#CP8WH^N1>#>97 X>"UF2[*QH MR1."]K9;/X?)1# M"X&!TDE.'4XLY*T24Z5*H0J-*"0#C,0.GSY-/GVZTZ?7:DZ&$U>J,I9.OO?\'[BZTF@GD=RMY6:XRS#+CW< QM0B30+S^ ?^Q.+D-+%DA(,?#ME M_-9&J%M9-%@B<"RN666FV)]T*!)C&DMWBL)D'N3QV&ZTPY]'R9]'.YUQX\@$ MXLS5>DD0W^;.GY,0@M 'E=?8P]S]7&3V@Q&62A$%JWQKX 8'&R78X &VV-^3!A=,G9#!67W6L9DM!(+E. XGD5I!5:3G6A:TJ[ MTJ^@ \0P_H%L4^9;]P#$5-D$+=5=139R(F\LP;Q5C*X $VT0RV>]DS6PJRW6 M]$#W?)3=/'RQ'^$/OBCGAAYC (Z0ONH&.H+^(*FP1=M>:DKYPN03&CQ@A8),L]19*(4Y-K5K,4.Y,K9%8;O%?2!V-.ENS_)F2?Y0 M3!L'_SL8W;9G:U&)[%E3!%F*6Z?GI4;ZEV5=K"$K_XH%/E*13CST ^/P"DU5 MS#V(P"\+E-=N^9XJ'T-R14"".<+Y?)K!J;$3=I6H0;*<*\IP4I"?28>D;*HG M/M=PZEM2NT/^;9UDIH6>N*#F=@!&?07=>B,$AK.V/T>8K1 MYSO#Z]*:6U^/V!E?I 41H12Y+5+_3U&(UR]44O!U3@9<^6_6E-/ZY1W/Y$V& MOD^\U]& /F?1QY3>R .B2?&T.F),=UP):69(742\)J!R7DYZ4D5FR( &H2$5^P<:9E*#*SXP=3B MWX#/)#=$6+=YY2_;#'25,Q^RVOZ1A^G;R?5KV)U73*YO^)LG^X=#$=C;VX3P M\Q))HO%;<% <'(L+)5UC?<6'GTX]F-\SF,G<6U<',C@$#]/9HL,>.L)\9$KF=+X MD--[&5B>]X%5,ZIO+K%%9+- D7V)J /H6)8OTUPFU%TH&1Y(!G7)[X_+N#W1 M!" '_R3U.+?S0=V\)X&G(I35_#M2MIN=Z7YWDR3E#=5K[F [0CJ]+CR"TZ?' M)VV?]."S(5G_K"97_?30Q1:;1&X4XA\ 6Q>V3!OR)["YN MR80H>< [()J?'+)03+IXQX)40R*@_#$2UY*F$[6\4RZR+8IXEA<%A*X!;5?M M$Q!7M@K(A_F(P& YP>(H 1X=3Q8SL MA'SZ),*66%N#F&#:$J@A-3BP1C7OCLX (-T'%BP7VKX_+$NHW$ M5>SNV"2!H?13AS^%-WS(7KG/6AOYQX<]C0YBDFI]E"+0USF3X6S$FE?5T1N@*ZF@HT[7N(N!-$N ;G YH*5'#RNRY1R"4W!-Q^3$U( MJTS>YIWNNRUNNB4((_&:^1H;@W9&MFFLZN1\YI3]Z%9%03OC=ALY7%-IX,8C M()JOA_8>XDK?K(2NPG_'P%E29XW(*D;BC7:AK0Q<-^=ZU-D6UNT$JI]!D$\C MW#8QQ/,G8*3Q"1"6#5#K+V5SXXM1)-WK7DI$[)A,,SM((<:[]0>8'?[->M!P M@-WR!(!+[)M!$MTMQ1S\!W?5IKE3'P3DJI(S"B@GZ2.9U<.8G&]15(V%XW,C M2D,UMO(388C.0>,1E_5#Z;>#-4*BNJLW:UW''F$L0[&W(]:_>+*VII@C :EA MS74(L"@G![^#:CZ#$,BGM=3,"65;>SQQ*9GAY=1@RL:%&?*2!D)^!!F&0F)E MFB+OS'X-F/=:28YC: ?U;K@58M ^&)\]E%/,40*7.6,/- &DP:8DQA'#1*7R M Y,DB+#06- 6&@_:G":LU$'8'">D9KN["XU\2_-@06ZV*$V=2+$1?:B;B#RR M_,;&W3*;&^48*(HFZ00N0SD."U/C'_O,>Q3+PY;M2Z3$B3D,4W-O*5MKTY ^ M)8',)ZA^@Q[ZCTJN.>L244:H3>KV44J;1"G7$0!/G$":K]MRX[-?<)(Z.O..TV*DVT3W*DL6'__8C9R M@6ZW@Z?1H2II(^JBRL%#CD>=R+)( M]T7;R:'T)VY( =%WW'U0QK[+IZ7[X>R1.;D^%4?C(X*.(0 B[61H%AO+U&MXHJI73KSS?IOS(A)"Q.XRM)L5" MFH\17:2V94V8FH?"RT9B$R"AR[E/U"@<"9EI3Q\5UKZA7>/L [,%&WO@:\/,GK.RZU4(M0Y$)V#%HC-=8K M%0P=#4Q?>A-O4B!2817]DNY6%&>;S1BWU>C6MR'+4S+MWQ*A+)&U4BG=?.V4 M.%7/KM])H"J0^1_&*CG>CSS3?,)/+/QKC^YT--(F9KQ+^!,".3Z)B T#IXGO M,S;326?.%SB\#]G<.!MY*;<5GGD5WYD1;YY#?DS0YOQ*? M)^]OSL3%V>3ZYNKLXNS#IVNVWO.#,?612"XUSQAXT%)6C:\=80!#@%;9HM3? MB/TV?8 M,C+A;XVI>4#$*>%14WK/JORQ3[X\AEI*^P=-J\C=FKOSK!UA$4=HT_ H['V0 M]C[W&VZDA/Z^][=*1,^TJBO-,CP!HO?,M,MJC_Y# >T?AP/&[0( W2$3 EN-2GP-K3:EX6FNX-_'$OO.0W\0/ MB(/I#Y/I;TISS_%I)]=4X84B)$+KVF]9FJ[,D$F9>&R\4"1;U('<85M3,:NB MEV"==WNCSF2UTSBE7S6 YBS\^S_Z0/L WO3$L"W\;1X8WF,#0QY#4AAR_N>! MJZ]0A2GG3RC_0;UI[;E> M(T4/?42)Y.^7+JFE#%0JO@Y_H!GM'3&]6]M6*(!$U6%4K4JNJQ,5X9!E?#&E MZ7'W6*'=]>_F<$>A)/A15#P&[?,#BH'T]_WU(SIM;#E5)#U@EV_YC>,[Z+PK M!MOS-MT7.6$IQWT(^ YBN>C&H/=\)0R4 CMK'=5O'%(71K4+#U)-W<@4D:K$ MD]&[7 -6'1I;*A+>L7U]FIR<2;>U^#C82A #X\W'_Z,> 1)/"]+<\N2O4J) MN27FGZW1.]AJ9>EG]3!BM(61ESK91-,A*T6)F^]%CK_:7QIQV:AGR[-NTH' MK9(!V.)I N;2"6*;T_O%ADV_O%+\6Q"JFS'5]@[2C@4Z9TYE>2M9V>O\HA$$ M<B$MVA8:;LVP=#QZ]G3@YT7QHC85 M_SYR:FJP4?ZX0(.N+#V [V<&R \7M$'ZQ>S)_P!02P,$% @ %4 )56Z0 MQL-K! HPH !D !X;"]W;W)K&ULC59M<^(X M#/XK&F[OKIWI\%I:VJ/,4+9TV:.4:>CV9F[N@TD$\=2QL[93RK]?V0E9V@)[ M7\ OTJ-'LJ2HNU+ZV<2(%EX3(7Z-0JZM*H[(Y>.#+ MV+J#6J^;LB4&:!_3J:9=K42)>(+2<"5!X^*JTF]<7K>=O!?XQG%EMM;@/)DK M]>PVH^BJ4G>$4&!H'0*COQ<H ^][^3+G!D<*/'$ M(QM?53H5B'#!,F$?U.H+%OYX@J$2QO_"*I=MDW"8&:N20ID8)%SF_^RUB,.6 M0J>^1Z%9*#0][]R09_F96=;K:K4"[:0)S2V\JUZ;R''I'B6PFFXYZ=E>,+J= MC(:C07\R@_Y@,C1P+_]N;&:4N6_70[G>*>[\5SY7)J4A7A5H?HPJ%^PTOOC MM\99_:\#;$]+MJ>'T'L!E6.4"02U@/N51&UBGL)(6B1;U@"3$0PSZ7.="1AD M6J-T/NURY+"I64Q62A,IZA"EI0K-C2Q^&@E+(XZ5)342Y-;MN0Q%1N]."W=A M$$)%>2 -'='*4, C9FFSX)(1!*$92P=4[\X9C< ,+)2@IF$N(<:0?] MT.?O@P5#3\^"'XR"EAK]].G5AF IZ0AARD5#8QP-X#-Z::L"]1.CK M1.F"]WN)&9=V@G;/[41I&Q/*#,-8*J&6E \' ] X;YQUZAWHBSEJRXID4#4& M0>\U;IHE'%^KQK$'$6T1YG+%WK*X4/_[N9P!AYH#>VR-;3_ M=VN@W(BRT,(3T_1P=@UCSN9<<+O>U0<.XNYN:*XYY'7I7+#^ZP#^F@+)-A_W M33\8J"2EXOB32CH,=485NMH0$P4Q5](T7'AQPU\AR;\:Z+X:0#T?RY[OVX\3 MLRL4+_A6\C.&F- C0ZOAI1MPY%N/R@RIF>/+'.+IO?GU"7QE,G.<&_ )SML; M$<>+&?(G;V+4!KF*2*)YT88I6^>-ZA,<48(=[X;-N3N5>C.G]"OK[>:OK+BU;8&AP3UTH]'!OQW,9\ARM-R NOG@\=/\7Q\NV-Z MR:4!@0M2K5?/*;=T/A+E&ZM2/X;,E:6AQB]CFB)1.P&Z7RCJ:L7&&2CGTMX/ M4$L#!!0 ( !5 "57H)6?][04 /0- 9 >&PO=V]R:W-H965TYL$2-)LZ]9N09.V#\,>:(FV MBGCJM?N>++T?OUT M.G7M4JZ$>V+64F-D;NQ*>'S:Q=2MK11=7+3JISQ)RNE**#TY.8I]E_;DR&Q\ MK[2\M.0VJY6P-V>R-]OC23K9=;Q6BZ4/'=.3H[58R"OIWZPO+;ZF>Y1.K:1V MRFBR2[[ M/@"!QI\CYF2_95AXM[U#_R':#EMFPLEST[]3G5\>3^H)=7(N-KU_;;8_R=&> M(N"UIG?Q2=MA;I%-J-TX;U;C8C!8*3V\Q$M]1.N,' 7_>Z">4)8QXPOD! MO&QO8A;QLB^9*#](O9$TMV9%Y^!JD0IPLU_2>72PM/3[ZYWX;K)9QF>NA6Z07YD""C>-5?TI&_RV8[ ML&EW;/I;-L"PY('EEU9*$KHCIS[2:L@:&;*&$'.YCSD] I)?FHW#7/?X*9V) M7NA6,GHN6[F:(5Y9&J>F](#JM*9=B*ULS4*#78=F+SS>WM!:W*",>$=*M_TF M;!?QY3UPLV$GP#XJBO(Q7>Z6 EFB?'31F.U2M4M:2QN+8IAO9KU:B,$52_%! MDC:>9E)JI^(#L)^642#=&;A!"0G?50$JD\(1O>/[>T8U=D-K:WI M-O!;BY@NC+W9*PEQ4*8+H>U4&P,^@'\NG.NHN+OUF:X@O4\ZHG-C\M^V+L>- M=QEVB=/=!SI^/$SGJE^%+*P9KXK0*!C/0Z/AC&=EE"5+L@152G<@%N>G!:OJ MDE*,U#GQBF4\@2:P,J/?8)8ESIJJP3/+:BI8 ;GDF%32M?&BI[)B29Y04;.R MK"CE!4LSO).,%4U#5_"W0E[N.%^9N=\**V/B\+P:$RB0Y"POLOA.L@R'@)\) M_9Y:*SN%X.0LK6K*6 :N%4N3FDH6//-".[ 84[47,\0BF)('JAD2DR\F?4U/OF8&9:LKJ 8Q*6E$W( M_S*%E; =X,,,>#=C=9.@4=:LBOY."WBWR$,+1,J$'Q)*N1=*^=5"V?GUPGF% MVU!,T!^E65BQ1FV@4UP)[SUX#N[P]0>/E7$\%*:@@'.S6@M]\ST.D!T?<'0" M=YA ;'%+#-J*-2K JRV^[>M&-M#.>=B4&?8YJQ[INI](U60?I7'FQ=$&'#TC+D0I8SWH1& MDR G0J87#6N2E,YQ1@LD=9/D2!-60EK(MJK,B"/?,TP06G0BY%Y=54CE\(1" M*XX74HYG\;Z!&.J0AQ<;B[\#R*/)CJWJ&B85"*7H=,TAQXK9#X*0572J5,"U:A5 MZV?&(^=B&PO=V]R:W-H965TUV89AN ^*S<3" M9,F3Y*;[]T?9B=L#TGRP34GDPX<42<_VVORT):*#ITHJ.P]*Y^II%-F\Q(K; M"UVCHI.M-A5WM#2[R-8&>=$:53)B<3R**BY4L)BU>RNSF.G&2:%P9< V5<7- M[RN4>C\/DN"X<2]VI?,;T6)6\QT^H/M2KPRMHAZE$!4J*[0"@]MY<)E,KP9> MOU7X*G!O7\C@(]EH_=,O/A;S(/:$4&+N/ *GSR->HY0>B&C\.F &O4MO^%(^ MHG]H8Z=8-MSBM9;?1.'*>3 .H, M;Z2[U_N_\!#/T./E6MKV#?M.=\ "R!OK M='4P)@:54-V7/QWR\,)@'+]BP X&K.7=.6I9WG#'%S.C]V"\-J%YH0VUM29R M0OE+>7"&3@79N<7J_M-J>;_^#I=W-[#\_.7CZG9YMP[A;KF&=VN^D6C?SR)' MGKQ^E!]0KSI4]@KJ"&ZU0QB&PF+$S M>&D?=MKBI:^%;:BLC?L=PDIRY8"K I:_&E%3O3GX<;FQSE#!_'LJ] YY4!=8M$\8K!X^T;[+08(!4A9V1%+"]D8DB2#M79<0GTZ5\DD'&4Q)*,P M81.B8.V49E'>5(WD#@L:(93N7/ 6/".O"1%B:0*G-W"Z;H=,AM*GZY:L:1_!!JO0.=;K=UQX1WT?YW%?U!+ P04 " 5 M0 E5=;H6EP,# W!@ &0 'AL+W=OV2=O= 8?@.+$!'Q ?LM9;(]*D)"D#?CU.NRM# M[/9AJ>/8CQ\[L3?=*_W-E(@6?E9"FIE76EM/@L#D)5;,7*@:)9ULE:Z8I:W> M!:;6R(K6J1)!%(994#$NO?FTU=WI^50U5G")=QI,4U5,_UJB4/N9-_#N%1_X MKK1.$8O!9)DX^];@$\>].9+!9;)1 MZIO;W!0S+W2$4&!N'0*CSP^\1"$<$-'X?L#T^I#.\5B^1W_9YDZY;)C!2R4^ M\\*6,V_D08%;U@C[0>U?XR&?U.'E2IAVA7UGF\8>Y(VQJCHX$X.*R^[+?A[J M<.0P"A]PB X.438-+ 5QID%^ %QV@-$#@!F\4]*6 M!JYE@<6__@&1ZQE&]PR7T5G -XV\@#CT(0JCZ Q>W&< M-"105%LB;)6@GN9R!T^Y)(UJ#-74/)L W1GV=P97F&.U00WQH-4,8*U90<.% M!@\\AC0>NS4,8:6V=L^H\K$_'D6T)O'!%B2KT,# 3[(8(C\=CN&2GIF[G(9U M5]DU"T71*)CK>%/RVC@6XS1TH>,H@ULEG^>JJM$B)&E"OS&\IUPT9,,,LG$, M:V4),%?&0CSRPRQQG_%H!&_1F DL\KRI&@J !;!*:C(61^E*;P M7^E\D#1?'T,T]H?#(0EQY _C&$X]A>"HF2F=73NR7/$;:;N^[K7]5%QTP^"O M>3=2WS&]X]* P"VYAA?#U /=C:EN8U7=CH:-LE2[5BQILJ-V!G2^5;UR M_K]B_@=02P,$% @ %4 )57! @ 0@8 !D !X;"]W;W)K&UL?55M;]HP$/XKIVR:6@DU;P0J!DC0=ENG5JW:;OTP M[8-)#N+5L9GME':_?F<',JH!7XA]ON>YYWR^8[A2^LF4B!9>*B'-*"BM70[" MT.0E5LRKQ4-56<(FW M&DQ=54R_3E&HU2B(@XWACB]*ZPSA>+AD"[Q'^VUYJVD7MBP%KU :KB1HG(^" M23R8=IV_=_C.<66VUN RF2GUY#:7Q2B(G" 4F%O'P.CSC&?,LO%0JQ5HYTUL;N%3 M]6@2QZ4KRKW5=,H)9\>?;V[.'R^OKN#H@EBA47 M I@LX%):)A><L:FBC=W5%<]PS,DN4X M"J@]#.IG#,8?WL6]Z..!'+IM#MU#[.-[ZL:B)M%J#IM\=FD\R+);XT.),%>" MVI/+!5CW#-8]RO^@@<7F]NABI&&^F0P!-%@"&OX"55-^=.4'*AZVQ?,W3HL8 MCK@D?U4;LICC 4R98#)'8!;.,<=JAAK2N-,XOX(E+ZGV"$?= M-#[>EO!6M \?]>-#(B/RZG:Z_00F1;&.'\>=A S_A3M-]\5RJ<99YS3IPZXW M$F[U=85ZX:>7@5S5TC8MWEK; 3EIYL(_]V:Z7C.]X*11X)R@T4D_"T W$ZO9 M6+7T4V*F+,T04 !D !X;"]W;W)K&UL?51=;]HP M%/TK5]DT=1)J/DB@,(A4^J%U4KL*NO9AVH-)+L2J8V>V4]K]^ETGD#&)\I+< M:]]S?*[MX\E&Z6=3(%IX+84T4Z^PMAK[OLD*+)DY515*FEDI73)+J5[[IM+( M\@94"C\*@H%?,BZ]=-*,W>MTHFHKN,1[#:8N2Z;?9BC49NJ%WFY@SM>%=0-^ M.JG8&A=H?U3WFC*_8\EYB=)P)4'C:NJ=A^-9[.J;@D>.&[,7@^MDJ=2S2V[R MJ1\%+U (1T0R?F\YO6Y)!]R/=^S73>_4RY(9O%#BB>>VF'IG M'N2X8K6P<[7YBMM^$L>7*6&:+VS:VG[D058;J\HMF!247+9_]KK=ASW 6? . M(-H"HD9WNU"C\I)9EDZTVH!VU<3F@J;5!DWBN'2'LK":9CGA;'IS]WAU]_!] M?G.U@),'MA1H/D]\2\QNWL^V++.6)7J'90"W2MK"P)7,,?\?[Y.B3E:TDS6+ MCA)^J^4I](,>1$$4'>'K=VWV&[[^>VW*%Y16Z3>XY"83RM0:X>?YTEA-]^+7 MH8Y;PO@PH?/*V%0LPZE'9C"H7]!+/WT(!\&7(W+C3FY\C#U=D/?R6B"H%732 M#XD\2G-8Y$.!D*FR4I)HC5N!=YO#:%=:>_(_F ,SL%*"?&O@A$NPA:H-D[GY M/ 8Z(.P.""XQPW*)&OIA,Q+"G&WHFEK4G D#'R&,>DE_2$'4&XQ&\$16I76A MTBI#8R#N!4D,X5D UUQRNLXYK)7*#23#7I*$$(^HP,&'<2^,(PJ2L#?J#^#0 M9OM[=BA1KQO3&VJZEK9U1C?:O2OGK9W^E;>/TBW3:RX-"%P1-#@=)A[HUNAM M8E75F&NI+%FU"0MZ&U&[ II?*65WB5N@>VW3OU!+ P04 " 50 E5&-S< MY[<" "Z!0 &0 'AL+W=OX4*"KHF#J=8Y<;J=>Z+U-W.;KS-@)/YZ4 M;(UW:![*A:+(;UC2O$"A M8 4AQ\18!D:_#9XCYY:(9#SO.+UF2PO<'[^Q7[G:J98ETW@N^6.>FFSJC3Q( M<<4J;F[E]CONZNE;OD1R[;ZPK7.CH0=)I8TL=F!24.2B_K.7W3GL 4;!!X!H M!XB<[GHCI_*"&19/E-R"LMG$9@>N5(7\'EKW;,E1 MMR>^(4J[X"<[^+R&1Q_ !W CAJ(W/?/H*.&/2G2@&WR! M*(BB(WS=IKZNX^M^5!\N#5SD.N%25PKA]VRIC:*W\.=0L357[S"7]<=8ERS! MJ4<&T*@VZ,6G)^$@.#NBM-0*?DJ#&A;LU=[+(:%'J0X+ MK3G+FA,8G45MQ/POIL TK"0GAVIHY0),)BO-1*K;8WAT#YMR9AM4Y%.X%@:) MU< M,P@WS-"Y:J"+P^;BX (3+):HH!NZF1"N2 YL&*]<@2QYKG*=.V.*=\*B MSB#\;"%=" !"LD,HXH2E=I:R$@5;4AM:P#>>54DAQ:3.(K17VO]%* M=]AOP[TTC .78OV5)!?D5GH,G^#T9!2%T1F-A@,X='/^GI\*5&O7-32XC6MK M-;--8YK5?OR?7G>U&Z;6N=# <470H#/L>Z#J3E$'1I;.G4MIR.MNF%%S1643 M:'TEZ7AV@=V@:=?Q/U!+ P04 " 50 E5@LT=F/L" !7!@ &0 'AL M+W=O]P&.Z#8C.Q4%MR)7E9__U1LN-E0QKL2RQ1Y/,\I$1FM)?J21>( M!KY7I=!CKS"FO@D"G158,7TA:Q1TLI6J8H:V:A?H6B'+75!5!G$87@85X\*; MC)QMJ28CV9B2"UPJT$U5,?4RPU+NQU[D'0P/?%<8:P@FHYKM<(7FL5XJV@4] M2LXK%)I+ 0JW8V\:W87D]I X_7!_2_7.Z4RX9IG,OR'YZ;8NP-/)DOM?F'?^J:)!UFCC:RZ8%)0<=%^V?>N#DJBR9Q7-A+61E%IYSBS&0ZGW]Y_+Q>P7+Z[W1V?P?3S[= MQH?'NUNX7TQGB_O%>G&W@G=KMBE1OQ\%AFAM<)!U%+.6(GZ%XA(^26$*#7C^H;> MY.V;Z#+\\TP*@SZ%P3GTR8J:-6](NMS"[Z9S*H>S+*=S6!<(6UE2=W.Q ^,8 MW:F5H/E.\"W/F##4@)VN^D@7ZW25G:X7ZK&2B8RJS;3-QA!\C8K+7 .*W'*\ MXX+,LM$$H-_? +T'[-\#W&*&U085))&S1+!6+,<#JX8_(+[VTSBQB]2/KE); M*$49]"+L7<=^0G84AP87@%7R@;]2M-%)-/FH2D)[GTT^&57<3^=93"J9<1'#5[A6KG M1IH&5]NV[WMK/S6G[;#XX=Z.W$],[;C04.*60L.+J]0#U8ZQ=F-D[4;'1AH: M1&Y9T.1'91WH?"NE.6PL0?]?,OD?4$L#!!0 ( !5 "5687Q$7H@( *8% M 9 >&PO=V]R:W-H965TZ?[]S BF5*%]BW_F>YYZS M*OUL"D0++Z609N(5UE8CWS=I@24SYZI"22>YTB6S9.JU;RJ-+&M I?"C(!CZ M)>/2B\>-[U['8U5;P27>:S!U63+];X9";2=>Z.T=2[XNK'/X\;AB:URA?:SN M-5E^QY+Q$J7A2H+&?.)-P]%LX.*;@">.6W.P!U=)HM2S,VZSB1-+E3#-%[9M['#@05H;J\H=F!247+8K>]G=PP'@,G@'$.T 4:.[3=2H MO&:6Q6.MMJ!=-+&Y35-J@R9Q7+I'65E-IYQP-KZ9WB[A:7KW.(?%?+IZ7,X7 M\Y\/*SA[8(E \WGL6\KB8OUTQSAK&:-W&(>P4-(6!N8RP^PMWB=UG<1H+W$6 MG23\4I4*;6:.#W-#%6TU_R MYUC-+>7@.*7KG)&I6(H3CUK#H-Z@%W_Z$ Z#;R<$#SK!@U/L\8HZ,:L%@LKA M57P/[CA+N."6D_H%,E=&!O2G+S&MM>9R#3-FN#E6SLF$Q\LYS%;NLS$+N5.T M::[3=1EUZCY[XK(#,TZW+1 R9@DKE25@XL8!,(WN/%>"+ -G7%*@J@V3F?D\ M GIY[%X>KC'%,D$-_;#QA'"'&Q30'\$5_7&4$:5]R%X5=:H]YP> '' MWL(_Z)T2];J9$ 9254O;ME'G[8;0M.V]U_!V@BV87G-I0&!.T.#\RX4'NIT* MK6%5U71BHBSU=;,M:)"B=@%TGBNZFYWA$G2C.?X/4$L#!!0 ( !5 "54L M9V&'#P, !,' 9 >&PO=V]R:W-H965TLJCH)-6\4^@)(T+*UDUHAZ-8/TSZ8Y$*L)G9F.Z7[]SL[P&@+:%]R M9_ONN>?LNTMO*=6SSA$-O):%T'TO-Z:Z]'V=Y%@R?2HK%'22254R0TNU\'6E MD*7.J2S\* @Z?LFX\ 8]MS=1@YZL3<$%3A3HNBR9^C/"0B[[7NBM-Z9\D1N[ MX0]Z%5O@#,WW:J)HY6]04EZBT%P*4)CUO6%X.6I;>V?P@^-2;^E@,YE+^6P7 M=VG?"RPA+# Q%H&1>,%K+ H+1#1^KS"]34CKN*VOT;^XW"F7.=-X+8LGGIJ\ M[YU[D&+&ZL),Y?(65_F<6;Q$%MI]8=G8G@4>)+4VLEPY$X.2BT:RU]4];#F< M[W.(5@Z1X]T$1(X+^R@SH^B4DY\9C(?3A[N' MKS.8C*O O10FUS 6*:9O_7TB MMF$7K=F-HH. WVIQ"G'0@BB(H@-X\2;;V.'%^[)E2G"QT#!!!;.<*82?P[DV MBHKCUZY\&[CV;CC;,)>Z8@GV/>H(C>H%O<'QI[ 37!T@V]Z0;1]"'\RH =.Z M0) 9?"3>@A'3/ $F4KCA16W>7WB3P,$0NQ-XS!$R65"[4D0PMABH_1(I$DYE M87M@%39MPL+2E3XI[ 45=3)H2U!#K6F/"S $F,BRJ@USG4CYX#J?BO)QYG#B M+&6M"5H#OB98F:WC%U;45)27\)@KQ#>%!E0FZ,IDQE_WG#S4)7$S4KE2LI]P M2WN@Z<<%<40X@C!L702158)6>-ZQRD6K&SBEVPKB&&Y02.I%!_?T/OGF?E97 M$'5;G3#>+=RKT4@"S#*:4?9:R,4HGE@XZOSD&6K!C8;C3^=1&%WME1\XK%_F M/UB,/[Y$4UA'$)RV8R?BKA/=T(E.M"ZX@S:[.L#?&E3T'@LWCC451RU,,[,V MNYN)/VP&W3_SYG=QS]2""PT%9N1*@<\\4,T(;A9&5F[LS:6A(>K4G/Y:J*P! MG6=2FO7"!MC\!P=_ 5!+ P04 " 50 E5GM%PDC<% !") &0 'AL M+W=O]O+1"DJO7>3IKUP@PM6$SO7,=#[[><$&K,IN!'";R A.BR,$KB +5: M[2"A7#2&_>*WN1KVY4;'7+"Y MDF2:CZ<<-BN1LT8./]AT>^6NO\AV#83^F* M+9C^FLZ5V0M*+TN>,)%Q*8!B+X/&"%[?A&%N4)SQC;-==K0-\JD\2_F:[TR6 M@T8KCXC%+-*Y"VJ^MFS,XCCW9.+X?G#:*,?,#8^WW[W?%I,WDWFF&1O+^$^^ MU.M!H]L 2_9"-[%^E+LO[#"A(L!(QEGQ"7:'?%Z W\##3C"5K7D*YDQ%3&@C M5@:H6(+;C2A22V,PWBC%1,3-D5\^,4UYG/W:#[0),!\FB [!W.R#02>"^6,C MF@"WK@!J(?1?\\#,JYP<*B>'"G_DA+^_YI^G5V"JE\VJ6)RV^=5PG:4T8H.& M^;MG3&U98_CS3[#=^MT1&2XCPX5W?"*RF121%%K)V!Q9@8G0S RBP=]3P'VPK!@[+@<,/901C M*NB2@K%4::6:3A=G9J9=!MCVHF;;0\R=,N;.1=3LU%6S6P[<_5C-F^:W2A6= MIF=FI%<&UO.B8L]#S+!EZW?K(CH>W-00$AZQ WXLY1TS/ M<_-C$0"1%U6A#SQ RP?H+.7U9<6U9;5U'KH+?2'KDH%[]L8C"1;-?.>Q.2V^ MQR>N7+?/<_-E$0%#/S+[X :TX(#.&E]?YG9MF2T H)L AC2FPEQ)S=X.-TU7)F51]2VP MT\N9&4*6'PAZ$1;Y0 HZ6E6XEQ5UA3VXJ2.LY0)R/I#Z@ M@2PTD'N945O2;FU);>5'[LI?2'JKJ(BJA_2Q8L"6#;CEI_?@ Q;8P@*[%QMU M!3VXJ2$HMA4??]Q( HN4L\IIJ!6QXG5V Z'5>.[6-U@"T:L)^^$O9!#&R)@2_36L*U>TO8EGWL M+OL0/)C4C%0BU>G;7K>/<_-C\8#]-)JP#VX0RPURF4X3J=UI(K;X$W?Q?^)" MSY@^+:G;_MS<6$ 0/UTFX@,=Q**#7*;+1&IWF*F .S =K?5!:/XF2E- M]\_A@ PH6*SITGC+K^G*8'PL'(@E"/'3;2(^H$(L5,AENDVD=K?3C];=/L[-CT5+Z*<+%?J 3'CTF/LR7:CPXRY4&UL?53;CILP$/T5BTI5*[6!D&Q:I8!$LC>J;C9* M=MN'J@\.#&"ML:EMPO;O:QM"4RG)"_:,YYPY8V8*,ADZI5+U MW'5E6D*%Y8C7P/1)SD6%E39%X_A"."? _@]P+>ZNT16Y356. H$;Y$PT9K-;&RI%JW% M$69^RE8)?4HT3D7;Y&Z5W";+>/6$XN7R\7GUE*SNT/KQ6[),;K;H(]I"H7^" M0ANHN5"$%>C=-2A,J'P?N$I+,$1NVJ=;=.G\,^EFZ($S54ITPS+(_L>[6OJ@ MWS_H7_@7";\V;(0FW@?D>[Z/9*?U N]DN)>)Y9VYC.S-94IKQW9EVNNP3O, M9MRUY+_P;K ?L"@(DXA"KJ'>Z)/.*[IAZ0S%:]N@.ZYTN]MMJ=\7$"9 G^>< MJX-A$@PO5O074$L#!!0 ( !5 "57G3QH$6P( $L% 9 >&PO=V]R M:W-H965T MX;4Q]3 (-%U#1?1 UB#LR5*JBAAKJE6@:P6D]*"*!W$8G@<580)GJ=^;J2R5 MC>%,P$PAW5054;\O@,OM"$?X>>.6K=;&;0196I,5S,'.Q MX\3]E0ZXNWYFO_3:K98%T9!+_H.59CW"'S$J84D:;F[E]@MT>LX<'Y5<^R_: M=KXA1K311E8=V$90,='^R5.7AQU ='H $'> ^%\!20?PF0O:R+RL"3$D2Y7< M(N6\+9M;^-QXM%7#A'O%N5'VE%F;%U;2X+/+Q] Z-\_SF?GI73*_0[.9; MD1>?Y^@]&E,J&V$TN@4*;$,6'-#Q! QA7)_8\_OY!!T?G: CQ 2Z9IS;U]%I M8&QP[HJ =H% \\?QT^ 6KAD8='+^&!34F?E[C/ M2^SYD@-\G6HF5F@F.:,,-/HY7FBC;.']VB>OY3O=S^>:<:AK0F&$;;=I4!O MV=LWT7GX:9_8_T3V0GK22T]>8\_&W+8V$120'1*HE,W"+!MN&ZZK R8H;THH MW7OWFZHOCGVY:2^,0G^C&RR;+!PD:;#9U?P7IU9+L%/J;LQ<$[5B0B,.2XL* M!Q_.,%)MZ[:&D;6O_H4TMI?\"0 &0 'AL+W=OH9@"%/"1>ZZ\V,F1_[OHYFD%!]*.<@\,M$ MJH0:[*JIK^<*:.Q("?>#2J7A)Y0)+^RXL:$*.S(UG D8*J+3)*%J=0)<+KM> MU7L>N&'3F;$#?MB9TRF,P-S-API[?J$2LP2$9E(0!9.NUZL>]]L6[P"_&"SU M6IO82,92/MK.(.YZ%6L(.$3&*E#\6T ?.+=":.-/KND54UKB>OM9_=S%CK&, MJ8:^Y/XBZ&YV2W9T]LD.8(+9G^ -/PUR*869:7(F8HA+^/WM_&JP1<#'Y!09"IXS=!)L5?R1BD-2J^R3 MH!($98:VTT\A0GK5T:M;[-2*@M6<7NT-O5X4R13S+Z9D*#F+;"$>>F-M%.Z( MWV4)S_2.RO7L*7&LYS2"KH?'@ :U "_\^J7:J'PK"_:3Q%Z$?E2$?K1-/,,[,J"S?3:#@->X8M0LQ\QU^L1[&):=8+R MO]<);?6M9+N4"\' S M=OF/#*Y]JF*[=>(T,J0PCL53*>7DX49R3O <6B*LM&CUSRS:)XF]2$RC2$SC M@T7;)V.8,B'L$AY33D4$91G(9.OE-XM9N*:KS9(+8% MG8-BLNPP.FEN. C:KUUN8FKM5KG-5F&SM=7FD*[L8BL]7UL;TQU4&ZU7GDI MM;>V0+LPU?YPI4'$_RES^QW;=1.SX=5?NP(34%/W,M#$G979;5B,%H^/GKMS M_7_P[.5R214N3TTX3)!:.6QBFE3V&L@Z1L[=A3J6!J]GUYSA PJ4!>#WB93F MN6,G*)YDX5]02P,$% @ %4 )57R3=7M- P V0@ !D !X;"]W;W)K M&ULK5;;CMLV$/V5@1H4"9"L+KX)6UM ['61%DVQ M\&:3AZ(/M#2RB%"D2U)VME^?(64K7EMKH$!?+)&:.>W/R#L[)6JFO;O!;,0LB)P@%YM8Q,'KL<(%" M."*2\<^!,^B6=,#3]R/[K]X[>5DS@PLEOO#"5K,@#:# DC7"KM3^ Q[\C!Q? MKH3QO[ _Q$8!Y(VQJCZ 24'-9?MDWPYY. $03S\@.0"2<\#P!<#@ !AXHZTR M;^N.699-M=J#=M'$YEY\;CR:W'#I=O'!:OK*"6>SU?+S\L_');R#3YI)PWQR M#7SAMN(2%DI:37/P!V=K+KCE:.#U'5K&A7E#H,>'.WC]Z@V\ HK^5*G&,%F8 M:6A)FEL@S \RYJV,Y 49 _A(2U4&EK+ XCD^)$N=K^3H:YY<)?R]D3]\&?R1ET:1YXOL%+?&J'=/:M2],=EJ@U%K#"'!S]TN?\?R)[EH=A MEX?A-?9LCALN)9<;R(]'2_PX6GW66[ZQYW,E:9<-A_$TW)TZNHQ)X[2+>29T MU D=715ZW!N-N=I(_B]MET;!+#VM@BU[!5 ;@'W%\PJVJ'U/ M(,V@UH)O6%L)*K9#D,J2-91@:-:4_/R*MK[&%Y+C*$[.?/4$I7&_K4EG:W+5 MUK(LJ2F *IT=JMN2"B==,)D_@75%37@K?8HGETE.S_3VA"3]=-M(VT'5FU]+UHK2YW-OU;TWP.U"Z#OI5+V M.' +=/]FLN]02P,$% @ %4 )56"X;.0:!@ C# !D !X;"]W;W)K M&ULM9MK;]LV%(;_BN 50PML%2^Z.7,,-!&'=5BW M(.GEP[ /BDW;0G5Q)3KN_OVH2R2+HIEX.?[26/(YCWQXZ-=Z17:VSXNOY89S M87U/DZR\G&R$V%[8=KG8\#0JW^9;GLEW5GF11D(>%FN[W!8\6M9):6(3A#P[ MC>)L,I_5YVZ*^2S?B23.^$UAE;LTC8I_KWB2[R\G>/)XXC9>;T1UPI[/MM&: MWW'Q:7M3R".[HRSCE&=EG&=6P5>7DW?X@E&G2J@C/L=\7QZ\MJI2[O/\:W7P M?GDY0=4GX@E?B H1R3\/_)HG2462G^-;"YUTUZP2#U\_TG^MBY?%W$;VNN!"R,1S6=% MOK>**EK2JA?UZ-?9U% M>]VKYKKDR'6I]2'/Q*:T6+;D2TU^:,[W#/FV'(-N(,CC0%P1(_#W7?;6HN@G MBR!"-)_G^OGI6%?.RZ[._O?5!X-!NUE!:QX]PCL^%_[^0X9:[P5/RW]T76^X MCIY;J=Y%N8T6_'(B9:WDQ0.?S'_\ 7OH%]V00\)"2!@#@@V:XW3-<4ST^<=< M1(D4Z;HANAXTZ5Z=7OU0/,P#&DS1S'XX'-QQE!?XU!M&A>,H[+J^ZPS#F":, M( ^1+FQ0J=M5ZAHKO2GRY6XA=#4:$T^=9Y"P$!+&@&"#T?>ZT??.) (>9',@ M82$DC '!!LWQN^;X+Q.!)MT]_'K[R%%%8!SE!I[G*R(PCL+$Q50)8YHP1-WI M5"\"05=I8!8!>;0C!- M6""% >EE 1\X%VRL]DN<+67.,3DP9Y\ZY4!I(2B-0=&&?2!]'\B91*$%0[4( MDA:"TA@4;=BBWLYAHR%YAC#0\6^WZP>>*@R:,(P"1Q6&<1CQ*4&J,&AH 7'H M$6'H_1$V&Z2_Q(87VBJ->2?/-TA:"$IC4+1A!WK?AMUS20*HL0.EA: T!D4; MMJ@W=]AH3YXA"=[X2SSUIZHB:*(H#51!&$>Y;H!5/1A'.91X1^2@=TK8;)7N MY-C%"WV-QLR39QLD+02E,2C:L >]A\/!N00!U-:!TD)0&H.B#5O46SML-"?/ M$(3I^.?:"USUD8(N#"%OJDK".(PB#ZO/%'0T'Z$C]PBDMTK$;)7N\I781X6V M4'/JJ5,.E!:"TA@4;=B$WL$1?"95(*#F#I06@M(8%&W8HM[<$:,S>5H5VOSA MPT%'^1I?ZZ*0JSY0T$01QZ6*).BB$#VF"+U'(F:/=+T3]U'VU5H4?!D+[9*F MF7#RK -=W@*E,2C:L!>]@R/.N80!U.*!TD)0&H.B#5O46SQB7IM[6AC<\=T\ M]@-5&,91TCZHJY":*!^C0!6&<917+Z=KA:%W2L3LE-YGI2PU::9B$MWGVF<+ M9LC)$P]TU0N4QJ!HPW;T=H[XY](&4+<'2@M!:0R*-FQ1[_:(>AM$WG"-A51G,796ELFZ*H7*"T$ MI3$HVG"W4N_F*#J3)E!0KP=*"T%I#(HV;%'O]:AYM>Y)36CSE0<"BB)H@HBO M/($(-4&>ZC68)L@Y6 @=5MG;)6JV2T>7'LQY)\\ST*4N4!J#H@T[<+!S\6Q; M%V'W+L)N7H3=O7@.=T=[=T=?N(&1CK<3^EA5@G',2 ?&(5/5,Q@Q37WVP>[J ME!?K>EM[:2WR72::+;7=V6[K_+MZP[AR_@I?7&/-^1!?L&9C?(]O]NE_B(IU MG)56PE?R4NBM+^6J:+:^-P&ULM9I=S.M N2^#"IXYG$4MMM-VTF MV6PO.KU@C6PS"\@%.=G]]Q68@ &9)-WCF\3@]SQP=,1K#FCV(///Q48(A;ZD M25:<3S9*;<\LJUAN1!H6;^569/J;EP$ N9_!5':G,^ MF4Y0)%;A+E$W\N%742?DEKRE3(KJ+WJHM?8$+7>%DFD=K,\@C;/]__!+/1 ' M 9IC#B!U .D'.$<":!U GWL$IPYPGGL$MPZH4K?VN5<#QT(5SF>Y?$!YJ=:T M\D,U^E6T'J\X*R?*KOWJ#7J$X0Q\V$653,+*7/JF1; MR_H,+O=G0(Z< 457,E.; O$L$I$AGHW'>R/QEAZ-9DC(XY!/<)C<1&NU[E8A]5U+5?-//G[ MO9:B=TJDQ3^FJN^YCIE;^M]9L0V7XGRB#:X0^;V8S+__#GOV3Z8AAX0Q2!@' M@G6*XS3%<<;H\P]2A8FVZZH@IAKLP[TJO/S)N)]/Z32P9];]X> .5=[4IUY7 MQ88J[+J^ZW1EW" CMF>31M;)U&TR=4"=8KC-\7QO\T*]N'NP77I!-CK7>2+H8HZ M).A;P5 5V+Y+>TXP5+E!8&.S$4R;/*>C>2XV<1::\AL->^D<@X0Q2!@'@G7& M/FC&/CB1 020Q8&$,4@8!X)UBH/M]D[>_C8+J.,/KT@_L'L_X N#"A./]#W M)/-\KV\"!AFAE!YQ 7S0MN!Q'PBS,#(:P7C@2R<;*(V!TC@4K5L"TI: G,@. M:C!4B2!I#)3&H6C=$K7-&QYM/YYA"71X%=M3W^][PE V':B8"3;UB=^W!(., M3@D]8@EM,X3'NZ&%S)3>E94I\UTNM^:,1R$OGGN0- 9*XU"T;CG:C@V[I[(' MT&8.E,9 :1R*UBU1V]#AT9;D&?;@#2Y5+W &=PQ#E4NPVW>'H4K?5]@#=QC* M I<&1\RA;8_P>']4/T#X/<[6D4R-N8X"7CSK(&D,E,:A:-U2M!T%LJZ6.7QTMA3C$->.O% :0R4QJ%HW7*T;1W!)_(& M MKV@=(8*(U#T;HE:ML^,MJS/.T-=7SGJO?Z[PD6)I6#>RIF4#F^W7_(8%)1 MWSOB#6WW1,:[IXLB#M%UN(Q7\=*8*.@K+E : Z5Q*%JW$&UG1YQ3N0)HMP=* M8Z T#D7KEJCM]LCX"[JG7<$=WOX'@P<-!A6QW?ZS1X/*L>V@[PI#%?63,$,7J3AZLP#ZN@N4QD!I'(K6K43;TQ'_5+8 VNN!TA@HC4/1 MNB5J>STR_KKN:5N8&AX&ND'?%@PJFP1]6QBJB.NY?5LPL +GV,U"VS*1\9;I M3[41N3%#T)=?H#0&2N-0M.Y"I;:5H_:)[(""MG>@- 9*XU"T;HG:]HZ.O[5[ MT@[J^,/E0X.F8&$0]=K6@NTE+M,[=?1 M-7N;E;,7U7K1WOY+?+; AOT,G_']NM@6OU^F>Q7FZS@K4")6^E#V6U^;5KY? M^;K?4');+>W\))62:?5Q(\)(Y*5 ?[^24CUNE =HUA_/_P-02P,$% @ M%4 )5?]BR-+2 @ E0D !D !X;"]W;W)K&UL MK59M;]HP$/XK5B9-F[215UC+(%(AF=:IK2JJ=A^F?7##D40D=F8;Z*3]^)V= MD$(54+7Q);'/]SQWY[//-]IPL909@")/9<'DV,J4JH:V+9,,2BI[O *&*PLN M2JIP*E);5@+HW(#*PO8<9V"7-&=6.#*R6Q&.^$H5.8-;0>2J+*GX/8&";\:6 M:VT%LSS-E!;8X:BB*=R!NJ]N!<[LEF6>E\!DSAD1L!A;%^XP[FM]H_"0PT;N MC(F.Y)'SI9Y6HQV" A*E&2C^UC"%HM!$Z,:OAM-J36K@[GC+_L7$CK$\ M4@E37GS/YRH;6V<6F<."K@HUXYNOT,1C'$QX(-F#TH,Q9 M_:=/S3[L )"G&^ U .\E(#@ \!N _UH+00,(7FNAWP!,Z'8=N]FXB"H:C@3? M$*&UD4T/S.X;-.Y7SO0YN5,"5W/$J7 6/\0W]S'Y2&ZH$%1GC;R+0-&\D.]' MMD(36M%.&KI)3><=H//)-6J0 M+H)#6=$$QA96.0EB#5;X]HT[<#YWY>J49-$IR>(3D>UE-6BS&AAV_T!6HUS2 M-!60UIGCBS9K/ZY0E5PJ*.7/KN0$ITS.*NU?N77H=-SSH.1O=[=[4XU]^R%6M2MYISMJ\7=:N=^ MJU;';N^\,WCS4_/ 2Y+P%5-U%6JE;0]Q89[.%_*).YRZ'?((>XZZ17BFKQN6 M:RQ=.9.D@ 6:&ULM5EA;^(V&/XK5G::[J2NB1U(H(-(=Y33.O4ZUM*;IFD? MW& @NB3F; =Z_WYV2!,"QEHD\P62\+X/S_OXM7EL1CO*OO$U(0*\9FG.Q\Y: MB,V-Z_)X33+,K^F&Y/*3)649%O*6K5R^800ORJ0L=9'G!6Z&D]R)1N6S&8M& MM!!IDI,9 [S(,LQ^?"(IW8T=Z+P]>$Q6:Z$>N-%H@U?DB8CGS8S).[=&6209 MR7E"<\#(+A]1OZY[)X6RJ6,\!<<$%S:IDR2!+\OT[?JV$.$B O3,)J$I _S?!KQ+\ MLM ]L[*L6RQP-&)T!YB*EFCJHM2FS);5)+D:QB?!Y*>)S!/1[/&/V?1Q_C?X M^' +IG\^W\V^3!_F5^!A.@>_@"?9-8LB)8 NP8S)WF'BQQ68I3@7 .<+,/U> M)!LYJ *\OR4")RG_(+.>GV[!^WQD. M[@3)^+^Z4O?8/3VVFJPW?(-C,G;D;.2$;8D3_?P3#+Q?=85; FO)X-R-T>5J2)"B :UE$MJKV::L]( M]9YP?B-7BKC(BA0+LI 37"H2)U@M(3JR>[S^ 8VP[\$CKJ=! ?*AGFJ_IMHW M4IUI];P".=&*VC^A !$,AD=$3Z.&@^% 3S2HB09&HI\+EB>B8*1DNDQ>U;5V M$P1[H;Y% MAS71H9'HA&:;0A!FIF?$Z#HNEL!:Y4*O^0WW+MB@%;@E)6RAM:4XL#/0:I-6 M<*T&# ;A49?JHI!W9LF'C:& QA_JZ"M9)W&J7SW-J9U'Y1*. 3:6 ?J7;%"C M(>DLA26TMA2-)8%F3]*Y04_=QD"YX79_FH/:5!M+ LV>9&KD9G^%)Z_50>&R9-5%^/SS7H8TC@69+B?V3FAQIP@LSF9I51(7ZIM4'-JYP,"2VCM0@].2BYZ M5&+WK.02U@U/Y?4BK<;=59>_S<2_0=02P,$% @ %4 )54=W&1&P @ V@< M !D !X;"]W;W)K&ULK55M;]HP$/XK5E9-K<2: M5UC'(!*03.ND,D;IIFG:!Y,<)&IBI[8#[;^?[82,M@%56[\0^WS/<[X[<\]@ M2]DM3P $NL\SPH=&(D31-TT>)9!C?DX+(/)D15F.A=RRM$/M&W&_ $M1982F#'$RSS'[&$,&=T.#=O8&>;I.A'*8/J# J_A&L1- M,6-R9S8L<9H#X2DEB,%J:(SL?N@I?^WP/84MWULCE9RQ)SF-#L1QJ+9&A<&"B&%2XS M,:?;SU#GTU5\$Q# *<&.$\! MW@& 6P/$"++ _8'2+F/*6;&JAJZ_1LEXI4>_D M6C!YFDJ<\&?SK[-POOB)1M, A=]N+F=7X7310=-P@=ZA*68,JTZBTP $3C-^ M)JTWUP$Z/3E#)R@E:)'0DF,2\X$IY'T4JQG5L<=5;.= ;!==42(2CD(20]R" M#X[C>T?PIJQ#4PQG5XRQDRQ\);)'[?&:]GC'V/T )&F4 M8CUNX5[J!H>V5E0L/E,W_I*]6[PFR= M$HXR6,E0UKG2"58I2;41M-"C H-<;#XMHC&P]I+N(H M)8\,\#Q),/OOAL1T.S*@\7+A4[3>"'7!' \SO"9S(CYGCTR>F17*,DI(RB.: M D96(V,"KZ?(5@E%Q%\1V?+&,5"E/%'Z19W,EB/#4HQ(3$*A(+#\>R93$L<* M2?+X6H(:U3-58O/X!?UC4;PLY@ES,J7QW]%2;$:&;X E6>$\%I_H]C=2%N0H MO)#&O/@%VS+6,D"8HUS@63=R.9)\:SA\7DX=?9S?T=F,SG M=XOY!7BX6X!+,)>"6>8Q 70%9JG Z3IZDF<3SHG@X/TM$3B*^0<9^7E^"]Z_ M^P#>@2@%BPW-.4Z7?&@*24\]Q Q+*C<[*N@(E=_S] K8U@5 %D*:]&EW^BT) M93HLTF$[W91-J3J#JLZ@ L\^@OACQ=4X!B$E M= MF;M'M?#(!M\_Q,,I&GFWK2;H52;?[13.\E'.$G#]TQ#IS3]5S3V"M,KVJ3.^UGX&=-N$UM7J'0Z,5.-:^7#5AT$;N M$;W6)@-VNXP'FEZ&-,F(T,[IW=DGOXB>T-JUUMX%!F<59:\&IR^T]MJY=CBH MTS6\(LHRN:FV@;._:-0&'1E 46TW4+?=^%-L"--RZLP[><7>$UJ[RL;>Q7DW M+_K=O3B'LT&ULT%OV4BI<3M==7[>V.?P!02P,$ M% @ %4 )59P]TH:\ @ [P< !D !X;"]W;W)K&ULK55M;]HP$/XK5E9-G=0U+Z2T8A )2-8QK:@J=/LP[8-)#F+5L9GM M0+=?/]L)&6U35&W]DMB7>Y['=^?<];=>PY*2ZEX M48/U"0K"JC>^K_.P!] \[8"@!@2/ >$S@$X-Z+Q4(:P!X4L5SFJ #=VM8K>) MB['"45_P+1+&6[.9AM\$6;NR4P)_95HG(HFT_EP>CD9?4G0<#9+YK,3 M-$WFZ#V:8B&P*2(ZCD%A0N4[;;V=Q>CXZ!TZ0H2A>" B\( M6LXS?CG<;POG_]23?U9_D(Q.>K4O3AK?*JHW;T.5H!8V=$A43WQGZ+/=;3K!H^?^FK47B%Q8HPB2@LM91W>JX;K*C& M2[51?&W[YX(KW8WM,M<3&81QT-^7G*O=Q@@T,S[Z U!+ P04 " 50 E5 M7P40LP0# "C" &0 'AL+W=OLH85WTKU7I^;-LJ3DF&U9&8$PY?ID)F6,-4 MSFPUEP0GI5/&;,]Q0CO#E%N#7KEV(P<]D6M&.;F12.59AN7SD#!1]"W76BW< MTEFJS8(]Z,WQC(R)OIO?2)C9-4I",\(5%1Q),NU;)^[QJ&OL2X-OE!1J;8R, MDHD0#V9RD?0MQQ BC,3:(&!X+ O'?Q2:,6LE'6*-1[TI"B0--: 9@9E;$IO4$.Y M.<6QEO"5@I\>G%]?G]Y?7%ZB0S2&#$ER1I"8HG,ADH(RAO9/B<:4J0,PN!N? MHOV] [2'*$=?4Y$KS!/5LS7P,&AVO-QS6.WI[=@S1%>"ZU2A,YZ0Y+6_#?QK M$=Y*Q-!K!?R2\R/D.Q^0YWA> Y_1V]W=%CI^'5._Q/-WQ705O.^W IZ0;@66 MR8^F0%5 G68@/_.#9V/32K_$]@KS9U: MUU#^T)Q(*A*$DY]PP: D:86@'I;'#W7E,:>*FAJC$!<:/4,IG5*.&?VUF:R5 MF&K#8(WFH1OX&UI:6?WCV82UYK!5\TF25'J:V+>Z_FT&AENA<%UOUY%%-?VH ME3[<'RC&')T]Q2GFL\:$BK;/H..[&V>P;=3UFZEU:VK=MV4]XJ_<9D;.R#2H4BYSKJFK6JW6G/2D;S,;Z$#IPU3!?8*KV M?84EW&.%&)D"I',40=ADU1*KB1;SLJM,A(8>50Y3^(L@TAC ]ZD0>C4Q&]3_ M)8/?4$L#!!0 ( !5 "56 M7$(D@( +4& 9 >&PO=V]R:W-H965T MC^_3X;PM*.1*JT%_#M')_S&1_B1JH'70 8\EARH>=>84QUZOLZ M*Z"D>B0K$#BSEJJD!KMJX^M* $GLQFY4$LO:<";@1A%= MER55O\^ RV;NC;W=P"W;%,8.^$EK?@.X-&[[6)=9)*^6 [Y_G<"ZP@X) 9RT#QM84E<&Z)4,:OCM/KM[3 M_?:._;/SCEY2JF$I^3W+33'W/G@DAS6MN;F5S5?H_#B!F>3:/4G3KIU%'LEJ M;639@5%!R43[IH]='?8 X^D!0-@!PN> V0' I -,G-%6F;.UHH8FL9(-478U MLMF&JXU#HQLF["G>&86S#'$F^7)]O;H_O[@@[\D558K:HI(W*S"4XG07Y64>];*G# ]3CD%Q*80I-/HD<\J<$/NKLQ88[L6?A4<;KS(Q( M,'Y'PB <#PDZ#E]!-B*30?@3.9.^=A/'-SE4.RGSAG%.J,C)N3!4;%C*@2RT M!J/)BNF,2UTK(#\6J38*/]F? ZK/VEVFP[O8:WRJ*YK!W,-[JD%MP4M>OQK/ M@H]#)?A/9$\*,NT+,CW&GES590J*R'7_U8#&B_JK9NKY^;?.C]*]U'E+%CDR M&U[;Y"3VMP-VHMY.]'([&)RD*5A6D*I668$)0BK%,L!(LZ&)'> ,+RI&XI#C MZ!^142^RM7%4TTL/T-]+AA+4Q@6F)IFLA6E#HA_M,WGAHLC_N[P-]$NJ-DQH MPF&-T&!T@D)5&Y)MQ\C*Y4PJ#::6:Q;X7P%E%^#\6DJSZ]@-^C]5\@=02P,$ M% @ %4 )55$<+(^2 @ QP8 !D !X;"]W;W)K&ULK55=3]LP%/TK5H8FD!CY3BE+(T$+6B>-H9:/AVD/;G+;6B1V9CL- M_/O93HA*&ZH]["7QM>\Y/B?VO8EKQI_%&D"BER*G8F2MI2PO;%ND:RBP.&,E M4+6R9+S 4H5\98N2 \X,J,AMSW$BN\"$6DELYNYX$K-*YH3"'4>B*@K,7Z\@ M9_7(L).XQ"N8@WPH[[B*[(XE(P5001A%')8CZ]*]&$"_#^%>"W -\8;9096Q,L<1)S5B.NLQ6;'IAO8]#* M#:'Z%.>2JU6B<#*9WCY>W][_G$VOY^AX A*37)R@+^AA/D''1R?H"!&*[M>L M$IAF(K:EVE,C[;3EOVKXO0_XOU?T#/G.*?(KZHI6CN2-O/"H9...@7%W7BHH/B MNNM\BBC(/G'1WFD- C?P=L3M9X7NT(]VQ-E;;4:W^!^8KP@5*(>EPCEG ^6. M-VVS"20K3>=9,*GZF!FNU9\&N$Y0ZTO&Y%N@FUGW[TK^ E!+ P04 " 5 M0 E57.XFB>H% "!*@ &0 'AL+W=OQ!IBH+0=12HXI^NTNU5M;_LP[8,;3(DNB3G;@9ZT'S\[ M"0F!8)+J;3^4)+SO8_MY[#=^2,8;+K[))6,*O49A+&\Z2Z56UXXC_26+J#SG M*Q;K;Q9<1%3I4_'BR)5@=)XF1:&#>[T+)Z)!W)F,TVOW8C+FB0J#F-T+)),H MHN+'E(5\<]-Q.]L+#\'+4ID+SF2\HB_LD:FOJWNASYP"91Y$+)8!CY%@BYO. MK7OMX4N3D$;\%;"-W#E&9BC/G'\S)W?SFT[/](B%S%<&@NJ/-9NQ,#1(NA_? M<]!.T:9)W#W>HG],!Z\'\TPEF_'P[V"NEC>=RPZ:LP5-0O7 -Y]8/J"AP?-Y M*-/_:)/%CG '^8E4/,J3=0^B(,X^Z6M.Q$Y"WSV2@/,$W#2AGR?TFR8,\H3! M7@(^-H9AGI .W ;)$RT1C,'*?MIMN8KB,U$>51"?QOH/#4A MWO0)_8J^4"&HD0R=$:9H$,H/^NH?.ACQ!9H)-@^4OO# UCQ?&9K/#?% M<[?]L_#8+V94/\4=',%]8J]4HGLJ5,R$1%,:?ZN;'5804QZOY8KZ[*:CZY]D M8LTZDU]^ MT-K5E3** J7W.#J*,;1BPM?'>C-4Q[BUT;9+( -SW1U9>N>]'A[NB0+9J <$ M5A%E5(@RLHIR%RNF4172>XI:>K/TJRHA@[W)W"2(- GR1K4"[/!?&>5E,_.O*N#LG#M66O:2"Q]JHM@8>MXOUB6R''[95[\IZ5GB])],Q$6M;R M[9U$_]FV>M,<<+C;F3V23H>0TR&>O>=OG#;NCEMQKT=SP[:=D=QW\?TN*"N!Q2-@*)Y4&A5@4KGX]JMST$)WZW4Z$R7'1HB+E#(I$1J2>,/ MM7(-3]_P3H:0TR&>?31O9:NT-Z[=WWQZG,ZR&C.C,9W36BY W0HH&@%%\Z#0 MJF*4ML8=O4]ML=JEU@)!HA%0- \*K2I0ZJ&)Z M2_BVC:*]A;:3$A2-@*)Y4&A5K4HKB=UW*>88R+WE D&B$5 T#PJM*E#I4['= MITZI#"3*GG\C'J-5NKB._:1H!VLM"Z[_S7:T[UE!F_6@T*J,E]86VZUMF_+U MM.&U,H#Z7% T HKF0:%5M2I]+GX?GXM!?2XH&@%%\Z#0J@*5/A?;?6[+\@7Y M1&Z6HYU^Y 3:K >%5F6\],K8[I4KY:N)<;;CM28=U#B#HGE0:%5E2N.,W\U NU^_:X=&/%*T3>P+ MQ,X]Q^=UW8SRK@3]>W<6$9]4>B4<1A+HHHLH_+Y$E*Q&CB^\S)QP^8+ M;2;L\2 MO1@X78;"YL6ATP[C9Q8F6^)8A M3D>CCY>WY(Q,L#J2(@4B9N2;T*#(F#[3*4ZB4)0GJN]J%&+HW'B]Z&6Y:/#*HI\+WB!-[ST)O""H@0\/PT<0(]RW<'\; M[J+]*@=!E8/ \C5?Y9MJQ_JK!Z);,MXLS+>/,0>W7&:":G9+TA(PE0L"J[K#)CKIP3UVG7:^M76EK M']1VA=5"EC0M;#/3^+%@BME/)K>-G9>-72?W(/'?%O:1R+9RT*ERT#EJ1W>. M:?Q(9%O&NY7Q[L'-O[?'%K;SQ1(DGL*8!"Q04)K<4%V[YR6?[V_6:,,+VOY. MH1Y<]Q]=]2I7O?]5TKV]#O3WK.W'M,+N3A.Z&T>LN=Y\I7+.N"(IS!#E-3K8 MPK*\,I0#+7)[ZDZ%QC/&PO=V]R:W-H965T4Y+QH98(D9_K.H\2E$)^2G.4R2=+ MRE(H9)?=Z3QG",:E*"6Z91@]/84XT_Q!.39A_H 6@N ,31C@19I"]G2!"%T/ M-5-['KC%=XE0 [H_R.$=FB(QSR=,]O0F2HQ3E'%,,\#02 M7;(L($/D+UO5<0P-1P05-:[%< M08JSZA\^UCYL"$QGC\"J!=9;!78ML-\J<&J!4SI3H90^A%! ?\#H&C U6T93 MC=+,4BWQ<::V?2J8?(JE3OC!:'0SOYY-P23X'5Q<78+@.@1R\'9^&8*K<7 Q MOAK/QI=3\!E,Y9&+"X( 78(@BFB1"0XF\ DNY!C,8C7("A2#*PP7F&#Q!(Y# M)" F_$3*Y],0'!^=@". ,S!+:,&EA@]T(2G46O2H7O%%M6)KSXJ_%]DIL(U/ MP#(LJT4^ZI;_@$S*S;WRL%L>HJB1FR_ENK2^\=]J_+?*>/8^_]]B)$8<_ D6 M7##YFOQMLZQ*XK0G45?'.<]AA(::O!LX8BND^1\_F#WC2YN![QDL?*=@+\RU M&W/MKNC^C,$8@;QRMO6H5?I>J5C;7M[8-T&UNV$'=&L M?!->HW5W@U#KY,AB!X*S''Y[4LHB1

0Y%W]PQ@%!2ZDS3OO20U:56E5'T+PL/A94R%*F;":R M.D5,39#/EY2*YXZJ9YIZU_\'4$L#!!0 ( !5 "54#Q!GV 0, (L* 9 M >&PO=V]R:W-H965T\ M%?*+6B-J^)8QKB;.6NO\R'55LL:,J$.1(S MZ&:$:TVE26N!N^Y;]5:G=:+DF"D\$^TA3O9XXSQU(<4D* MIN=B^QIK/4/+EPBFRE_85K'#%PXDA=(BJ\%F!1GEU3_Y5ONP S \[0"_!O@/ M!00U(/@5,+@',*@!@]*92DKI0TPTB<92;$'::,-F&Z69)=K(I]QN^T)+,TL- M3D>OIJ=SN)J>7<[@?#9=7,YGY[.W'Q;P)$9-*%-/X1E<+F)X7 &<"Z[7"F8\Q;0%?]*-#SOPKM'=B/=OQ1_[ MG81O"GX(@=<#W_/]MO7\&SSNAL>8&'B_A/<[U 3-5@8E7W#?5A(JX8JP GOP M+K>WJ@?O"\(UU<1>+HBI2IA0A40%G\X,&DXU9NISVTY6J0;MJ>Q;=*1RDN#$ M,8^-0KE!)WK\J!]Z+]MLW"=9O">R.Q8/&HL'7>S1B3E_E*^0:V"47%-&]4T/ M%5CTXPPTR". [[,[.,2FD-$:U6=&9Y$]/UC[)XCV1W3$W;,P-_]_E#?=I M\3[)XCV1W;%XU%@\>NCE/:LO+\76S]CHMYO8[_=?_')='Q(4_Q[DA^&P":IT MN#N?[PSEJBR#%"2BX+KZDC>C3:4U+0L,]V=X5::=$[FB7 '#I8%ZAR-SIF55 M^E0=+?*R&+@6VI0697-MJD64-L#,+X70MQV;H*D_HQ]02P,$% @ %4 ) M596Q\D&R P UP\ !D !X;"]W;W)K&ULK5== M;]LV%/TKA!8,"=!&7[9L9[: .-+6%F@0V,OZS$BT340B/9*RNW\_DI)5R6%D M==.++5+G'/(>7I&\\R-EKWR'D #?\XSPA;438G]GVSS9H1SR6[I'1+[94)9# M(9ML:_,]0S#5I#RS/<<)[!QB8H5SW??$PCDM1(8)>F* %WD.V3]+E-'CPG*M M4\<*;W="==CA? ^W:(W$\_Z)R99=JZ0X1X1C2@!#FX5U[][%KB9HQ%\8'7GC M&:A07BA]58W/Z<)RU(Q0AA*A)*#\.Z 'E&5*2<[C[TK4JL=4Q.;S2?UW';P, MY@5R]$"S;S@5NX4UM4"*-K#(Q(H>/Z$JH+'22VC&]2\X5EC' DG!!"98\ ^-CC]WM."0I++SJM6>VT).4@UE M)]6$EN6$O'[IG#^W^CQ?QZ]989?IXNO]?QW]!Z+'#$H*#,M;$D=F:EJQ[OC M>YB@A26W-([8 5GAK[^X@?.;R=4AQ:(AQ>*!Q%K^CVK_1UWJX:,\.C!):(Y, M"U!R \U5)\0A=-V9(]/FT'36@'+<:=!&10;4;.*C\PPTHOS) M608:41/W+ .-J, S9Z#;N**[EW']1.ANK]!-J+>AFU!O0S>AWH1N-PH5 M>9'UUUK]T[QY<0W^DJE9=&/V0+TO>KY!M,>$@ M0QLYE(Q ;A2LK"++AJ![72:]4"&++OVXDY4W8@H@WV\H%:>&&J"NY<-_ 5!+ M P04 " 50 E5^>WU"-\# 8$@ &0 'AL+W=O#+N@I6.; MJ$2Z)&5GPWY\24E1K$EFXU4W-DGQO(?G$7E$84"L8Y6UW/!BQ3":$ MPAU'(DM3S/^>0L+V8\NUGAKNR7HC=8,=C+9X#0N0#]L[KFIVI1*3%*@@C"(. MJ[$U<2]#U]<&>8\_".S%01GI4):,?=65>3RV'#TB2""26@*KOQW,($FTDAK' MMU+4JGQJP\/RD_IU'KP*9HD%S%CRA<1R,[8N+!3#"F>)O&?[#U &U-=Z$4M$ M_HOV1=_!T$)1)B1+2V,U@I30XA\_EB .##SOB(%7&G@O-?!+ _^_!OX1@UYI MT,O)%*'D'$(L<3#B;(^X[JW4="&'F5NK\ G5[WTAN7I*E)T,)K/?'^:+^>?Y MI]L%^G2-I@^+^>W58G&U0._0ZQ D)HEX@UXA0M'G#H9\ MYRWR',]##XL0O7[UIBVP;F1"LTP(D9)Q?"_M'A*>E M%)I$WS(B2+Y8__RHVM!<0BK^:IL+A62O75)GLDNQQ1&,+96J!/ =6,&OO[@# MYWT;OR[%PH[$:BA[%23VXS=(E<,16U?L!H?*>PLHA1O\>>6L%4:/RJ42[ M% L+L7XNIC\RN^!\9.]:,/4K3'TCIGN(L^*;H%(."$E4<@=-;KH(JP.W)8(S2H" V,A*HUB0_6)#_$AE/&)?D'YW5X5)L$ M 6W8!LU(':<>Z>P%?4+C>/\GC?.*QKF1!J$[Q>#Z?G)S]19]E/%96Z!&B5/G M1Y=B84=B-707%;J+[I/[19RJ8CL1H;UWG>9#H_F;&H.N*0&*@D*X*7":@VB>F:Z")67TK9 MONET&AS=9@8S#^Y4DEVIU5$>[-?=[C^/I6;?F.C-CD_&U)%:'9/WC,G[R1FG M#H? ]4J$E'$M4+VN>9U^#G-_D91W0ROX[4ZOR>M_VN<2M@_,9NH9G8S*Y/!M7IGMX^.$JGP-?YE810!#(JBU-UU5I=>TSRP[[] MW+VX,[G!?$VH0 FLE*ES=JZF#R^N(8J*9-O\8+YD4AWS\^(&< Q<=U#/5XS) MIXIV4%T&!=\!4$L#!!0 ( !5 "54@C8F\.0, .P3 - >&PO\>WW./?9?&[:#62TX?9I3J8%%R40_#F=;5ARBJ MIS-:DOI*5E08))>J)-J8JHCJ2E&2U1!4\JC7Z21129@(1P,Q+^]*70=3.1=Z M&":M*W"WS]DP[";OP\#1C65&A^'3Q=L?4FO#R"]ZG1P8@ Q\N0P\GW<&/7--K6=?FZ(7. Y%M8_2-$>01AQZM%CY*\E M@6&#HZ;:HT$NQ;KH<>@2NP%SK':% 1K:D2=\:P MDZWS!10TX\=E9106BBR[O>MP'6!O)LE$JHRJ-DTW7+E& TYSD*-8,8.[EE4$ MH-:R-(.,D4(*8C6L(IJ!H9U2SA_@*?V>;W$O\HVZ=:!JHAT:0"6K^N_M< M4$$5X9NB3>\?\RZ_6G%\\Z\DV]\JNX*]&IM7[[&+O#X%D9K7-,ZPW@O#@,O\'IDZ^3!I,YXYJ)QIJQ+*/BQ7'&T&LR M,7_*;/&;^1G-R9SKQQ89FVL^YA(YI9Z_$76%XW:0^K)A<3&5W0 M;-R8JIC886 &)FMS0< N/KL=AF+:^ M%^FC,7TTQD7YD+']8'G\,:FY_"M-TSA.$FQ'QV.O@C&V;TD"/WXV3!M$8'D@ MTY_M-5YMO$/V]P%6TWT=@JT4[T1LI?A> ^+?-XA(4W^UL3P0@54!ZQW([\\# M/>6/B6.H*J8->X)Q)$TQ!'K1WZ-)@NQ. A]_?;"G)([3U(\ YE<0QQ@"3R.. M8 I X;$L7T/[KR/HM5[*EK_?V_T&U!+ P04 " 50 E5EXJ[', 3 M @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/ MV!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%" MKM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0 MT^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( !5 "56. MOQR0> 0 ( B / >&PO=V]R:V)O;VLN>&ULQ9I=<]HX%$#_BH:G=&:[ MX ^2-E,Z8XR@F@&9M4TZ?=I1L !-C9613++IKU_9E(UHR-U]T?H)+!OY^%K< M5'O5V=?UPV^_K]8[OF?Y=/O#*[-E(M6>UV53;OGY0 MG!5ZQWF]+_O^8'#=WS-1]3Y_.O6U5'U[0]9\70M9F<:FX4[P)_VRO]E$CT*+ M>U&*^GG4:[^7O(?VHA)[\8,7H]Z@A_1./GV12OR05U M6+]JSAK(G-WKMJ5F]RDS(*/>]0SBK?HO892;C5CSB5P?]KRJCW%4O&P *[T3 M#[J'*K;GHUXL'[E"2[;ES469LY#B>(&U(;/"I6Z%V:%(T3*ZY*D*7FE>(/-- MRU(4AJ- 8U:R:LV1!>D#D'Z'D'_Z%F0 0 :=0&8-COFI!1D"D&&'D&>1' *0 MPRXA POR&H"\[A(RM"!O ,@;MY"$YC@E"S0E-*(QB>:(T&F2+J*<)-1"_ @ M?G"+F)$9)5,21S1'41PG*YH3.D/+9$YB@C,+\B, ^=$M9(KO,%UA.V4/H)P] M<(NS3),E3O-O**(3A/]8D>4"T_PW1'%N(X):<>P5,_(B.B/C.491EN$\>T4' M^<1S+)19DDR^DOGC[@/4@4GF-33/#X['9!/O <"^%G M7LC0,OH6M4/*C'O3F*[P!,V)C0D9P7.LA&E$4G07S5<8+7"4K5+<_"W/[BCD M L^Q#.)DL2!YB]0&,$[:5(OI+WG6@VS@.=8!CE)JH,RMQBG*OD3I6=*%%. Y M=D 4FT2;D<:<&4JF:+S*",4FM]FQ\R$M^(ZU *KTK+CS(37XCM4 8]KEG0_. M.1P[XJ?ST9691990!X).O6(/0,/((\$CCT"8PYM3'#URK%68,QK&Q/22N!8 M*S#FC8T):25PK)53\? >Y8I5FK5+YAI]%?5.5"BV,2')!(XE\X(Y$9IMMXIO MVX.0W*"4/]J8D&\"Q[YYP310O#IPA'4M3#\8) M!+J:\)J)\CQK0OX)'/L'*A_?(WLN$T+^";M;XFKB:V-"#@H[6>9J FDZ+PXV M)N2@T+&#WL0\#E0;$W)0Z-A!_Q3CI_B5O,E$,RF+)U&6-B;X#,6Q@RQ,^(\> M0@H*'2OH; )Q"0X23^A8/.T,XE_#!SDG_#_F..?CD,J::[1DSZ8.MC$AYX2= MSGKLQ900LD[8U:SG>-OMYXZ0=88=S'HN#,PAI)RA8^6\O0YIANO5Q,:$E#-L ME=,_O?%0\(VH>$'-*;1I7[-RO52H^3@^K F'S>+KYE"6L6E+JKEDQ>D%BM/+ M'Y__!E!+ P04 " 50 E5BC%V7\\! S'P &@ 'AL+U]R96QS+W=O M$C( M3*G>?447]@M==%/F6X5)R)\7 @]A,GN/^R9OVV/:;+LT.AWVQS2O-CEWSR&D MY28>FC1NNWB\7%FU_:')EV6_#EVSW#7K&'0RF8;^YXSJ9?9SYFAQ[N)?)K:K MU7897]OEYR$>\R^#PU?;[](FQER-%DV_CGE>A=/^?CJ%ZT'&E\G5Z.UC7O5O M'U*%TD$*05H^R"#(R@BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM M!'HKZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01ZVV"SA$!O0[V-0&]#O8U ;T.] MC4!O0[V-0&]#O8U ;T.]C4!O1[V=0&]'O9U ;T>]G4!O1[V=0&\?;'83Z.VH MMQ/H[:BW$^CMJ+<3Z.VHMQ/H[:BW$^A=H]XU@=XUZET3Z%VCWO5_ZIWR>1_3 MO>>VQN?_)]7YUW7VSI;#)^VUGR MO6U5UGZ2+$.P#XSY;$F5]JFQ5,>1N7&5#O'1+9C5V4HOB(G!8,0R4P>J0S\T M-9+I^(GF>EV&WO,VOO:%J2>)H](GOVN:>5+NIC/FM_A4\_ 5!+ 0(4 Q0 M ( !5 "54'04UB@0 +$ 0 " 0 !D;V-0&UL4$L! A0#% @ %4 )5;(Y#P+N *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ %4 )59E< MG",0!@ G"< !, ( !S $ 'AL+W1H96UE+W1H96UE,2YX M;6Q02P$"% ,4 " 50 E5:P-H_L$% "\'@ & @($- M" >&PO=V]R:W-H965T&UL4$L! A0#% @ %4 )59", M1(-B!@ (!L !@ ("!! X 'AL+W=OM_^ ( %L* 8 M " @9P4 !X;"]W;W)K&PO=V]R:W-H965T M&UL4$L! A0#% @ %4 )51.^WC?_ @ Q D !@ M ("!!!\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! M A0#% @ %4 )5>!PX-+R! U L !@ ("!Y# 'AL M+W=O&PO=V]R:W-H965TW5 , %\' 9 " @:%, !X;"]W;W)K&UL4$L! A0#% @ %4 )552S#%J8 P M0< !D M ("!+% 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ %4 )50/JK,'+!@ &PO=V]R:W-H965T&UL4$L! A0#% @ %4 ) M5252/>L, P B@8 !D ("!3&L 'AL+W=OVF[DL# #I!P &0 M @(&/;@ >&PO=V]R:W-H965T&UL4$L! A0#% @ %4 )52](UMQE#P /2L M !D ("!&PO=V]R:W-H965T&UL4$L! A0#% @ %4 )57-IU&@8 P @08 !D M ("!U9 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ %4 )52.J_@"8 @ >04 !D ("!&PO=V]R:W-H965TT7"2-P4 $(D 9 " @8&I !X;"]W;W)K&UL4$L! A0#% @ %4 )521J*9- @ O00 !D M ("![ZX 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ %4 )57R3=7M- P V0@ !D ("! M7[< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ %4 )5?]BR-+2 @ E0D !D ("!3,< 'AL+W=O&UL4$L! A0#% @ %4 )58G2'\@L M! YQ4 !D ("!X-$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %4 )58"U<0B2 @ M08 !D M ("!<=P 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ %4 )5>N6TK/[ @ PPD !D ("!).@ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M%4 )596Q\D&R P UP\ !D ("! /( 'AL+W=O&PO=V]R:W-H965T7!E&UL4$L%!@ 0 \ #P 6Q / & 0 $! end XML 66 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 67 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 68 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.2 html 187 198 1 false 68 0 false 8 false false R1.htm 0001001 - Document - Cover Page Sheet http://www.xpel.com/role/CoverPage Cover Page Cover 1 false false R2.htm 1001002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.xpel.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 1003004 - 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 1004005 - 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 1005006 - 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 1006007 - 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 2101101 - Disclosure - INTERIM FINANCIAL INFORMATION Sheet http://www.xpel.com/role/INTERIMFINANCIALINFORMATION INTERIM FINANCIAL INFORMATION Notes 8 false false R9.htm 2102102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES SIGNIFICANT ACCOUNTING POLICIES Notes 9 false false R10.htm 2109103 - Disclosure - REVENUE Sheet http://www.xpel.com/role/REVENUE REVENUE Notes 10 false false R11.htm 2115104 - Disclosure - PROPERTY AND EQUIPMENT, NET Sheet http://www.xpel.com/role/PROPERTYANDEQUIPMENTNET PROPERTY AND EQUIPMENT, NET Notes 11 false false R12.htm 2119105 - Disclosure - INTANGIBLE ASSETS, NET Sheet http://www.xpel.com/role/INTANGIBLEASSETSNET INTANGIBLE ASSETS, NET Notes 12 false false R13.htm 2123106 - Disclosure - GOODWILL Sheet http://www.xpel.com/role/GOODWILL GOODWILL Notes 13 false false R14.htm 2127107 - Disclosure - INVENTORIES Sheet http://www.xpel.com/role/INVENTORIES INVENTORIES Notes 14 false false R15.htm 2130108 - Disclosure - DEBT Sheet http://www.xpel.com/role/DEBT DEBT Notes 15 false false R16.htm 2134109 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES Sheet http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIES ACCOUNTS PAYABLE AND ACCRUED LIABILITIES Notes 16 false false R17.htm 2137110 - Disclosure - FAIR VALUE MEASUREMENTS Sheet http://www.xpel.com/role/FAIRVALUEMEASUREMENTS FAIR VALUE MEASUREMENTS Notes 17 false false R18.htm 2140111 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.xpel.com/role/COMMITMENTSANDCONTINGENCIES COMMITMENTS AND CONTINGENCIES Notes 18 false false R19.htm 2141112 - Disclosure - EARNINGS PER SHARE Sheet http://www.xpel.com/role/EARNINGSPERSHARE EARNINGS PER SHARE Notes 19 false false R20.htm 2144113 - Disclosure - ACQUISITIONS OF BUSINESSES Sheet http://www.xpel.com/role/ACQUISITIONSOFBUSINESSES ACQUISITIONS OF BUSINESSES Notes 20 false false R21.htm 2203201 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 21 false false R22.htm 2304301 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESTables SIGNIFICANT ACCOUNTING POLICIES (Tables) Tables http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES 22 false false R23.htm 2310302 - Disclosure - REVENUE (Tables) Sheet http://www.xpel.com/role/REVENUETables REVENUE (Tables) Tables http://www.xpel.com/role/REVENUE 23 false false R24.htm 2316303 - 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 24 false false R25.htm 2320304 - Disclosure - INTANGIBLE ASSETS, NET (Tables) Sheet http://www.xpel.com/role/INTANGIBLEASSETSNETTables INTANGIBLE ASSETS, NET (Tables) Tables http://www.xpel.com/role/INTANGIBLEASSETSNET 25 false false R26.htm 2324305 - Disclosure - GOODWILL (Tables) Sheet http://www.xpel.com/role/GOODWILLTables GOODWILL (Tables) Tables http://www.xpel.com/role/GOODWILL 26 false false R27.htm 2328306 - Disclosure - INVENTORIES (Tables) Sheet http://www.xpel.com/role/INVENTORIESTables INVENTORIES (Tables) Tables http://www.xpel.com/role/INVENTORIES 27 false false R28.htm 2331307 - Disclosure - DEBT (Tables) Sheet http://www.xpel.com/role/DEBTTables DEBT (Tables) Tables http://www.xpel.com/role/DEBT 28 false false R29.htm 2335308 - 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 29 false false R30.htm 2338309 - Disclosure - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables FAIR VALUE MEASUREMENTS (Tables) Tables http://www.xpel.com/role/FAIRVALUEMEASUREMENTS 30 false false R31.htm 2342310 - Disclosure - EARNINGS PER SHARE (Tables) Sheet http://www.xpel.com/role/EARNINGSPERSHARETables EARNINGS PER SHARE (Tables) Tables http://www.xpel.com/role/EARNINGSPERSHARE 31 false false R32.htm 2405401 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Ownership Percentages and Functional Currencies (Details) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails SIGNIFICANT ACCOUNTING POLICIES - Ownership Percentages and Functional Currencies (Details) Details 32 false false R33.htm 2406402 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESSegmentReportingDetails SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details) Details 33 false false R34.htm 2407403 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESAccountsReceivableDetails SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details) Details 34 false false R35.htm 2408404 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) Sheet http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details) Details 35 false false R36.htm 2411405 - Disclosure - REVENUE - Transactions Within Contract Liabilities (Details) Sheet http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails REVENUE - Transactions Within Contract Liabilities (Details) Details 36 false false R37.htm 2412406 - Disclosure - REVENUE - Disaggregation of Revenue (Details) Sheet http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails REVENUE - Disaggregation of Revenue (Details) Details 37 false false R38.htm 2413407 - Disclosure - REVENUE - Revenue Estimate By Geographic Area (Details) Sheet http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails REVENUE - Revenue Estimate By Geographic Area (Details) Details 38 false false R39.htm 2414408 - Disclosure - REVENUE - Narrative (Details) Sheet http://www.xpel.com/role/REVENUENarrativeDetails REVENUE - Narrative (Details) Details 39 false false R40.htm 2417409 - 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 40 false false R41.htm 2418410 - Disclosure - PROPERTY AND EQUIPMENT, NET - Narrative (Details) Sheet http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETNarrativeDetails PROPERTY AND EQUIPMENT, NET - Narrative (Details) Details 41 false false R42.htm 2421411 - 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 42 false false R43.htm 2422412 - Disclosure - INTANGIBLE ASSETS, NET - Narrative (Details) Sheet http://www.xpel.com/role/INTANGIBLEASSETSNETNarrativeDetails INTANGIBLE ASSETS, NET - Narrative (Details) Details 43 false false R44.htm 2425413 - Disclosure - GOODWILL - Schedule of Goodwill (Details) Sheet http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails GOODWILL - Schedule of Goodwill (Details) Details 44 false false R45.htm 2426414 - Disclosure - GOODWILL - Narrative (Details) Sheet http://www.xpel.com/role/GOODWILLNarrativeDetails GOODWILL - Narrative (Details) Details 45 false false R46.htm 2429415 - Disclosure - INVENTORIES (Details) Sheet http://www.xpel.com/role/INVENTORIESDetails INVENTORIES (Details) Details http://www.xpel.com/role/INVENTORIESTables 46 false false R47.htm 2432416 - Disclosure - DEBT - Narrative (Details) Sheet http://www.xpel.com/role/DEBTNarrativeDetails DEBT - Narrative (Details) Details 47 false false R48.htm 2433417 - Disclosure - DEBT - Schedule of Notes Payable (Details) Notes http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails DEBT - Schedule of Notes Payable (Details) Details 48 false false R49.htm 2436418 - 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 49 false false R50.htm 2439419 - Disclosure - FAIR VALUE MEASUREMENTS (Details) Sheet http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails FAIR VALUE MEASUREMENTS (Details) Details http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables 50 false false R51.htm 2443420 - Disclosure - EARNINGS PER SHARE (Details) Sheet http://www.xpel.com/role/EARNINGSPERSHAREDetails EARNINGS PER SHARE (Details) Details http://www.xpel.com/role/EARNINGSPERSHARETables 51 false false R52.htm 2445421 - Disclosure - ACQUISITIONS OF BUSINESSES - (Details) Sheet http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails ACQUISITIONS OF BUSINESSES - (Details) Details http://www.xpel.com/role/ACQUISITIONSOFBUSINESSES 52 false false All Reports Book All Reports xpel-20220630.htm a2022q2exhibitno311.htm a2022q2exhibitno312.htm a2022q2exhibitno321.htm a2022q2exhibitno322.htm xpel-20220630.xsd xpel-20220630_cal.xml xpel-20220630_def.xml xpel-20220630_lab.xml xpel-20220630_pre.xml xpel-20220630_g1.jpg http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 70 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "xpel-20220630.htm": { "axisCustom": 1, "axisStandard": 17, "contextCount": 187, "dts": { "calculationLink": { "local": [ "xpel-20220630_cal.xml" ] }, "definitionLink": { "local": [ "xpel-20220630_def.xml" ] }, "inline": { "local": [ "xpel-20220630.htm" ] }, "labelLink": { "local": [ "xpel-20220630_lab.xml" ] }, "presentationLink": { "local": [ "xpel-20220630_pre.xml" ] }, "schema": { "local": [ "xpel-20220630.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://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd" ] } }, "elementCount": 361, "entityCount": 1, "hidden": { "http://xbrl.sec.gov/dei/2022": 5, "total": 5 }, "keyCustom": 10, "keyStandard": 188, "memberCustom": 35, "memberStandard": 32, "nsprefix": "xpel", "nsuri": "http://www.xpel.com/20220630", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0001001 - Document - Cover Page", "role": "http://www.xpel.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2109103 - Disclosure - REVENUE", "role": "http://www.xpel.com/role/REVENUE", "shortName": "REVENUE", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2115104 - Disclosure - PROPERTY AND EQUIPMENT, NET", "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNET", "shortName": "PROPERTY AND EQUIPMENT, NET", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2119105 - Disclosure - INTANGIBLE ASSETS, NET", "role": "http://www.xpel.com/role/INTANGIBLEASSETSNET", "shortName": "INTANGIBLE ASSETS, NET", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2123106 - Disclosure - GOODWILL", "role": "http://www.xpel.com/role/GOODWILL", "shortName": "GOODWILL", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:GoodwillDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2127107 - Disclosure - INVENTORIES", "role": "http://www.xpel.com/role/INVENTORIES", "shortName": "INVENTORIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2130108 - Disclosure - DEBT", "role": "http://www.xpel.com/role/DEBT", "shortName": "DEBT", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2134109 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES", "role": "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIES", "shortName": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2137110 - Disclosure - FAIR VALUE MEASUREMENTS", "role": "http://www.xpel.com/role/FAIRVALUEMEASUREMENTS", "shortName": "FAIR VALUE MEASUREMENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2140111 - Disclosure - COMMITMENTS AND CONTINGENCIES", "role": "http://www.xpel.com/role/COMMITMENTSANDCONTINGENCIES", "shortName": "COMMITMENTS AND CONTINGENCIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2141112 - Disclosure - EARNINGS PER SHARE", "role": "http://www.xpel.com/role/EARNINGSPERSHARE", "shortName": "EARNINGS PER SHARE", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001002 - Statement - Condensed Consolidated Balance Sheets", "role": "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "shortName": "Condensed Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2144113 - Disclosure - ACQUISITIONS OF BUSINESSES", "role": "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSES", "shortName": "ACQUISITIONS OF BUSINESSES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2203201 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Policies)", "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2304301 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES (Tables)", "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESTables", "shortName": "SIGNIFICANT ACCOUNTING POLICIES (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2310302 - Disclosure - REVENUE (Tables)", "role": "http://www.xpel.com/role/REVENUETables", "shortName": "REVENUE (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2316303 - Disclosure - PROPERTY AND EQUIPMENT, NET (Tables)", "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETTables", "shortName": "PROPERTY AND EQUIPMENT, NET (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2320304 - Disclosure - INTANGIBLE ASSETS, NET (Tables)", "role": "http://www.xpel.com/role/INTANGIBLEASSETSNETTables", "shortName": "INTANGIBLE ASSETS, NET (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2324305 - Disclosure - GOODWILL (Tables)", "role": "http://www.xpel.com/role/GOODWILLTables", "shortName": "GOODWILL (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2328306 - Disclosure - INVENTORIES (Tables)", "role": "http://www.xpel.com/role/INVENTORIESTables", "shortName": "INVENTORIES (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2331307 - Disclosure - DEBT (Tables)", "role": "http://www.xpel.com/role/DEBTTables", "shortName": "DEBT (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2335308 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables)", "role": "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESTables", "shortName": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "role": "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2338309 - Disclosure - FAIR VALUE MEASUREMENTS (Tables)", "role": "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables", "shortName": "FAIR VALUE MEASUREMENTS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2342310 - Disclosure - EARNINGS PER SHARE (Tables)", "role": "http://www.xpel.com/role/EARNINGSPERSHARETables", "shortName": "EARNINGS PER SHARE (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "id5af51759c114768865b300dd61cbd8f_I20220630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:MinorityInterestOwnershipPercentageByParent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405401 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Ownership Percentages and Functional Currencies (Details)", "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Ownership Percentages and Functional Currencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "id5af51759c114768865b300dd61cbd8f_I20220630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:MinorityInterestOwnershipPercentageByParent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2406402 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details)", "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESSegmentReportingDetails", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Segment Reporting (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407403 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details)", "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESAccountsReceivableDetails", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Accounts Receivable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408404 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details)", "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails", "shortName": "SIGNIFICANT ACCOUNTING POLICIES - Provisions and Warranties (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "if66bfb9fa7bf4d2c8f1189b31ca5eabf_I20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "if254729c777e454a8924e23888c2b9d8_I20220331", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411405 - Disclosure - REVENUE - Transactions Within Contract Liabilities (Details)", "role": "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails", "shortName": "REVENUE - Transactions Within Contract Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412406 - Disclosure - REVENUE - Disaggregation of Revenue (Details)", "role": "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "shortName": "REVENUE - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic59843de763144a7a1e963b350c0257a_D20220401-20220630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2413407 - Disclosure - REVENUE - Revenue Estimate By Geographic Area (Details)", "role": "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails", "shortName": "REVENUE - Revenue Estimate By Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i99944eac87f841b4a8d3b3387c23b812_D20220401-20220630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i8c550443f8a14eb2b61c9aad56193f43_D20220401-20220630", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2414408 - Disclosure - REVENUE - Narrative (Details)", "role": "http://www.xpel.com/role/REVENUENarrativeDetails", "shortName": "REVENUE - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i8c550443f8a14eb2b61c9aad56193f43_D20220401-20220630", "decimals": "3", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003004 - Statement - Condensed Consolidated Statements of Income (Unaudited)", "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "shortName": "Condensed Consolidated Statements of Income (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417409 - Disclosure - PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details)", "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails", "shortName": "PROPERTY AND EQUIPMENT, NET - Schedule of Property, Plant and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:Depreciation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418410 - Disclosure - PROPERTY AND EQUIPMENT, NET - Narrative (Details)", "role": "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETNarrativeDetails", "shortName": "PROPERTY AND EQUIPMENT, NET - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2421411 - Disclosure - INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details)", "role": "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails", "shortName": "INTANGIBLE ASSETS, NET - Schedule of Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422412 - Disclosure - INTANGIBLE ASSETS, NET - Narrative (Details)", "role": "http://www.xpel.com/role/INTANGIBLEASSETSNETNarrativeDetails", "shortName": "INTANGIBLE ASSETS, NET - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i41a47fd773834c7a875af978b9ae5a88_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2425413 - Disclosure - GOODWILL - Schedule of Goodwill (Details)", "role": "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails", "shortName": "GOODWILL - Schedule of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "if66bfb9fa7bf4d2c8f1189b31ca5eabf_I20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ie679fb4a33c34a97adc715b5fc942941_D20210101-20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfBusinessesAcquired", "reportCount": 1, "unitRef": "business", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2426414 - Disclosure - GOODWILL - Narrative (Details)", "role": "http://www.xpel.com/role/GOODWILLNarrativeDetails", "shortName": "GOODWILL - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "id322b360e5744285900feeaa1c6d3ab7_D20211001-20211001", "decimals": "INF", "lang": "en-US", "name": "xpel:BusinessCombinationProvisionalInformationInitialAccountingIncompleteNumberOfBusinesses", "reportCount": 1, "unique": true, "unitRef": "business", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2429415 - Disclosure - INVENTORIES (Details)", "role": "http://www.xpel.com/role/INVENTORIESDetails", "shortName": "INVENTORIES (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i20fa4e5843944cbf9ae13036501be9a0_I20220630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2432416 - Disclosure - DEBT - Narrative (Details)", "role": "http://www.xpel.com/role/DEBTNarrativeDetails", "shortName": "DEBT - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i16b4c039dada4b80adbef03deef84efb_D20220101-20220630", "decimals": "INF", "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtInstrumentUnamortizedDiscount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2433417 - Disclosure - DEBT - Schedule of Notes Payable (Details)", "role": "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails", "shortName": "DEBT - Schedule of Notes Payable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDebtTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DebtInstrumentUnamortizedDiscount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableTradeCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2436418 - Disclosure - ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details)", "role": "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails", "shortName": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES - Schedule of Accounts Payable and Accrued Liability (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic2a49011fb704869973cb454cb5df6b9_I20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableTradeCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004005 - Statement - Condensed Consolidated Statements of Comprehensive Income (Unaudited)", "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited", "shortName": "Condensed Consolidated Statements of Comprehensive Income (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:LossContingencyAccrualCarryingValuePeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2439419 - Disclosure - FAIR VALUE MEASUREMENTS (Details)", "role": "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails", "shortName": "FAIR VALUE MEASUREMENTS (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:LossContingencyAccrualCarryingValuePeriodIncreaseDecrease", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2443420 - Disclosure - EARNINGS PER SHARE (Details)", "role": "http://www.xpel.com/role/EARNINGSPERSHAREDetails", "shortName": "EARNINGS PER SHARE (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ie679fb4a33c34a97adc715b5fc942941_D20210101-20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfBusinessesAcquired", "reportCount": 1, "unitRef": "business", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2445421 - Disclosure - ACQUISITIONS OF BUSINESSES - (Details)", "role": "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails", "shortName": "ACQUISITIONS OF BUSINESSES - (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ibee1f0d215e5433fb88eecf6f72ae5a2_D20220401-20220630", "decimals": "-5", "lang": "en-US", "name": "xpel:BusinessAcquisitionProvisionalInformationInitialAccountingIncompleteAdjustmentAmortizationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic3c01dd892aa46608ffb9f48fe623798_I20201231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005006 - Statement - Condensed Consolidated Statements of Changes in Stockholders\u2019 Equity (Unaudited)", "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "shortName": "Condensed Consolidated Statements of Changes in Stockholders\u2019 Equity (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "ic3c01dd892aa46608ffb9f48fe623798_I20201231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006007 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)", "role": "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:GainLossOnSaleOfPropertyPlantEquipment", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101101 - Disclosure - INTERIM FINANCIAL INFORMATION", "role": "http://www.xpel.com/role/INTERIMFINANCIALINFORMATION", "shortName": "INTERIM FINANCIAL INFORMATION", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2102102 - Disclosure - SIGNIFICANT ACCOUNTING POLICIES", "role": "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES", "shortName": "SIGNIFICANT ACCOUNTING POLICIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "xpel-20220630.htm", "contextRef": "i77e5c39aab7f442e8f75416128a398a3_D20220101-20220630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 68, "tag": { "country_CA": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CANADA", "terseLabel": "Canada" } } }, "localname": "CA", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA", "terseLabel": "China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_GB": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED KINGDOM", "terseLabel": "United Kingdom" } } }, "localname": "GB", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r460" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r461" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "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'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "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.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r462" ], "lang": { "en-us": { "role": { "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).", "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r457" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r459" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.xpel.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AsiaPacificMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Asia Pacific [Member]", "terseLabel": "Asia Pacific" } } }, "localname": "AsiaPacificMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Continental Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_LatinAmericaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Latin America [Member]", "terseLabel": "Latin America" } } }, "localname": "LatinAmericaMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r163", "r294", "r300", "r434" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r163", "r294", "r300", "r434" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_OwnershipAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Ownership [Axis]", "terseLabel": "Ownership [Axis]" } } }, "localname": "OwnershipAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "stringItemType" }, "srt_OwnershipDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Ownership [Domain]", "terseLabel": "Ownership [Domain]" } } }, "localname": "OwnershipDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r159", "r212", "r213", "r294", "r298", "r397", "r431", "r432" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r159", "r212", "r213", "r294", "r298", "r397", "r431", "r432" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r160", "r161", "r294", "r299", "r433", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r160", "r161", "r294", "r299", "r433", "r442", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Accounts Payable and Accrued Liabilities, Current", "terseLabel": "Accounts payable and accrued liabilities", "totalLabel": "Accounts payable and accrued liabilities" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails", "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities [Abstract]", "terseLabel": "Accounts Payable and Accrued Liabilities [Abstract]" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesCurrentAndNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "ACCOUNTS PAYABLE AND ACCRUED LIABILITIES" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIES" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent": { "auth_ref": [], "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "order": 4.0, "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Accounts Payable and Other Accrued Liabilities, Current", "terseLabel": "Other liabilities" } } }, "localname": "AccountsPayableAndOtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableTradeCurrent": { "auth_ref": [ "r7", "r37" ], "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Accounts Payable, Trade, Current", "terseLabel": "Trade payables" } } }, "localname": "AccountsPayableTradeCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r164", "r165" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r11", "r205" ], "calculation": { "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "terseLabel": "Less: accumulated depreciation" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r24", "r50", "r51", "r52", "r420", "r439", "r440" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r49", "r52", "r58", "r59", "r60", "r97", "r98", "r99", "r349", "r390", "r435", "r436" ], "lang": { "en-us": { "role": { "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.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r22", "r393" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in-capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r97", "r98", "r99", "r317", "r318", "r319", "r356" ], "lang": { "en-us": { "role": { "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.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in-Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Option, Increase for Cost Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r28", "r170", "r176" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for doubtful accounts included in accounts receivable" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESAccountsReceivableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfDebtDiscountPremium": { "auth_ref": [ "r71", "r82", "r258", "r383" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Amortization of Debt Discount (Premium)", "terseLabel": "Accretion on notes payable" } } }, "localname": "AmortizationOfDebtDiscountPremium", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r82", "r195", "r200" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.xpel.com/role/INTANGIBLEASSETSNETNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r15", "r93", "r142", "r151", "r157", "r174", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r344", "r351", "r367", "r391", "r393", "r402", "r418" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "Assets" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r5", "r36", "r93", "r174", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r344", "r351", "r367", "r391", "r393" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r314", "r315", "r331" ], "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r314", "r315", "r328", "r329", "r331" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessAcquisitionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Business Acquisition [Line Items]", "terseLabel": "Business Acquisition [Line Items]" } } }, "localname": "BusinessAcquisitionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "auth_ref": [ "r81", "r339" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "negatedTerseLabel": "Reduction in contingent liabilities" } } }, "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "auth_ref": [ "r336", "r337", "r338" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.", "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Contingent Liabilities" } } }, "localname": "BusinessCombinationContingentConsiderationLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r332", "r340" ], "lang": { "en-us": { "role": { "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).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "ACQUISITIONS OF BUSINESSES" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSES" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred": { "auth_ref": [ "r330" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to items of consideration transferred in connection with a business combination for which the initial accounting was incomplete.", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred", "negatedLabel": "Reduction in purchase price" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles": { "auth_ref": [ "r330" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to intangibles acquired in connection with a business combination for which the initial accounting was incomplete.", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Intangibles", "negatedTerseLabel": "Business acquisition reduction in net identifiable intangible assets" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsIncurred": { "auth_ref": [ "r86", "r87" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in lease obligation from new lease.", "label": "Lease Obligation Incurred", "terseLabel": "Non-cash lease financing" } } }, "localname": "CapitalLeaseObligationsIncurred", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r9", "r84" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r78", "r84", "r88" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents at end of period", "periodStartLabel": "Cash and cash equivalents at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": { "auth_ref": [ "r78", "r375" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect", "totalLabel": "Net change in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r78", "r375" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Decrease in cash and cash equivalents during the period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]", "terseLabel": "Supplemental schedule of non-cash activities" } } }, "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Change in Contract with Customer, Liability [Abstract]" } } }, "localname": "ChangeInContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r46", "r408", "r424" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Commitments and Contingencies", "terseLabel": "Commitments and Contingencies (Note 11)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r208", "r209", "r210", "r214", "r444" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "COMMITMENTS AND CONTINGENCIES" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/COMMITMENTSANDCONTINGENCIES" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r97", "r98", "r356" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r20" ], "lang": { "en-us": { "role": { "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.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r20", "r269" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)", "terseLabel": "Common stock shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r20", "r393" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock, $0.001 par value; 100,000,000 shares authorized; 27,612,597 issued and outstanding" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r54", "r56", "r57", "r64", "r411", "r427" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Total comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computer equipment" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r132", "r133", "r163", "r365", "r366", "r443" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r132", "r133", "r163", "r365", "r366", "r441", "r443" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r132", "r133", "r163", "r365", "r366", "r441", "r443" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r132", "r133", "r163", "r365", "r366" ], "lang": { "en-us": { "role": { "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.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r132", "r133", "r163", "r365", "r366", "r443" ], "lang": { "en-us": { "role": { "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.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Construction in Progress [Member]", "terseLabel": "Construction in Progress" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r277" ], "lang": { "en-us": { "role": { "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.", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Schedule of Transactions Within Contract Liabilities" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUETables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r275", "r276", "r295" ], "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "order": 3.0, "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "periodEndLabel": "Ending contract liabilities", "periodStartLabel": "Beginning contract liabilities", "terseLabel": "Contract liabilities" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails", "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r296" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "negatedLabel": "Revenue recognized related to payments included in the beginning balance" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r69", "r397" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Cost of Goods and Services Sold", "terseLabel": "Total cost of sales" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSoldAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold [Abstract]", "terseLabel": "Cost of Sales" } } }, "localname": "CostOfGoodsAndServicesSoldAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]", "terseLabel": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r131", "r163" ], "lang": { "en-us": { "role": { "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.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r335" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Contractual and customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]", "terseLabel": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r91", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r252", "r259", "r260", "r262", "r267" ], "lang": { "en-us": { "role": { "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.", "label": "Debt Disclosure [Text Block]", "terseLabel": "DEBT" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBT" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r16", "r17", "r18", "r92", "r95", "r235", "r236", "r237", "r238", "r239", "r240", "r242", "r248", "r249", "r250", "r251", "r253", "r254", "r255", "r256", "r257", "r258", "r263", "r264", "r265", "r266", "r386", "r403", "r404", "r417" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]", "terseLabel": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on prime rate" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Debt Instrument [Line Items]", "terseLabel": "Debt Instrument [Line Items]" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r44", "r92", "r95", "r235", "r236", "r237", "r238", "r239", "r240", "r242", "r248", "r249", "r250", "r251", "r253", "r254", "r255", "r256", "r257", "r258", "r263", "r264", "r265", "r266", "r386" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.", "label": "Debt Instrument, Name [Domain]", "terseLabel": "Debt Instrument, Name [Domain]" } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentPeriodicPaymentInterest": { "auth_ref": [ "r44" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the required periodic payments applied to interest.", "label": "Debt Instrument, Periodic Payment, Interest", "terseLabel": "Interest payment" } } }, "localname": "DebtInstrumentPeriodicPaymentInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r44", "r92", "r95", "r235", "r236", "r237", "r238", "r239", "r240", "r242", "r248", "r249", "r250", "r251", "r253", "r254", "r255", "r256", "r257", "r258", "r261", "r263", "r264", "r265", "r266", "r270", "r271", "r272", "r273", "r383", "r384", "r386", "r387", "r416" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-Term Debt Instruments [Table]", "terseLabel": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentUnamortizedDiscount": { "auth_ref": [ "r248", "r383", "r387" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of debt discount.", "label": "Debt Instrument, Unamortized Discount", "negatedTerseLabel": "Unamortized discount" } } }, "localname": "DebtInstrumentUnamortizedDiscount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtWeightedAverageInterestRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate of debt outstanding.", "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted Average Interest Rate" } } }, "localname": "DebtWeightedAverageInterestRate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r320", "r321" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liability, net" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "auth_ref": [ "r83" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) and income tax credits.", "label": "Deferred Income Taxes and Tax Credits", "terseLabel": "Deferred income tax" } } }, "localname": "DeferredIncomeTaxesAndTaxCredits", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r82", "r203" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Depreciation", "terseLabel": "Depreciation of property, plant and equipment", "verboseLabel": "Depreciation expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "http://www.xpel.com/role/REVENUENarrativeDetails", "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r294", "r298", "r299", "r300", "r301", "r302", "r303", "r304" ], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "http://www.xpel.com/role/REVENUENarrativeDetails", "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r294" ], "lang": { "en-us": { "role": { "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.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUETables" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r65", "r102", "r103", "r104", "r105", "r106", "r110", "r112", "r117", "r118", "r119", "r123", "r124", "r357", "r358", "r412", "r428" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r65", "r102", "r103", "r104", "r105", "r106", "r112", "r117", "r118", "r119", "r123", "r124", "r357", "r358", "r412", "r428" ], "lang": { "en-us": { "role": { "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.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r120", "r121", "r122", "r125" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "EARNINGS PER SHARE" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHARE" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r375" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "terseLabel": "Foreign exchange impact on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r42" ], "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Employee-related Liabilities, Current", "terseLabel": "Payroll liabilities" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services.", "label": "Equipment [Member]", "terseLabel": "Equipment" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r58", "r59", "r60", "r97", "r98", "r99", "r101", "r107", "r109", "r126", "r175", "r269", "r274", "r317", "r318", "r319", "r323", "r324", "r356", "r376", "r377", "r378", "r379", "r380", "r381", "r390", "r435", "r436", "r437" ], "lang": { "en-us": { "role": { "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.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r250", "r263", "r264", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r360", "r394", "r395", "r396" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r359", "r360", "r361", "r362", "r364" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r363" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "FAIR VALUE MEASUREMENTS" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTS" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r250", "r263", "r264", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r360", "r396" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Fair Value, Inputs, Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r359", "r360" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of Fair Value, Liabilities Measured on Recurring Basis" } } }, "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r250", "r263", "r264", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r394", "r395", "r396" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r363", "r364" ], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOptionQuantitativeDisclosuresLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Fair Value, Option, Quantitative Disclosures [Line Items]", "terseLabel": "Fair Value, Option, Quantitative Disclosures [Line Items]" } } }, "localname": "FairValueOptionQuantitativeDisclosuresLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueOptionQuantitativeDisclosuresTable": { "auth_ref": [ "r368", "r369", "r370" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value under fair value option.", "label": "Fair Value Option, Disclosures [Table]", "terseLabel": "Fair Value Option, Disclosures [Table]" } } }, "localname": "FairValueOptionQuantitativeDisclosuresTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r13", "r199" ], "calculation": { "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Less: Accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r196", "r197", "r199", "r201", "r398", "r399" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r199", "r399" ], "calculation": { "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Total cost" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r196", "r198" ], "lang": { "en-us": { "role": { "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.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r199", "r398" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "auth_ref": [ "r371", "r372", "r373", "r374" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.", "label": "Foreign Currency Transaction Gain (Loss), before Tax", "negatedTerseLabel": "Foreign currency exchange (gain) loss" } } }, "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Furniture and Fixtures [Member]", "terseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r82" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedTerseLabel": "Gain on sale of property and equipment, net" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r70" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "General and Administrative Expense", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r12", "r180", "r181", "r188", "r193", "r393", "r401" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill", "periodEndLabel": "Goodwill ending balance", "periodStartLabel": "Goodwill beginning balance", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r182", "r193" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill, Acquired During Period", "terseLabel": "Additions" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_GoodwillDisclosureTextBlock": { "auth_ref": [ "r189", "r191", "r193", "r194" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for goodwill.", "label": "Goodwill Disclosure [Text Block]", "terseLabel": "GOODWILL" } } }, "localname": "GoodwillDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/GOODWILL" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r186" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign Exchange" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "auth_ref": [ "r187", "r327" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Goodwill, Purchase Accounting Adjustments", "negatedTerseLabel": "Reduction in estimate of goodwill", "terseLabel": "Open period adjustments for 2021 acquisitions not yet finalized" } } }, "localname": "GoodwillPurchaseAccountingAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails", "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]", "terseLabel": "Goodwill [Roll Forward]" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/GOODWILLScheduleofGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r67", "r93", "r142", "r150", "r153", "r156", "r158", "r174", "r224", "r225", "r226", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r367" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross Margin" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r62", "r142", "r150", "r153", "r156", "r158", "r400", "r409", "r414", "r429" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_ProfitLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r94", "r108", "r109", "r141", "r322", "r325", "r326", "r430" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_ProfitLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Income tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r85" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesReceivable": { "auth_ref": [ "r21", "r406", "r425" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying amount due within one year of the balance sheet date (or one operating cycle, if longer) from tax authorities as of the balance sheet date representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes.", "label": "Income Taxes Receivable, Current", "terseLabel": "Income tax receivable" } } }, "localname": "IncomeTaxesReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r81" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Accounts Payable and Accrued Liabilities", "terseLabel": "Accounts payable and accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r81" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Accounts Receivable", "negatedTerseLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable": { "auth_ref": [ "r81" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Income Taxes Payable, Net of Income Taxes Receivable", "terseLabel": "Income tax receivable and payable" } } }, "localname": "IncreaseDecreaseInIncomeTaxesPayableNetOfIncomeTaxesReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r81" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Inventories", "negatedTerseLabel": "Inventory, net" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r81" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedTerseLabel": "Prepaid expenses and other assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r113", "r114", "r115", "r119", "r316" ], "lang": { "en-us": { "role": { "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.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Dilutive effect of restricted stock units (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r202" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "INTANGIBLE ASSETS, NET" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNET" ], "xbrltype": "textBlockItemType" }, "us-gaap_InterestExpense": { "auth_ref": [ "r61", "r140", "r382", "r385", "r413" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.", "label": "Interest Expense", "terseLabel": "Interest expense" } } }, "localname": "InterestExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r76", "r79", "r85" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]", "terseLabel": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r179" ], "lang": { "en-us": { "role": { "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.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "INVENTORIES" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INVENTORIES" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r29", "r178" ], "calculation": { "http://www.xpel.com/role/INVENTORIESDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INVENTORIESDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r4", "r35", "r393" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.xpel.com/role/INVENTORIESDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventory, net", "totalLabel": "Inventory, net" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/INVENTORIESDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r31", "r178" ], "calculation": { "http://www.xpel.com/role/INVENTORIESDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INVENTORIESDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r30", "r178" ], "calculation": { "http://www.xpel.com/role/INVENTORIESDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work in process" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INVENTORIESDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r204" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r41", "r93", "r152", "r174", "r224", "r225", "r226", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r345", "r351", "r352", "r367", "r391", "r392" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities [Abstract]", "terseLabel": "Liabilities" } } }, "localname": "LiabilitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r27", "r93", "r174", "r367", "r393", "r405", "r422" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r6", "r43", "r93", "r174", "r224", "r225", "r226", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r345", "r351", "r352", "r367", "r391", "r392", "r393" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r18", "r404", "r417" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Long-Term Line of Credit", "terseLabel": "Amount outstanding" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r39", "r92" ], "lang": { "en-us": { "role": { "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.", "label": "Lender Name [Axis]", "terseLabel": "Lender Name [Axis]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityInterestRateAtPeriodEnd": { "auth_ref": [ "r39" ], "lang": { "en-us": { "role": { "documentation": "The effective interest rate at the end of the reporting period.", "label": "Line of Credit Facility, Interest Rate at Period End", "terseLabel": "Interest rate" } } }, "localname": "LineOfCreditFacilityInterestRateAtPeriodEnd", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r39", "r92" ], "lang": { "en-us": { "role": { "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.", "label": "Line of Credit Facility, Lender [Domain]", "terseLabel": "Line of Credit Facility, Lender [Domain]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Line of Credit Facility [Line Items]", "terseLabel": "Line of Credit Facility [Line Items]" } } }, "localname": "LineOfCreditFacilityLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r39" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Maximum borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityTable": { "auth_ref": [ "r39", "r92" ], "lang": { "en-us": { "role": { "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.", "label": "Line of Credit Facility [Table]", "terseLabel": "Line of Credit Facility [Table]" } } }, "localname": "LineOfCreditFacilityTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.", "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Line of credit facility, unused capacity, commitment fee percentage" } } }, "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LineOfCreditMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Line of Credit [Member]", "terseLabel": "Line of Credit" } } }, "localname": "LineOfCreditMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermLineOfCredit": { "auth_ref": [ "r44", "r221", "r222" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Long-Term Line of Credit, Noncurrent", "terseLabel": "Borrowings on line of credit" } } }, "localname": "LongTermLineOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermNotesPayable": { "auth_ref": [ "r44" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of notes payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.", "label": "Notes Payable, Noncurrent", "terseLabel": "Non-current portion of notes payable", "verboseLabel": "Total long-term debt" } } }, "localname": "LongTermNotesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r44" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-Term Debt, Type [Axis]", "terseLabel": "Long-term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r44", "r223" ], "lang": { "en-us": { "role": { "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.", "label": "Long-Term Debt, Type [Domain]", "terseLabel": "Long-term Debt, Type [Domain]" } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LossContingencyAccrualCarryingValuePeriodIncreaseDecrease": { "auth_ref": [ "r211" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in loss contingency liability.", "label": "Loss Contingency Accrual, Period Increase (Decrease)", "negatedTerseLabel": "Contingent liability, period decrease" } } }, "localname": "LossContingencyAccrualCarryingValuePeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/FAIRVALUEMEASUREMENTSDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MinorityInterestLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Noncontrolling Interest [Line Items]", "terseLabel": "Noncontrolling Interest [Line Items]" } } }, "localname": "MinorityInterestLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MinorityInterestOwnershipPercentageByParent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage.", "label": "Noncontrolling Interest, Ownership Percentage by Parent", "terseLabel": "Ownership percentage" } } }, "localname": "MinorityInterestOwnershipPercentageByParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_MinorityInterestTable": { "auth_ref": [ "r48", "r68", "r341", "r350" ], "lang": { "en-us": { "role": { "documentation": "Schedule of noncontrolling interest disclosure which includes the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.", "label": "Noncontrolling Interest [Table]", "terseLabel": "Noncontrolling Interest [Table]" } } }, "localname": "MinorityInterestTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInDeferredRevenueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Deferred Revenue [Roll Forward]", "terseLabel": "Movement in Deferred Revenue [Roll Forward]" } } }, "localname": "MovementInDeferredRevenueRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInStandardProductWarrantyAccrualRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard Product Warranty Accrual [Roll Forward]", "terseLabel": "Movement in Standard Product Warranty Accrual [Roll Forward]" } } }, "localname": "MovementInStandardProductWarrantyAccrualRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r78" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash used in provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r78" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "terseLabel": "Cash flows used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r78", "r80", "r83" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "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.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash (used in) provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Cash flows from operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r53", "r55", "r60", "r63", "r83", "r93", "r100", "r102", "r103", "r104", "r105", "r108", "r109", "r116", "r142", "r150", "r153", "r156", "r158", "r174", "r224", "r225", "r226", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r358", "r367", "r410", "r426" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "verboseLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]", "terseLabel": "Numerator" } } }, "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements Issued and Not Yet Adopted" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r334" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]", "terseLabel": "Non-compete" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NotesPayable": { "auth_ref": [ "r18", "r404", "r419" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Including the current and noncurrent portions, aggregate carrying amount of all types of notes payable, as of the balance sheet date, with initial maturities beyond one year or beyond the normal operating cycle, if longer.", "label": "Notes Payable", "verboseLabel": "Face value of acquisition notes payable" } } }, "localname": "NotesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesPayableCurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Notes Payable, Current", "negatedLabel": "Current portion", "terseLabel": "Current portion of notes payable" } } }, "localname": "NotesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfBusinessesAcquired": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of businesses acquired by the entity during the period.", "label": "Number of Businesses Acquired", "terseLabel": "Number of businesses acquired" } } }, "localname": "NumberOfBusinessesAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails", "http://www.xpel.com/role/GOODWILLNarrativeDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r137" ], "lang": { "en-us": { "role": { "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.", "label": "Number of Operating Segments", "terseLabel": "Number of operating segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESSegmentReportingDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating Expenses" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r142", "r150", "r153", "r156", "r158" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating Income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r389" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r389" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Non-current portion of lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r388" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use lease assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r2", "r355" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "INTERIM FINANCIAL INFORMATION" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTERIMFINANCIALINFORMATION" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r14" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other non-current assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r342", "r343", "r348" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Foreign currency translation" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive income" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofComprehensiveIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OtherIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intangible assets classified as other.", "label": "Other Intangible Assets [Member]", "terseLabel": "Other" } } }, "localname": "OtherIntangibleAssetsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r45" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "terseLabel": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r73" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedTerseLabel": "Acquisition of a business, net of cash acquired" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "auth_ref": [ "r74" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.", "label": "Payments to Acquire Intangible Assets", "negatedTerseLabel": "Development of intangible assets" } } }, "localname": "PaymentsToAcquireIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r74" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedTerseLabel": "Purchase of property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r19", "r268" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r19", "r268" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r19" ], "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r19", "r393" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, $0.001 par value; authorized 10,000,000; none issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r36" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrimeRateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.", "label": "Prime Rate [Member]", "terseLabel": "Prime Rate" } } }, "localname": "PrimeRateMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromRepaymentsOfLinesOfCredit": { "auth_ref": [], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Proceeds from (Repayments of) Lines of Credit", "terseLabel": "Net borrowings on revolving credit agreement" } } }, "localname": "ProceedsFromRepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r72" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of property and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductMember": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Article or substance produced by nature, labor or machinery.", "label": "Product [Member]", "terseLabel": "Product" } } }, "localname": "ProductMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r218", "r219", "r407" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Warranty liability, ending balance", "periodStartLabel": "Warranty liability, beginning balance", "terseLabel": "Warranty liability" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r215" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedLabel": "Payments" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r216" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Warranties assumed in period" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESProvisionsandWarrantiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r1", "r53", "r55", "r60", "r77", "r93", "r100", "r108", "r109", "r142", "r150", "r153", "r156", "r158", "r174", "r224", "r225", "r226", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r342", "r346", "r347", "r353", "r354", "r358", "r367", "r414" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income", "totalLabel": "Net income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]", "terseLabel": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r206" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r207", "r445", "r446", "r447" ], "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "PROPERTY AND EQUIPMENT, NET" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNET" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r10", "r204" ], "calculation": { "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Total property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r206", "r393", "r415", "r423" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r206" ], "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r204" ], "lang": { "en-us": { "role": { "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.", "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r66", "r177" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "terseLabel": "Bad debt expense" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfNotesPayable": { "auth_ref": [ "r75" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.", "label": "Repayments of Notes Payable", "negatedTerseLabel": "Repayments of notes payable" } } }, "localname": "RepaymentsOfNotesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfSecuredDebt": { "auth_ref": [ "r75" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to repay long-term debt that is wholly or partially secured by collateral. Excludes repayments of tax exempt secured debt.", "label": "Repayments of Secured Debt", "negatedTerseLabel": "Repayments on term loan" } } }, "localname": "RepaymentsOfSecuredDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r23", "r274", "r393", "r421", "r438", "r440" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r97", "r98", "r99", "r101", "r107", "r109", "r175", "r317", "r318", "r319", "r323", "r324", "r356", "r435", "r437" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r138", "r139", "r149", "r154", "r155", "r159", "r160", "r163", "r293", "r294", "r397" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails", "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r132", "r163" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer Benchmark [Member]", "terseLabel": "Revenue from Contract with Customer Benchmark" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r90", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292", "r305" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Revenue recognition" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r297", "r305" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "REVENUE" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUE" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r162" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Schedule of Revenue Estimate by Geographic Areas" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/REVENUETables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of Accounts Payable and Accrued Liabilities" } } }, "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "auth_ref": [ "r328", "r329", "r331" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfDebtTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.", "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Schedule of Notes Payable" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r119" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHARETables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r196", "r198", "r398" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r196", "r198" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r181", "r182", "r183", "r184", "r185", "r186", "r187", "r188", "r189", "r190", "r192", "r193" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of Goodwill" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/GOODWILLTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r8", "r32", "r33", "r34" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INVENTORIESTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A tabular presentation of the information summarizing investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates, as prescribed by the SEC. It reflects specified information about ownership, financial results from, and financial position in such entities. Includes the tabular presentations that disaggregate investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates.", "label": "Schedule of Investments in and Advances to Affiliates, Schedule of Investments [Table Text Block]", "terseLabel": "Schedule of Ownership Interests and Functional Currencies" } } }, "localname": "ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r220" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Schedule of Product Warranty Liability" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r206" ], "lang": { "en-us": { "role": { "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.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r143", "r144", "r145", "r146", "r147", "r148", "r160" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segment Reporting" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ServiceMember": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service.", "label": "Service [Member]", "terseLabel": "Service" } } }, "localname": "ServiceMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r81" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r89", "r96" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "terseLabel": "SIGNIFICANT ACCOUNTING POLICIES" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIES" ], "xbrltype": "textBlockItemType" }, "us-gaap_SoftwareDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Internally developed software for sale, licensing or long-term internal use.", "label": "Software Development [Member]", "terseLabel": "Software" } } }, "localname": "SoftwareDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StandardProductWarrantyPolicy": { "auth_ref": [ "r217" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.", "label": "Standard Product Warranty, Policy [Policy Text Block]", "terseLabel": "Provisions and Warranties" } } }, "localname": "StandardProductWarrantyPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r47", "r58", "r59", "r60", "r97", "r98", "r99", "r101", "r107", "r109", "r126", "r175", "r269", "r274", "r317", "r318", "r319", "r323", "r324", "r356", "r376", "r377", "r378", "r379", "r380", "r381", "r390", "r435", "r436", "r437" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]", "terseLabel": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r97", "r98", "r99", "r126", "r397" ], "lang": { "en-us": { "role": { "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.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited", "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r20", "r25", "r26", "r93", "r172", "r174", "r367", "r393" ], "calculation": { "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets", "http://www.xpel.com/role/CondensedConsolidatedStatementsofChangesinStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders\u2019 equity" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental cash flow information" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r166", "r167", "r168", "r169", "r171", "r173" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Accounts Receivable [Policy Text Block]", "terseLabel": "Accounts Receivable" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r333" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade names" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r333" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]", "terseLabel": "Trademarks" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/INTANGIBLEASSETSNETScheduleofIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r127", "r128", "r129", "r130", "r134", "r135", "r136" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableRateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of variable rate.", "label": "Variable Rate [Axis]", "terseLabel": "Variable Rate [Axis]" } } }, "localname": "VariableRateAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VariableRateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.", "label": "Variable Rate [Domain]", "terseLabel": "Variable Rate [Domain]" } } }, "localname": "VariableRateDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_VehiclesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment used primarily for road transportation.", "label": "Vehicles [Member]", "terseLabel": "Vehicles" } } }, "localname": "VehiclesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r111", "r119" ], "lang": { "en-us": { "role": { "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.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "verboseLabel": "Weighted average diluted shares (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r110", "r119" ], "lang": { "en-us": { "role": { "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.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average basic shares (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Denominator" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "stringItemType" }, "xpel_A1716808AlbertaLtdOaShadowTintMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "1716808 Alberta, Ltd. o/a Shadow Tint", "label": "1716808 Alberta, Ltd. o/a Shadow Tint [Member]", "terseLabel": "1716808 Alberta, Ltd. o/a Shadow Tint" } } }, "localname": "A1716808AlbertaLtdOaShadowTintMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_A1OneArmorIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "1 One Armor, Inc.", "label": "1 One Armor, Inc. [Member]", "terseLabel": "1 One Armor, Inc." } } }, "localname": "A1OneArmorIncMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_A6873391CanadaLtdOaShadowShieldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "6873391 Canada, Ltd. o/a Shadow Shield", "label": "6873391 Canada, Ltd. o/a Shadow Shield [Member]", "terseLabel": "6873391 Canada, Ltd. o/a Shadow Shield" } } }, "localname": "A6873391CanadaLtdOaShadowShieldMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_AcquisitionHoldbackPaymentsCurrent": { "auth_ref": [], "calculation": { "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails": { "order": 5.0, "parentTag": "us-gaap_AccountsPayableAndAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Acquisition Holdback Payments, Current", "label": "Acquisition Holdback Payments, Current", "terseLabel": "Acquisition holdback payments" } } }, "localname": "AcquisitionHoldbackPaymentsCurrent", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/ACCOUNTSPAYABLEANDACCRUEDLIABILITIESScheduleofAccountsPayableandAccruedLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "xpel_AcquisitionNotesPayableDue2023Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Acquisition Notes Payable Due 2023 [Member]", "label": "Acquisition Notes Payable Due 2023 [Member]", "terseLabel": "Face value of acquisition notes payable" } } }, "localname": "AcquisitionNotesPayableDue2023Member", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTScheduleofNotesPayableDetails" ], "xbrltype": "domainItemType" }, "xpel_ApogeeCorp.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Apogee Corp. [Member]", "label": "Apogee Corp. [Member]", "terseLabel": "Apogee Corp." } } }, "localname": "ApogeeCorp.Member", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_BusinessAcquisitionProvisionalInformationInitialAccountingIncompleteAdjustmentAmortizationExpense": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Amortization Expense", "label": "Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Amortization Expense", "terseLabel": "Business acquisition reduction in amortization expense" } } }, "localname": "BusinessAcquisitionProvisionalInformationInitialAccountingIncompleteAdjustmentAmortizationExpense", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "monetaryItemType" }, "xpel_BusinessAcquisitionProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiabilities": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Deferred Tax Liabilities", "label": "Business Acquisition Provisional Information Initial Accounting Incomplete Adjustment Deferred Tax Liabilities", "negatedTerseLabel": "Business acquisition reduction in deferred tax liabilities" } } }, "localname": "BusinessAcquisitionProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiabilities", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails" ], "xbrltype": "monetaryItemType" }, "xpel_BusinessCombinationProvisionalInformationInitialAccountingIncompleteNumberOfBusinesses": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Business Combination, Provisional Information, Initial Accounting Incomplete, Number Of Businesses", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Number Of Businesses", "terseLabel": "Number of businesses for which purchase price remain preliminary" } } }, "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteNumberOfBusinesses", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/GOODWILLNarrativeDetails" ], "xbrltype": "integerItemType" }, "xpel_ComputerEquipmentPlotterMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Computer Equipment, Plotter [Member]", "label": "Computer Equipment, Plotter [Member]", "terseLabel": "Plotters" } } }, "localname": "ComputerEquipmentPlotterMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/PROPERTYANDEQUIPMENTNETScheduleofPropertyPlantandEquipmentDetails" ], "xbrltype": "domainItemType" }, "xpel_ContractWithCustomerLiabilityForeignCurrencyTranslation": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Contract with Customer, Liability, Foreign Currency Translation", "label": "Contract with Customer, Liability, Foreign Currency Translation", "negatedTerseLabel": "Effect of foreign currency translation" } } }, "localname": "ContractWithCustomerLiabilityForeignCurrencyTranslation", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "xpel_ContractWithCustomerLiabilityIncreaseFromCashReceipts": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Contract With Customer, Liability, Increase From Cash Receipts", "label": "Contract With Customer, Liability, Increase From Cash Receipts", "terseLabel": "Payments received for which performance obligations have not been satisfied" } } }, "localname": "ContractWithCustomerLiabilityIncreaseFromCashReceipts", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUETransactionsWithinContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "xpel_DebtInstrumentCovenantDebtServiceCoverageRatioRequiredMinimum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Covenant, Debt Service Coverage Ratio Required, Minimum", "label": "Debt Instrument, Covenant, Debt Service Coverage Ratio Required, Minimum", "terseLabel": "Covenant, debt service coverage ratio required, minimum" } } }, "localname": "DebtInstrumentCovenantDebtServiceCoverageRatioRequiredMinimum", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "pureItemType" }, "xpel_DebtInstrumentCovenantFundedDebtToEBITDARatioMaximum": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Covenant, Funded Debt To EBITDA Ratio, Maximum", "label": "Debt Instrument, Covenant, Funded Debt To EBITDA Ratio, Maximum", "terseLabel": "Debt instrument, covenant, funded debt to EBITDA ratio, maximum" } } }, "localname": "DebtInstrumentCovenantFundedDebtToEBITDARatioMaximum", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "pureItemType" }, "xpel_DebtInstrumentEBITDARatio": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, EBITDA Ratio", "label": "Debt Instrument, EBITDA Ratio", "terseLabel": "Debt instrument, EBITDA ratio (equal or less than)" } } }, "localname": "DebtInstrumentEBITDARatio", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "decimalItemType" }, "xpel_DebtInstrumentNumberOfCovenants": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Debt Instrument, Number Of Covenants", "label": "Debt Instrument, Number Of Covenants", "terseLabel": "Number of covenants" } } }, "localname": "DebtInstrumentNumberOfCovenants", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "integerItemType" }, "xpel_EarningsLossPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Earnings (Loss) Per Share", "label": "Earnings (Loss) Per Share [Abstract]", "terseLabel": "Earnings per share" } } }, "localname": "EarningsLossPerShareAbstract", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited", "http://www.xpel.com/role/EARNINGSPERSHAREDetails" ], "xbrltype": "stringItemType" }, "xpel_EarningsPerShareBasicAndDilutedOtherDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Earnings Per Share, Basic and Diluted, Other Disclosure", "label": "Earnings Per Share, Basic and Diluted, Other Disclosure [Abstract]", "terseLabel": "Weighted Average Number of Common Shares" } } }, "localname": "EarningsPerShareBasicAndDilutedOtherDisclosureAbstract", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/CondensedConsolidatedStatementsofIncomeUnaudited" ], "xbrltype": "stringItemType" }, "xpel_HSBCBankCanadaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "HSBC Bank Canada [Member]", "label": "HSBC Bank Canada [Member]", "terseLabel": "HSBC Bank Canada" } } }, "localname": "HSBCBankCanadaMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "xpel_InvisiFRAMELtdMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "invisiFRAME, Ltd.", "label": "invisiFRAME, Ltd. [Member]", "terseLabel": "invisiFRAME, Ltd." } } }, "localname": "InvisiFRAMELtdMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/ACQUISITIONSOFBUSINESSESDetails", "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_LargestCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Largest Customer [Member]", "label": "Largest Customer [Member]", "terseLabel": "Largest Customers" } } }, "localname": "LargestCustomerMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUENarrativeDetails" ], "xbrltype": "domainItemType" }, "xpel_MiddleEastAfricaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Middle East, Africa [Member]", "label": "Middle East, Africa [Member]", "terseLabel": "Middle East/Africa" } } }, "localname": "MiddleEastAfricaMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "xpel_North1TechnologiesIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "North 1 Technologies, Inc.", "label": "North 1 Technologies, Inc. [Member]", "terseLabel": "North 1 Technologies, Inc." } } }, "localname": "North1TechnologiesIncMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_OtherGeographicRegionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other Geographic Region [Member]", "label": "Other Geographic Region [Member]", "terseLabel": "Other" } } }, "localname": "OtherGeographicRegionMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUERevenueEstimateByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "xpel_PermaPlateFilmLLCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "PermaPlate Film LLC", "label": "PermaPlate Film LLC [Member]", "terseLabel": "PermaPlate Film, LLC" } } }, "localname": "PermaPlateFilmLLCMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_ProductRevenueOtherMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product, Other [Member]", "label": "Product Revenue, Other [Member]", "terseLabel": "Other" } } }, "localname": "ProductRevenueOtherMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_ProductRevenuePaintProtectionFilmMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product, Paint Protection Film [Member]", "label": "Product Revenue, Paint Protection Film [Member]", "terseLabel": "Paint protection film" } } }, "localname": "ProductRevenuePaintProtectionFilmMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_ProductRevenueWindowFilmMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product, Window Film [Member]", "label": "Product Revenue, Window Film [Member]", "terseLabel": "Window film" } } }, "localname": "ProductRevenueWindowFilmMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_ProtexCanadaInc.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Protex Canada, Inc. [Member]", "label": "Protex Canada, Inc. [Member]", "terseLabel": "Protex Canada, Inc." } } }, "localname": "ProtexCanadaInc.Member", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_ScenarioOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Scenario One", "label": "Scenario One [Member]", "terseLabel": "Scenario One" } } }, "localname": "ScenarioOneMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "xpel_ScenarioTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Scenario Two", "label": "Scenario Two [Member]", "terseLabel": "Scenario Two" } } }, "localname": "ScenarioTwoMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "xpel_ServiceRevenueCutbankCreditsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Service, Cutbank Credits [Member]", "label": "Service Revenue, Cutbank Credits [Member]", "terseLabel": "Cutbank credits" } } }, "localname": "ServiceRevenueCutbankCreditsMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_ServiceRevenueInstallationLaborMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Service, Installation Labor [Member]", "label": "Service Revenue, Installation Labor [Member]", "terseLabel": "Installation labor" } } }, "localname": "ServiceRevenueInstallationLaborMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_ServiceRevenueOtherMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Service Revenue, Other", "label": "Service Revenue, Other [Member]", "terseLabel": "Other" } } }, "localname": "ServiceRevenueOtherMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_ServiceRevenueSoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Service, Software [Member]", "label": "Service Revenue, Software [Member]", "terseLabel": "Software" } } }, "localname": "ServiceRevenueSoftwareMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_ServiceRevenueTrainingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Service, Training [Member]", "label": "Service Revenue, Training [Member]", "terseLabel": "Training" } } }, "localname": "ServiceRevenueTrainingMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/REVENUEDisaggregationofRevenueDetails" ], "xbrltype": "domainItemType" }, "xpel_TexasPartnersBankMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Texas Partners Bank", "label": "Texas Partners Bank [Member]", "terseLabel": "Texas Partners Bank" } } }, "localname": "TexasPartnersBankMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "xpel_TintNetIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "TintNet, Inc.", "label": "TintNet, Inc. [Member]", "terseLabel": "TintNet, Inc." } } }, "localname": "TintNetIncMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_VariableRateComponentAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Variable Rate Component", "label": "Variable Rate Component [Axis]", "terseLabel": "Variable Rate Component [Axis]" } } }, "localname": "VariableRateComponentAxis", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "stringItemType" }, "xpel_VariableRateComponentDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "VariableRateComponentAxis [Domain]", "label": "Variable Rate Component [Domain]", "terseLabel": "Variable Rate Component [Domain]" } } }, "localname": "VariableRateComponentDomain", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/DEBTNarrativeDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELAcquisitionCorp.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL Acquisition Corp. [Member]", "label": "XPEL Acquisition Corp. [Member]", "terseLabel": "XPEL Acquisition Corp." } } }, "localname": "XPELAcquisitionCorp.Member", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELB.VMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL B.V [Member]", "label": "XPEL B.V [Member]", "terseLabel": "XPEL B.V." } } }, "localname": "XPELB.VMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELCanadaCorp.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL Canada Corp. [Member]", "label": "XPEL Canada Corp. [Member]", "terseLabel": "XPEL Canada Corp." } } }, "localname": "XPELCanadaCorp.Member", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELDeMexicoS.DeR.L.DeC.V.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL De Mexico S. De R.L. De C.V. [Member]", "label": "XPEL De Mexico S. De R.L. De C.V. [Member]", "terseLabel": "XPEL de Mexico S. de R.L. de C.V." } } }, "localname": "XPELDeMexicoS.DeR.L.DeC.V.Member", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELFranceMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL France", "label": "XPEL France [Member]", "terseLabel": "XPEL France" } } }, "localname": "XPELFranceMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELGermanyGmbHMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL Germany GmbH [Member]", "label": "XPEL Germany GmbH [Member]", "terseLabel": "XPEL Germany GmbH" } } }, "localname": "XPELGermanyGmbHMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELLtd.Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL, Ltd. [Member]", "label": "XPEL, Ltd. [Member]", "terseLabel": "XPEL, Ltd." } } }, "localname": "XPELLtd.Member", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELSlovakiaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL Slovakia", "label": "XPEL Slovakia [Member]", "terseLabel": "XPEL Slovakia" } } }, "localname": "XPELSlovakiaMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" }, "xpel_XPELSpainMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "XPEL Spain", "label": "XPEL Spain [Member]", "terseLabel": "XPEL Spain" } } }, "localname": "XPELSpainMember", "nsuri": "http://www.xpel.com/20220630", "presentation": [ "http://www.xpel.com/role/SIGNIFICANTACCOUNTINGPOLICIESOwnershipPercentagesandFunctionalCurrenciesDetails" ], "xbrltype": "domainItemType" } }, "unitCount": 8 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258" }, "r125": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org/topic&trid=2144383" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8864-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r179": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268" }, "r194": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/subtopic&trid=2144439" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r2": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org/topic&trid=2122149" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r202": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/subtopic&trid=2144471" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r207": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org/topic&trid=2155823" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org/topic&trid=2144648" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751" }, "r214": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=99376301&loc=d3e1314-112600" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=99376301&loc=d3e1336-112600" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612" }, "r267": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org/topic&trid=2208564" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130561-203045" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130563-203045" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130564-203045" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130566-203045" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046" }, "r305": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org/topic&trid=49130388" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123586518&loc=d3e961-128460" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=SL65897772-128472" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "25", "SubTopic": "30", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126966325&loc=d3e6819-128478" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e6927-128479" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=126975305&loc=d3e7008-128479" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "https://asc.fasb.org/topic&trid=2303972" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4568740-111683" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686" }, "r355": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org/topic&trid=2197479" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14172-108612" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14210-108612" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14217-108612" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=126980362&loc=d3e28228-110885" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "35", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123602790&loc=d3e30226-110892" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=125521441&loc=d3e30690-110894" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=124440516&loc=d3e30840-110895" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28555-108399" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.10)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.9)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(16))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.5(c))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r457": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r458": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r459": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r461": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r462": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(210.5-03(11))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.19)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.8)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4304-108586" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4313-108586" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18726-107790" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690" }, "r96": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" } }, "version": "2.1" } ZIP 71 0001767258-22-000048-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001767258-22-000048-xbrl.zip M4$L#!!0 ( !5 "56 IT<>"P@ %\F 7 83(P,C)Q,F5X:&EB:71N M;S,Q,2YH=&WM6FUOVS@2_GZ_@NOBN@G@%\EV-HF3!D@=%S602[*I%^U^.M#B MR"8BB5J2LN/]]3=#RF^Q/C-#^ORGJ]ONX/>['AO; M-&%WOWV\[G=9I=9H?&UU&XVKP17[//C'-6O7@Y --,^,M%)E/&DT>C<55AE; MFW<:C>ET6I^VZDJ/&H/[!@W5;B1*&:@+*RH7Y_0&/X&+B[^=_U2KL2L5%2ED MED4:N 7!"B.S$?LJP#RP6JV4ZJI\IN5H;%DS:#;95Z4?Y(3[=BMM A?S<;K2&(TW^& MJ&0#Q7T?8V<)?*BD,JN-@>;OM)OUXZ/*[SILCE2C=>1>X?V?44HMY*I-9Y^>!3,&P&YBR M>Y7R[.>J03?4#&@9>T$C_X3.*6KGGJ9>XV,<)I$9S%<0-DGGWK?/_8_] 6N% M]7!=X<5B_C*-VELU>O\N_"4XV]!EB]DB]#/H'V.W;N]^T/_4[UX.^K3-@@UOVI==U[UI!\^#RD-U^8H///?;E\O[CY4WO2^WVVW7O=W;9'5!+ M,PB:>VWU'Z)+O\KN9SQCUW5VQW.HL@BTE?&,V3&W[]\=G>R)GOMDLRLD36<: MK]1E,2J,9:=51Y3/J+B%I58V6LZ%0 JN)1#;3NL7U,)M/9D)W':=6GB2OSIE MA<%.:PWKE4Q8&M5^9BMFWN]YUE?6SJ(Z..WV>\?;7$\LXO?1ZHY;5%6R9N3(;VKY5>+7W#5Z#-5^\?W?2 M#(_/3 F@,BTB E!Q+/'1>:G/N :'!_2O'"9 ?F. (!PFTHQ)G,12)#\B0'H6 MTD2),@7V(UK4*O' R+6*0.!KPPX0!P(06-[9O<=HS+,1L$MDG/LB08FPQ6OA MT0$-Z3+SA/%:Q/%.!&M\REZ48*"\_:T M<2LBC]I[A$B^-X@,Z\$QF0$K(8.,RBRA26C@%7&HY@@P3A@2!C"V0TPXA$4R;/5AQ)\D< MJ?FMPC7:&[C.618F/"D<%9$S(8XQMY,3=(/9DJ,M\H(=J-4_;D_;'#RQ(]*B M\0UV(7^^D ;*?./OUR9L.,^IW8XK+8'Z.'31!&\086)O$#8G1.^[ M30Q0/5RF7*YE*]!>0(,4FE44%9H\O1('MXR:*F/Q/9WKXE@FPH'^\*+[A MX(]"HOINDTAG(]B<"BRI-JV$@"(J&,NHOZ9 K\@<*H MS[5<('59HCMBG)_,O A?92GAZ_XMK,4%=C2P(*UGL5CFEM@% 84I8-7'3MP.AZ:EMO%G^ZIOS#9 ':S>5C#US2UG:XA67 M^0-N97&M7CU!1.IXL>/. $B*[H[;N*_[?.?'3N6G_^F5^Q'8Q;\ 4$L# M!!0 ( !5 "56*LVUA+@@ +,G 7 83(P,C)Q,F5X:&EB:71N;S,Q M,BYH=&WM6EESVS@2?M]?@5%J,W:5#E*'#]EQE0^EHJJL[;$UD\S3%D2 $LH@ MP0% *9I?O]T =5ER+,]Z-G35YL$1B0;0Z/[P=3>(TY^N;BX'O]_VR-@FDMS^ M>O&Y?TDJM4;C2^NRT;@:7)%/@W]])NUZ$)*!IJD15JB4RD:C=UTAE;&U6;?1 MF$ZG]6FKKO2H,;AKX%#MAE3*\#JSK')VBF_@+Z?L[!^G/]5JY$I%><)32R+- MJ>6,Y$:D(_*%*H$?##@\.H.FPV>[0:'@8'[%6LWUPU&K'!T'P[Q"4 M;("X[V/L3/(/E42DM3''^;OM9OVPD]F3J6!VW V#X)\5)WIV&JO4PGP:^ON? M?IB-P2S_9FM4BE':=4NJ^*[SYDA)I;OO O?O!%MJ,4V$G'5_'HB$&W+-I^1. M)33]N6K #37#M8B]H!%_\NXQ:.>>IE[C0QA&BI3/5Q V4>?>UT_]B_Z M,)Z M=HY(H^EVC MEX?-\E!M+CJN.>Y]$;4+U"&ARJ*Q52?]SU723Z,ZN/3X M:7HMKR.:97/$!35@?C!T,B,/J9I*SD:\ZOVAO1>8 @U2!5D-S$!%2F@Z(WEJ M="5)BH1EECEY38$4AYQ8RC0'8@D]('#O"MC M&GC'0!F84KI\">9 @4AHR(] +(7NH GCFDS'(AH3D^.?9?\IU[P8!!>0"",A M6\*<;"KL&!9H,AXY!7'<#%13#)8Y@6Z,#&>K9GBKB&N]&<1Q$HL4?(KP6/JP M"G #<6C6*^TBC8$8*&;M\#N2.8,Q 2B9DQBJ:9F#DK-1\)8J"4LH?C2ZPU:5E>P M9>;*;&C[5N'5+AN\!FN^>/_NJ!D>GI@"0$4RA02@XEC H_-2GU#-'1[ OV(H M.?J-< #A4 HS1G$42X#\D #QF0D3265RZ(>TJ)7TP,BTBCB#UX;L 0X8!V!Y M9_>^16.:CC@Y!\:YRR5(A"U:"SM[?-]U#3O,/_E'@=ERZ@&)XQ.DI16<>MR@ M+CM/%*]-%,-$N,['Z 4)#,[;D\VMB.RT2X1(6AI$AO7@$,T Y3_4/^ <%YZ> M1TX5(V=$<[-[%PQA0TX6,_F@J'(- P#U3(1QA 92/'7C8#FQI,)5.M5<4@>K M(BHNH5$MJ!8;!= BZ&*4%,P==9A\: 035 M<@/"QVQ%\BB/E!N.IVX7&!5]' M?\IP4,@"W6*G#-(_$>62(FO#LIP2R[@,/7R47TU.X->0HR 0*_3G[ 5$6BK8 M#DL#VX)(UU&[,QMM@'=W'ML9PX#[B6 (36I42I&PJ0%88T*(>*6:S;$#:!9T M**2P,XS4VZ;%G>1@YA#D-\&:Z$I"Z>+"MV)!6:XS0+!QF444*)#*CYK<(U*@U:SRTWRAU[[7:DS- M(FE :G,0Y\QQOK-'P<D$1OIYT(U"BFH5=HL(K=[ 4,FB;"6\^_0_5!!;H#M M3(!^;I ]P"ZPJT'VAO\Q$9YO./Y'+D!]M[GR-'+E__[_ZZ+7BMAX&H.YG@!@ M8>6)-6PD.""AB+J+^F3*Z0.&49]KN4#JLD1WQ#@_F7D1OHI2PM?]6UB+,NAH M^(*TGL1BD5M"%P 4I(!5'\L-!'*3)PG40W]RMY@B6&P]PWK+<;ITA0N&XU@# M)U3!R=S1&,#$G?\6>*KZ:";2B9(3CB$MI:/B&%L7S,>33*H9A];I6'FZHVMH M!72]2KRO[^;S\+FO4+M\H=KV-=:Z^JD0& *"N:Z!]R3-#._.?YP U6>2SKHB M=4YPG4[6/Y/A38()Q@O(*XI)W'R^N;ADR5QL,8S*:?JBT*H_#NC! MQ[;Q9OF[/_QO;)M@[:LH(4]\$2UL\8K+_ %?@&&M7CV&U.R8MNM.%5 *OV&W M8:>ZO^M?W4MR(\"Y:DVQU8;7/:.!#^ M?K]B2^;29 ;\!B1@:&8H(5-N/=O=9:=5_E+9Z;OE>]^UD_3G(MF<]!-V#2QY5F/Q43OI',V3 MP&_&K6Z;=CM>2H+@*&@U2;M%@[]\!.GB\%)'Z0VGSVHKEC66U,P?M@+GN)WK MWIHE>AGZGO=[S0X]Z:QI76$8&HI*EI8#%?N'(B:$9U_7)>1C MM,-91JLE^($!/7K]8OQ\'$$S

!;N_YQ]YO1V"^;A/ MAZ-I-#X;#P?1>'*!')K.K@87$423G4?N=^#*F3E#!_QFV]MYN >ST=#ZN.L= MP>0,HA1QX.,Z3#&2T11&-S0N-+NF,$E3 M%E,)(H77EZ/S.HRSV($#O:2PO]<)@CL?_/C%E"Y-:"PD,5M;6*!WI1F%Q!:K MG&2;GP?.I CZQ^\=U@$=:%*@#GDA54$0BA8PH[$!;0F!WC4>G1$Y)QE5C-O=4&WF9BS6FRH/M[[<[7).!<(!FG!T9LQ^IDS-+]F>FD]+>F[@DEJ3IG*1....0?D M$# !7*]SR,"7,$@SW-A/\NA$3S@'5 M<'+",354CMF@ZE8K91G)8O,=#2:V3[*[(8XJ>)D[ LEJYU3W>.W\#T/^DW!& M2Z:VFR6+,5* KW-JNLNTD!E32XRS$ISRNV**.VJ.S:H-RN-;I TD&LJ$KHPQ MW"2!*,B)U%4TJP(NC8" HB@T$!*F8BY4(?'OMF/]HHC?GDXUF7-:#9@+B06T M@0[E)%';2>Q\I7C; MWW8]I]MLFQ978U^KDVKB;??KV.[7U02-CI& M(;N>U9JU2B$G28+A"X/\!GSTQ7O.YC1]X)O2+=\ZD[N?2V2[UE/,''L& Q@4 M"^04=,M]_39SMK[XALN\O=+XH6O]U EA?Z]UW%/V^4'/\8 ^/R5&NX?HBSJQ M>W=5M[QQ;Z(VS[+RT)[;7GR+U!+ P04 " 50 E57XDQ%> $ #C$P M%P &$R,#(R<3)E>&AI8FET;F\S,C(N:'1M[5AM;]LV$/Z^7W%UL#0!;+WX MW;)KP'$U?V5I4T^9"9-0*55@9#O07?%(2#G\: MO*C5X%0$>4P3!8&D1-$0\HPE2[@.:78#M=IVU5BD&\F6*P5UIUZ':R%OV"TI MZ(HI3H>EG(%=O ]LHV2P$.%F. C9+;#P585UW59[L6B[;J-)FAVG0]HD[#6" M7F?A]'KM3O"[BR!M7%[P9&K#Z:M*S)+:BFK]7K-N=5JIZJ]9J%:>ZS@_5\S2 MX2 2B4)]$OF+OX68/6&*WJD:X6R9>,:D2L%:D@/!A?0.'//K:THM(C'C&^^E MSV*:P05=PY6(2?*RFF$8:AF5+"H69NQ/BI@0GGE=%Y [*(>SA)8FN'4->O+N M]?1DZD.C;M7_COAQK $ZE\JO#K;Y*-C# [?M])\1S,=].IY<^=.SZ7CD3V<7 M6$-7\[>C"Q_\V;-'[G;AK36WQA:XC9;S[.$>S2=CX^.>TX;9&?BO)S ?79V, M+B;SVNS=^>0]C,:^IM0=IW[\C.SYK_G]1YXI%FWZYA-+0D3M-=KIU^\BCP.? M5N&$2+F!*^M:B+ *$W%E"XE#1C&B&0)(3QBM$(SEA"DH 1#K,HPD42 M1 3O+B?G59@F@05':D7A\*!;KSO]L8A3DFS,F]L_K@(NU\97(%!J_LE8?F1/E\&_,@]-@%[DQ.)U<$'[)$PH-C*@Y*GR<3Z6#OKVEA;]#&@A)=,YY.4*5 M>E5E6%C\_;#I]"D*#**CV&DTX,>:((K@SQJR%NZS BS!08=G(=_*HF$\X!V5 Y M=G$DI)@-6=5P1;ONC@)#,R&8WH^KWR)-(%%0(E0IC.$F"22# ME$A51K-LX%(3"&04B1I"R+* BRR7^'<[JWU6Q'?G,D46G)8+%D)B ZVA0SE) M,^J5?_JH)N5DX['$N,4P]6,BESC"+812(O;T^':KG1,0OE5B]!7D[637 MHZ6'.X43G0I+Q=NYSS)SGZW"?5JS:_6<3Y,=R_TD[8G$V@9R 1L=DV%UO:HT M*B5#2L(0P^?5TSMPT1W<3?-/9FSO,VS]IR/"X4&ST\_,WBN@[P"\,GR&D+YX#'EP M:;,K(]MTD#US'KGH^:A]/;@KPL9JMD)/4HZQO:5[MT?W;>A2RP4>=J MG^5?+IRVS^+ZRUS$#?\"4$L#!!0 ( !5 "56VI;Z,C'@! !1H$P 1 M>'!E;"TR,#(R,#8S,"YH=&WLO6E7&TFV+OS]_ J]]'G/J5J+Q#$/5#5W48#= MU+6$C;'=\,4K1DBL@=9@AE]_=Z0DS&@S"$DII[OMDI139.SIV1%[^//_G+6: MM6^AV\L[[7\NX16T5/L_:W_^?UGV[[]VW]8V.V[0"NU^;:,;3#_XVFG>/ZI] M]J'WM1:[G5;MG* M*5WI= ]?8:WUJ^+HTNC402\[-.;D\N1H>K8X=73@57J[\F@OW%NNB%!2+P:'AR?ZCJ#=K][?O=]1P>O MWOO^=T^S-+YKWNLP@N6UDZ^.@KX:G7$YXEY^UYWA5/SJW_6W']Q1:)DL;_?Z MINW"Y6/.^AF,]=J5X['G;2!&2/SWJM\U[5[L=%NF#_P)-\4\0RJC^.I\Y3\: M[(WGGIV$YO73X8<5UVD5,X4$15=&>/=]?S0\@C)$,GQ)SEL\=WUTZ; UO2NS M;82W-13:>AS]?#7_\\]7P MUK;CS]?^]/FW6J]_W@S_7/)Y[Z1ISE?;G7: >1GJ^G$T!U^S+T/[>(C'&^ M$NGF;OC\L_YNB/]G3(5]=!+_FDFUXWS>%2+?=P2T\_G=O-SK>W9/?;/JT/_/'6MX,W^GCG^._6 MSIOML_UC1_GXX+CQM;&YS^N?M]C!F]?'C8MU5G^S31I[?Q_5CS]^\V]> MY_;-1U%_LX]VWOS=:GRNDX-6_0RNN=C?:S;W8M;5K'ZN+M MWE:__@&=O=VKT_KF^OD7(:@UU.),*N>Y1YH'ST)@E !9CBBC&&N,F,9?-+"&,D5YMPMK6'RBN(I4G^,-[Z3_S7\ MTJL(_#,"XUL$QB*8H!#-M) X8XRY3-E$91$D(\YK%6<>F,)J#<'<%+:^^G2=^M-H"&\PV@<-6LY^$6KZ[?8_C\[P\=C:'7&72+;P5L7QUQWI ]GL)YXQN%@NW& MWW*?OL<\=&O%@,*=7L;&]O^]/H$W+UX;_W3][B>%TAI_ ^^BVT_XI-"D&0P. MX?%UWX]=#M-?.14<6O3]$<,CX^_CA[RZ-E%WSIN.D0LL-? +889B8Y0''!X% MZ'BC9/BR74R70GH.IFOHCO5',Z RI"]O-#KRL!D8M//AZ_>.#+#5Y9NU@ND- MNN#)# E0'!S?8GQL_#W=X\X9=<0PC3".5B*FA-:2.LLX!&J6(V M,2;@T\_5;&)PXS.*GS^;@'(^)$:\?#WPH6%85T\MM+;I=[I/G/A;UZ)Q[1:OKH_^9W17B 3+#1-*:28541I;3TT(5EL?8QSI'G9TTM[_ZKMOQ ]??Z7X(W6^Y"^MG M.:B;T4+@^.CPTC]?W7G'RZFZ?/ 3[ J;NEVQR "^)-0PJEF@3!D&[H04UH*E M#@(5],-C^N&*?O?3#S^#-&6V)HNF'* 5WR"Z$_1O]N(CV#\R= &LGO?:2(8DME2I&L'Q"BHT)L%;-@.[4PI]CYP)"&[H!4R.M,$HYR7%3#C$ MC$9J!OJB%'**-!+$HX@14.+SN DH9J)5! M@N/ =#1:,F!K387WA.@%(LVZ]WF*H#+-=R;WV^T-R6A#R@U984$1UQ;AJBRFB$E M!/;*(>=P7!CZK#LW: V:*5!WIW\4NNF\;CA*=_L6MMNNTWH!I/DB)(N >0AX MW\7REZ/6V,"I"I$ W3S6:GHDF]4,>(Z1UYIJPRD#V*>4EEJ @?;,1"-5"98? MYDZ[S!ZD"JZ\22M*D7E&>*(KU=+[& /!U(?%H^I,=-+L"1U#0$1RX4!?@=!R M(XT/W@?'N"+TTN:4G[Y31-5/#VZX1AI*0;P8(#2M&7-&6N4]_-N1 MC%F#O>?*::Q$")@N#'WF %5/2O-I"AXIMA0;SA@1!G.%+5:%$=)119RPR:8-6"0D^!HMX%-I7?E=P6F:93,SAX<0R%ZQ&AFEF+%%% MKF@P3G F&/<+0YI9F.7)D0F#Z!#K6$#P#X@3$$D&XG4$-2)!MRP,F:9JEB@S:[,\.9)%PIDDVDDI ^/,*$U8(!2H M!I*FO9H>R68U ]):;".R$N D0P10"A("#',TF&BD9[%77'KM,ON=;"(0P"H- M:H@J7AE (&8#(&0Y7S8&XLBXY'*J97JF5!4/6S M:LA<1]7>*.8TCDI[YCC22@K*(I, " @69F%(,YN@M4F1B0:'<10 VGQ,2SPV M$.0B!G3MM;$B+@R9IART-BGZ"'!O/&!I[XUF:;W4 T9#.$CIG6>:+ Q]9HVJ M)T MONW[E?G=![DL+=D>I+'<4_KT!#Z.;_#@4IW@NDL1J&$2R,FLMRX"7$JX*(7R ML)*2<\.TC3<;G>[)'%/U5L@%]XJ+J"W#$6D=B:(2]*5(E7UE.>GPU\JGDLR_ MM.,1RJ";DN0[.I((Q MBH$N,I2 )Z9C8$(X+%0Y2;+N -'U"M16)CNA4B%EPSPRTC("QD(PPUU$1A3% MMTIH)]YU._!Z0XL-/E%9"$$BLQ@<&TL(91Y\&RO N[',)32LL2L?(=9/.HZ, Q B==>F7+28(/ M)R9OEX0"'- I59(:D(YS%^ZURWBG'=:[K4X7X%%9J. U,5Z# M/( ;;2771"!-")AKA21EN'Q4V,O;_4;HEX<$$DLEM9*1 PD0$SIJ)ZB@R@7& ME47E(T&CT^T?X;W@CMJ=9N9:L9CL-E**$>- M<[B$R&E= RA&@\=ZBM4^7"4AZ8O"5VDI0[GT+B#*_9/C>9F_X\-N;3>EM1@!TT\/T[P6$?.L>%SPI@/(-:&*< MZFPQ'X4CGK%;32Q#>@1/ J3>L!(%#A<1<$IBIKZ$B23S#E99Y(Z$KU/12@TCMPQ+)U1D4MMM2:811?%HMG6 MSWD;W*A%-:E&1T5 '$% -:-.69WRO;BVG#OC1!F*S\\G-6=B25,1-:4"T2($ M1JU3G@1 P,%*RGTD=-$LZ31EQ0UB]2'1329WH!EU."3T#24-CA,AM O:,8F,#H!JP>-T0@8O-5\T0SDEB9R^C92!FE1[TA L6?#. MDN9*E8%U(LOXG<.M"N5"E-E53$1B:T M30T82F\F9T++V?2XPDXQAKR%B67*$F6(3?D TCIM R]#:N<\TG(FQE(IYZ-G MV!D#M/32I,Z+'F'CP[!?6>F-Y:SD<@:=USV(I$YM?5RJNQX4#R@RYSR."$=/ M%\U>;@SZUK2_;G2#S_N+64F?*TJU\48RPB@!71LPE>"0:*D]>)N+9C6G2M'9 M[&Y22ZD+5/H4@6FJ$6SG=.6T>E;4$0T(Y1$0I%A-#"KD#'. MI?U-+T(I:A_.+T5G8D>#0BX2AXT!E\4B:J*P1%#'E>+*>+=H=G0[Q08VFR;M M4[\UMK.0Z[34@RPB3IA0ACDE+!(1OEI.F<0F+,#6YFR).AM/E 03F+<:(<>$ MEY9YI!3FUCIKE#"+9DUG(*G3-ZB64*&5$IKKP*0.VHO(05R](>"5:K1H!G4& MDCI]F\K2EC5 7&F\9#($BPW(K'4,XT@(E8MF4_>Z)D]%_!;1E&J-A2.!*)^6 M;AFS3E(@)[=:1Q$87313.B5:SL2"ZLA92$6%9=0@BQK^4 4^3"JFP+!=. LZ M/;F<@>%T@E$:-#?8,:>#I1[^8,V49$@0O6B&FI\)(S[S -CCJ0;FFCB"1>[EHQG)AXX/ M]0@,.T4=ETP9HI!6-N4R2.(0J-Q%LY0+&Q_DL+2I52:3Q#,IP<,,WG$5K4." M2V\7S4PN;'P08%66RH8K&15@56:43[LK2KK421R7H7MX(N1E>>DWH7/8-2=' MN3/-(35=9]#N=\]7/WY8+*-(HG0A"O B$6).$H-8Q%1Z+T 6*2[+8NQL*3<3 M*YAZ>_G4:U@%#J8O+;8R3T7T2 7!2!FZ,LR>R15)S- -4J8T!SH18!Z M1 N-N"C-/N7,96[Z=HZGL@^@**TCR<&GQG&"P9W05$9L2I,K\@#*;306R\XI M11B-VG)#"$!-;K%B$5D3'?$DJ+(X?[.EW$SL'!(!D\AE=$HQA9BV@O"8"E]+ M%2,J2YS.S&5N!JN@F"KATFH+E(3(LD)U[ M.1 _H$Q:VB+'JA M9*0"1>(IC\1PLT!V[D5E;@;^7'!"@S1!6%9^>U<.KPU MZ'9.%C*7D>.B@Z4'=SPRZHT.DD>00D=9 *(MP.KEU.@W&]^.6,C@10BY76 .@,RC%DJ*&21A8Y+DLEG'F@ MWVS\/,.<=8@J[A0SR,-G@U"05%OB,"I+/=8'() 5;31#%FD#%'-:T6AQ9*(,?;=G3[F9 M6#OC/-*2(O 72"J/KHR6 17%TXE6B^3GO:S,S: VJHPD@(\74VRU$M(R#E*' MI8]":G>),TMLYXIHHWKN?3-LF5Y_/7;AV"*Z? XI'Y@PG'',@@I&<"J,(-Q2 M(@*UY3=\LR#E3"PA..LD?,U+.9JM/2,>8 M8)(AQ:A(K:[ )@H2,,,VFK(D/,P9*6?C$W*F@E11".Q8\"GG'H0T8U5HS0P!!50@I+1_V,2F\4ITC%V52:D4I+@U*-=\R"]%HR MS;V,E -PE8L0#SI]69Q!:7 KN$Q"Y[D";&.5IQ%YK0"S4ALE6PRS.%U9G+Y= M)$SC8((DC(#[+XFQ3"MD)+/6&.'+DAO_,[>_R-O\?FPW',*EBV@AP2Z&@%6, M01I&/;?,.VV1,!A%%I4NOX6<&3UG8BM3"TY+''64BT'5S1+8KG[>:]KW^=[YV?C&HA7)XT MZ/4[ (=NG?P3XCZ(J^KFN-,=/Z%WA9W>FNYAZ/7'AY[[K!^\\5^A[8Y:IOOU M^FN/RC^\[G9::V-PI%9$8)P@AM?AIXK%6?/.V?/9DV& [MZ MYG"@CM%@+,8"6:^9(T9&4H:Z%!5GSSMGSZ:/@.34"^*88HP%K+457I* @Y+8 M$!>_;,^[JGZ74A"Z_?-W3=/NK[?]UG\&^4FZQUV,_7K0;>?]03? B:_SL_3I M!=I#Y*E:-IQ[6P>-CSR%4IIIL*J<&8N8 -]6"Q59D(P*YJDD!:4P)A17E'H* MI7"&24;Q!"B%D('_2<#V@'\"D0;@/HV> &F^L$BEY;4&DJEC1NH6YWS4[_?Y+K"2]B%39Z(0+CEC!#&/2*&:T"%8%\&\C MC8OB(N(7<,T!IJH[<&E)=[L-EQYV M0Z\LQBH"L)"22$,"9=Q0%5#*!13&*NT<80LB5C.DU02M%5)*>H4%"IQ%SHTU MA@8)/VL4G2O!ZL/KO)WWP]O\6_#;;9B&P]PVPWJO%_J]O\Z'>S%-T^M=I]E> MU_B0-DC*(E/2V0+R"3!9S FAI$U=J8BD O. Y/S+U#S3:7+R!%!""68-=8#- M)2"_J#B-$GEFA/'2+J@\?>C$_JGIALWP+30[95JCH)P@+K5*71F8LDY9AH5Q M06OIF3)H005KV@2;X*H%P4+[*!Q 00;&2W-!I9:"$T8(R-N"2EBA"1NF59J5 M5<4V+!6 7%2,I5YAH+ M0;P+*AK!%U2>QD$ONV'8];MWE)^41;200YC(X!1GFC'LK),&_*KH700G&=D% M%:WIDVQR4@:BI#!XPPY3PC#&AGIJC%=4&NG ?BVHE#4Z;==IG81^6 >ON%1+ M[C%:ZPRS'EO)+"!$$;1'B C#/8W&+ZB039UB$US+ -/EI9I\N[+IR=?IY8UD;% M^4_F_)\^L7B/J\1,N]^=-C##U0[M+K3AE,Y.>R$[=( 9""%JKB1%3!-BJ(M" M(TJ-Q,X(61F'2D1F*B(O8HR,!K;7-%J=JJ 2;W@0%!A>6P>_X#+T6/@UC-&C M^&_OM%-)=IF-$1:6I1A6;[QA5B'C;8B(>K!0BH58AG9?E57Z17DW*,99"A,0 MEC,,_HU+:Q(R%E7N%2K!&E7%LK/RLB>9)N@=BL9C2B73VAC#0%TZPP5G0M!8 MIH)1%3O.4H-.I234Y9*QZWP##-?NW[UD/#[ZZ"7CZ")BP@LFJ65"<4N5U"I5 M43-,4.KGW[O]"2O^Z\-?&XD#-TP;,%.)@?X\B,"D7,WO7&W\+8;.>QU&L%S= M6-]\-#L[2D&I.T4DX&.CK&%2.ZQ\,"HYM&5R6V?"UXOM*\^#",T>AV-F(U86 M=#Y2S BF&<<\]63T41%-2A#U5*G\DH/P(*77GC"#E006]-8;+1"UV@(@#Y[, M/^I(I-@N\I5:UY?:UMU_!GDO3W%UC4X_ H^3PIUC\FN3K63(,"^^< MMC!MC!AL)&F:_Q2=OMDT&_5YSQ,VH]93#U M(=),;_.Z&_XS"&UW?L](KIS:VPUNT.V" 2B)@%L.!.7$RX@(LY9:C)GF"'1Q M0)3X$A2)JQAHIAK(8L^H=Z!DM&&(*0O&03F%&1-2"N%*M(SVURC<[HIEN&(O MMMO?X,?7N^OUK;=]7_I5I5?YV6HW]#J#K@N]X=>C8'PQ>)]_6_L3_AF%(T5E ML972:4F9($S)%)NDF";!LZC%EZ0:OE_3ZY\W@72MO)T=A?SPJ+_*^$G_C]/< M]X]6,4+__]+U\TSW$$ZUG7Z_TUK%!$Y- \Q,,S]LKQX/>D#5\^%/>3L1>16K MD[3XU3LQ[;4_;?<5/'SX>3B&VR.Y]02XNI]L_?@,V^G"BV>NTVR:DUY8'7_X MP^>]DZ8Y!_EH F=DQ45_7+]?>K=OH=M/?1=&@RX&.SP\>FVM5Q2GZWCVFUHM']A]$*OCSVJKAW=WS":/+I\'5]#5XJ3=,_E^C2 MC?<>S\Q)O];K-'-?^P@IE91#1>/^#Z&5\4\W4&) M*X1-!79#=T3&\7$88J>[.GY !%;-HFGES?/5_UWOYJ;YO\L]T^YE/6#I.#S< MRR]"P1##KZ?#=Y9P=4&PT1Q@DF;P8V-[;VNS]F%O?6_KPW6>F9LQ?MC:^+B[ MO;>]]:&VWMBL;?U[XU_KC3=;M8V=>GW[PX?MG<:] [_.EO2Z'$WT57:YLK&2HT@SO2N)M;9)1LR'?'6SXPK_(SGM2^,8[4_G=K/S M[2W9_;9/ZP-_O/7MX(T^WCG^N[7S9OML_]C1_8NOM'[QGM2/W[/&A<,[>_NL ML?GU_.#S>W1P_)6\I8WF_D7G_.#X**]_WJ8-4N>-BSIJ'&^CG4U'&WM?R<[F M>UYO??K:>+//&TUU]I8^OC=8^V3\^.JY_?G_6>+-]6G^S=;Y_ MT\U68[-.=_8^?3W8^_C-O_G$_+_^;AZ0YC=[W,'[K??DX/@@WWE3/SO8 MW$+[Q^NG^WM_']?)]MG.YWU4OW"\\7FWV?BD6&/]BT >1490YK%6&<.2949) MD@68422\-(:HI36,LO>%'?I.@[7: ]G]D7;CN4R%;C 5NY.I:I/\\UO==+_6 M=MKA]\E/R72-(6" %32T:8^UAG1%$O8@8_@H&\M6D!2/L;'W&=2Q320G9\DJ MWM; -V=G.#&/Y,K:QW;N.C[4ZA^>QZ!34'CO!X!<0[=YOAM..MW^4BUVNBW3 MAP><]5=C?A9\UN\.RJD37^?VS4>Q_[G.#_::QSM[<"U)8SDDZ7M]<_?K_EZS MN7^\?W8 8SPX7A]=\PF>Q=L'>R='^Q?-Y@Y<7V^]IP?'AS"^@_3]M/%F]VCG M\Z>\^O]^@=T]G:O3NN;Z^=?I F&6^TS)D/(&#E?_]Q?7=O:_?M?FUWZ]W.[E[MWU_;^M56[@LPN4=GZQEXZC#5E-WR01V'AD6:>JFWZGW]@ M@?ZX_>_X/:9'D->=;JU_%&K_&6N*VM!EK8$G&_PT0-F[XGE;0\?YNH;R\$O6 M@F<>IM,.0L2A:KB4B3!CA_6 AX.6=BX?Y%CN[%6(K M!V)#%61+/FH7QE>L?MZ/V:)I]LH,V@[VMG']^--1X^(@W[^ Y[UY?[JS=\AW M]M8I +JS>FN;'6Q^.MK9_'@3M#7KQQ_/&Y^W:*,%JO+8H8/-=;ZS^977-ST M.GCN\=%7.,Y ;=X&;=0*%K12&>6&9LP$D:D($THU]4;RX!&6(]#&*M VYOJ] MW?7&A^T"FLT6M3W&)DUG:NX#54C$^&1N>US>WOSA*':8< M9]$AG3$=9*8QL1FG7E&C2 @QI'T[G%&ETK;=(U%@VH-0+\=:Y&&L]>(\E/IS M]Y+(]E/%NU^.C_:_2.F0]EKIE?KG027MK-]+6_7\GZOYHX* M]_BIJ[^7[Y>W#FN]KAOFBUYRXI=#O')\N[RLR?'+V)%^"HY.S MI5=/?X$I[]RJ%:'8DSP?L0(@;N*N#R8O=5LAY<1O2_0*%P]SU!YUVQ6*]-/= M/S$=N)SN,$++=T+HV>$D-!5CMMUVG2YXD$5MR0_](B5]T.YWSS? $[[F5<(K MN!3DT@^I.TVZ3TD7V$9; GL'K8,]&&UK_W2_U6C"/6%,3? 6=X_VC[ M'^V3;50__GIK2Z#1.F@VCAV,]:]\GWR$\7_D.Y_KYPTXK[Y7/]W__/IX__C] M^J&YQ;P+83HM\(6U#K=6B>5;:P= M#[IYS^=%OY>$A/.K=J,XK7MHVOE%\?WWE])3X&$NROQNK^RN?%BI;;5.FIUS MF.#K&J76Z*S\;!8?QMP_#36\38QKM[EZJGZ".$UIV7-NR#TCF[3N?6K -/I/ MRC+#E3WZF3VZN W.*.;&"YL1HTW&+.:9\CQFB' GJ=728K&T1@G'M>V,\F>; MHTH67DX6-N#C3G>O66I-AS0TF@L2 X]):46VGDI4YEI5W'1"&YD%^,EP"JP3AIX)0OR$(J?4$ M]N"T:PRFP^"42A!)%E-*.I*6&X67UJ0B6$_!G__5A.<>?W/$W,EW?]<%&Y"? MF&9MZRRX03__%FH[$5S/T'NFSSFQ4W])$H'*J26=,PG'_XG1,3/88OV^G?Z_ MO5H_-,/)4:<]C@A93@M-S4%ZR9KI!E-+ 7JKM=IO+V@,DM^P#L\JK?I_\N[^ M1?UX_0L3GG!E2.9IL!E++H!REF>,A]0DCP6OS=(:P>BF[O[])<-WWG9 ZM\E MSBCQ8OMS"//^2W"!(\19YJ@'X,43-'OU.",8N$3D]_L[\E*I<"X===?O1QX M>>*IY8JF?/+;_WQ%\8?MJ#_FMHRL:#21..T138;;@S]*5+]]\,E)>7MYOUF$ MY@3CCFHN=9WZD<&%I8S,EIF[#?[?Y07H^_%;_O$4:>^]O^N;@ M=]-US#&FQL$>#Q M)R0_5.+Q4N(Q4OY#W5_)Q@-DX\:6!PH(&>E"AC12&=. K37&/-/ 5X@;R25' MP[CF6?']="SQ8HG%V&ILC>S[,&C_YOY'LO[EW_J8FN3R+]0[^ =%Q!&EI/ =T"AY=P_2\^<_0LM12N930K[U]N_%#@7IBDOY/\HUG MF29VMQ!LMWT*_PDU>UYS1P$FJ)7JR9P>A2($*SG$WQ,05FN_X=]K1Z97)%#Y MFFDVX6C*!4TN]G\&>7*PP:^V870"W/32QZ8I8FN8A#?RM*\XZ&-!2=YW.IR2 M\&I^D.H=%J>>=(,+A9N!2:W(N^_5?H/[@4C5>@/ S;VC3DJ#&.>R]8],_\;@ M:Z?F^BB+)+#BXM$[_/Y'S;1][3HS%@, MHABDZ?5K&M6\.>^MO'Q>V<:@VX7G#Y-QDQ'NF_Z@5TI5\N1%*AC__A<=@+=) M")D73&3,$YIIBEV&!/,4,TMCBF[>#[>V0)]1X.(S3'CBQ][SQ._L)>MJ/+3" M1Z/SW$H?$TMCOTQP7DP%6N@54"FMO-\')12:H%JZG7;"04 MW#6*=PVUTV!KO;P?EFMYA!//EVL!$-1Y;3N!*>.*_;1-TS>UE&UZ4QE_?^*5 M1UQ="-T=P$4,\:1Z=\/AH#D,"/V0[=5^2UPA_R"4K(Q.Z!_E1=K924H[>VDE M/1SZY;@OE7#H_;YRC6M?/FGE$6A@-5N2(KA6[BW:.](+Z/OEQ@+ MCN&@?_\E+U3G=_COT64H^HDY#)GM!O,U,Q$D>=4T3P&FI833$A0G5F6S M_GP%_(A0/-^'F+<+MBM"3O[G'PJ4^1_WC:(XC/\8GW;KA-'QY?$)]PY@?*-D MHY; )4B$.ZP==CNG_:/Q.4LI7;NPLJGX 1E[0%?=GI7:;QO%O';:X??5LI>& MDGJ%4/VDG4R\HLD+[&2R%8+IQ&]+Y8HBD]\@Q7A%T(>-=BY*C\[M2MSW$BS= M#9#MPT[W_(Z%N.*D0NK=Z*1RK\E=N LXWH3S3QN;#3CG/8;GDOI>_:)^L<[W M+];/#EH'1XW/]5MKS5*HT75G?3.5+7[<.6EMX M'U_-,X9Q;7XD7P@HT4 ]S@2B.F.6J\P0ZC*+9+2.!\J"7UI[>[=&GFQ5JWDL MTG99>7ZQIW8<^*\R;%>8LX M;<\,3[S/G_A%9J\,I4^'Z+&@U+@)U")6/9T27CR[E;63DII)D"X3VJJ,$14S M94G,9"!&:!>E%>CG54\K^_8 *=FZ>V&B4C9SIFS&='I3D&ECO'Q4*9TG*IWS M6R%77*?60LAEB,:8,5 UF6'29%QK%8) 3F'Q&*7S,KEJ\UMO^'&-(W[64*($ MK[:==EQK]ZSLIFRQ.U?&\WC7YF^QY0ON1;M3;+P.>L.E:WC!85N+.\HR=[K% MLYKGZ>&G.3P:'EMKA].T,-X-W_)>X:ZT3=LE30=.3*JFETY.S3N]Z?I>+679 MY_Z^]!?ZF_G][B7IN=ZCFD-.>?PF2>\H-)MC9JK]!BQ2;&,,"[S>WC$ JOR^ M#"]G[Y])V MX_4=<7Q%XD,1G?JA>-3.H%]H;E#AUUFU/6AEOM//1C<$ & &^Z%?BW&Q3!> M&,='5B_^UK]HSIAC#&4FD6P<.<[)5+Q;3B\/C@$=AUJ3#WL7+0RC4Y%96AKN>#!) ]O M?"V7)A" (LF3 U"NN^M_O=U*[5@V=AI[6XV]R\;,I*<<+%689# E,_ M*GB[.@"-U4UGP4C,C$=0.^HF&/2/G^M"C!)QNOW:=BVKO;[T4K?;0V #M_WS ME7GXLLJ#LLY>L$#3SQGA!:KT/+H=9\6,]S C!1^]'UHUO%+;Z"0$D-9.X%/! M1\6^[W<6+>H7#C-\?OO8-@.?P_'?'\6MOPY#/K%O;,6H]S"J2 GQ=S+H7Z8) M#!IJ'XY"Z/>>Q([/V,.YS]I\3UDJU1#Q3\_Y1]]KVJX8K$Z ML9;:[+1"I2#*2&!2*8A*03R1?PAYH()(VR'=< 3GI>S12EV4E]RT4A>5NG@J M__"'JHLB+J!7RX0$EOJN*I$N& MT=SIG-W0&S0+M'&; RLN*2^7[)R$X1TJ@U!*^N'I6(0YP8Z5H#^)4;0"TI5QF6-NP^1[W/+;<&B:0ZM2 M%-NNS$HYZ?DSLU))?L4IP"E\+/GK*X4#67MM7+_3K:2^G+2DOU3H=R7U3^04 M]7WKX6/[2O?B#Z8Y3%,?AC-=;:&4?,V/O:*WZ @<5#JBG)2O=$3%*3_G%(*_ MKT=OAFB*G<6/)ZEM3VCGG>X5W5#I@5)2M](#%:<\@%/8]X7G.EP+&"$&@ 97 MMJ$J^2\E52OYKSCE 9PRWI?F*Q-:AZXD?];TK"2_XI0'%#,9!RB*E=K6V5%N M\RHBN:1DK 2^XI0'< I=6OL =#3]"M67EH#TA[4=GE?Q_3&E+6_7YRPJ3LZP M/N<#RU8^MAIGJD!7LG*<]UT\:85]=^W-85S+RGW5^NYAHA=AT =2F"[]>!)? MML3TW;,XCM>X)W%L#F=1W#6+UPKM[5PYD*JQ)DJ:!>;D">A._H&[VE^+UWA7L%6 M&&.3;^G+5R013[KMCX\)]+0K?SK8A[4UGDJ9X2=@U$D*QL-J$%^K$OJ.Y^?O03O4*!KV#7A$&^!?8&HV@PLM"Z:#XF)Z\&-8 MR!KW];#; 9\L&PTR%G]^].)3R=G6#WKW]5XOW,2$/R+U?6_[^.+83YS.Y]QC MXA6\;S\I=2%_!O&G1O>-0;<+XE=[@";XZ4L^B20O?8\9B.T-U3EL+2E6))]4 M-Y2;I+U[T;.H)I30L$L?PG\&^3?3O.WYW4!7#YH05)L#AK[[K?_[)B<_ZKW^ MN+G"./L7NKT>H MC(X;0@UZV:$Q)ZN)<];;/OUGZSO;K/;6@!^,LU!>%A?*#KCOE"-7+=< MZW5[Y_@]W__\NK7?>GV\W]H]JN^]/V]\/C@ZV'R/&^33UYW-W:,&><]V/C>. MW]+=H_W667/GV,%8MM#!YVURL+G.&W#O_>,Z/SANMG;V_F[!M:B^^=?7QL5' M-+X&GC4X(!]%XV+_O+ZWV]P_/OA:W_R*&IO-O'X!UWW>A_$=?(5[G=;?O(:J/2:B&'#9/124D69DT9);J*6RFH3N%&J MT$08$XHK331?FNCBAB82$2N,@\J\%J")?-"9T@HT$8[<>FHP8CII(L%N][2; MG2::$%XOGBT+Y#9_^F5]V&6W5^N"WPJB89MAN=8._7NA/'G<^]^I6LNGBB8% MBL;3O7LYVXW0'[E/E0::F ;Z< L+<)$9J7TF8Q&6<%X-)0O MK6&]C+%^K@KZ@1IX*3#T4 ?XUY3>20&)2GJG)+TW\8/BD4B#2!8H _S "0/\ M@'"FO6<*,V\1B2"]=!GS>9+>"2T;S36 V&Y_ ^[O=,^?#AL>ZI&53_%,"C9< M3C+HFTK13$S1Y+=@ D):L&ACIK $]T0;E-E(>$8Y]49'$J5D2VN2+6-&YLA3 MF?3VQZ\IK9.""96TOI"TWH0%44:K-*-9L,1F#%.2*0\B2Z,GD7.I0C!+:QPO M:RKF2%I_A76%=]UP8G)?"V%(XHI+AZ*&UAS37>^8L7%GWK%3+(U3+SNW0 M#"F()D3*S"@"\$!:DAD#2@:,AF#!64L, L^%HSER6ZI%AGD"!Y583D L;UI\ MZC"#ORC36*N,,0>?J*29DD0JJK$AS"ZM"2SG2"RG'55\7VPJQBODQ8)3[XX[ MWNOT3?.^]82[H\\?X)$\. -A0332Q&(;*L?D1=34[6 &Z9311..,606.B<4^ MA5.%C'.,M&4N&@MJ"B.YS,6S%SX?*Q4E6GOXU21]8G$0E:2_D*3?"IQ$G@9A M7>8IEP!(!$BZ4#%S-"#I HXJ^J4UJ9<14641]$7)@;MOXZ-S @,Y+S8\4K[, M22J4<#TXXO'09'']H SG_5W3M/OK;;\UGOIJ$W:"*JJ^MY[4TQ"07+C3 M^N;VE\BC<)*B3"'. 8VPD%G!7!:L,T3J@)5.O2G),A;/#LZJEC/F3'PGM]=1 MB>^4Q/?\NO@*XX0(BF0Q&)(QXU1F?2095T2!'^&BLBKE9H"',4?2NP"YU'?+ MWF[ZG'5B-NB%6C,8^+<*E'A!W##J>=T^?)OFNIC]G?BQ%PH?I](\D],\6[> M Q'"(NQ9)GRP&9/:99IIG?&(J4/:2JM5$=7-U;/W0:H@B3F3WTD!ATI^IR>_ M-Y #:%ONA*.9,])E+""1*6W!#_#*$Z]X0,06P%_C>9+?::\_3#$JHF_:AWDJ M3S>$#%5*QLOAAMAPNCE.R_ X7?@_SOD,F7 TFO*@HY2 M4YUZ@!"^C.0"5K;\Q45U4L:^$M47$=6;T07!8DH BE/D4D:%5)GQ 9 YIIR! MOF64H$)4!>=S)*J3+-& 29$8,7]EVX?I$W=[^B\;.CT?6.CAM74?_=+E5K&3 MS0BI%.SD%.S'6UA(&AHY)B'C(IB,)55KL: 93:D@8 ZM4WAI#2N]C/BOE@M2 M*;%?6(E--MFE4F(356(W4*(W3KA@?888LH 2F0(E?FN,W30T>Y -N$/^SS M5+5Y*G'IG'&OKI-.M["@G5AK=_JA5SLQYS^LHO,\S54^_# I)ZB19O?=<'(W MJBVE)^"%P]M;O0H)K93(*#(N8Y2)3$<=,B>%%8HHKY$ O'!',?!)L/0U+ M2UBK]J9)'&9=-9^)#I2:%^2_$,+T,AE0E3"]J##=L+*.!,L3$%4V MFHPI3S*%NTB MXNM)=YT;0>SUME\?SOJ5E;Q*74Q:71S?+I7BJ%-4109X/!85I45FM;(9EQII MKIB5T8+M%JX M-4H0AHJ4(GW'#M)C3+'/>R=-&A0**$S$=UWW^ M_/7-$ -PHB_ZK(PM[D_ZO/YJ?L2D3.MXKB_;.ES1!U4Y@HGJ@MOY1(HH$IER MF3RYC=K@TX M:]=UH01IHL4Q*D%Z>4&Z84ZQ(I:9Z#*J7-HX4C2SG'# JB!.,@IDBV3W94%O MY[K_&G[J7YUNMW,*0^S54O06'$]1S0[P7UXYJA-? P;4L@>@Y2T,9B=N%)-< M*8"7L:2'K+ZY_@5%39#"/,,^[6Q9(S-+F,R"P\@RD/ZH6+&S!0Q6N:=E,*65 M#$W+B#;@.?6+CU\4,\(;D!R':"HU;VFFM=69)-PRCZ-'' \KQOQ,AA;6*6U< MJ?YX)3GHX<'0OV;MN1<.B:Y0]DLHB/U;[BKW%OA(!X#5J?,O%3H#U$TS'") M;H6T(":UU 0%,:E&>W-4**%RCE\F!KN2WA>2WAL^LB:>!>MEQ@0'\XZ0S)3A M*M,<122/.2HX5]6& MG"=S?K?(5J+Y.-&\8:2EET3KB#+&B $C[5!F@Y:9D%A$9B.G6B^MR6<7*:O* M0#XELGI"'O[S2JJ53^.\0&AUY2I,3@O=+AT2B!.6>9U1SG7& A.I7J+/K-2( M64R0C&II3?%E+9_=K;IDY1(K.9]JF' RI\#2GF::& M >3@@NE(.3$%VECF?%(-8:J*@D\N+-=IM?)^:O?>*Y+"-^ *&'!H.Y"3VF\) MAM./M*DY/DT,=8KHI#7Y9# M;S9'D$8&)T@6A :/6*J8F4A<9A701@4OD:3W2T\^F!:^OS;%&'VN^XXD:R72+M<^^\?J:]WH?OA MR'3#1 #X=N/U335V.9J"S]Z9[D[W0]_T@_]DFH/P_>DC_(TJW?9SW78!.FWC MFF[[YM]\8OY??S[ N7\?U=\-C9]L_%:G=???W%$TDB0RA#0.&-6 W+W,OGJC#D5)3:._-@,WL-' M3UNPJ?BHK'P4>2288S"Q#$"@(R+3@;-,*LVCI80Z#2 0K2!T5_3TC1]J)Z9; M^Y;(^T?-#/I'G2XH05^[EPM[B0-ZTV' @MMZZY>C>MCJ0L654^=*U#C\H@-& M&J.8*1QHQE)?3&6,R8)F,6KF<"R WZ/XZH4,9,57)>(K&[2PAM-,>0D.A8=/ MAEF<*0+04PO&*5.C*#9T3ZCKC1_^>*1V>U$NW!GT>WW33I#WIP$4%0=.G0-Q M??V+8-H( 8XL8A)GC(-SJQAWF< 1!P_:CJ3JLG-D,2N>FGN>DIQZZD+,N/7 M4]ZB3$>/,F&]PX%;T&QVKJSE=J\WN&DI*W::%W:R44E+OJ>)W)R6,-RLD8\<8 M#R(3*(!R9C952+81'$QCD#-!.!FJ^-U%E=A)1=E4$ON"$GL[]T9:').?IU'& M HF99E)G,0A.>(@F6C&/$COM_=/I[KFES?I.^SD;;A.#M,.A5+LDDQ/"[9]@ MV)-6'>:HOEFG^\=_M1I[#L'?\_W6%JUO[K;V]P[3-6>-S7U6_Z3.=M:_$&9$ M4 B#2Z1 ACE./8$PRTB@G!.,(E+B2;MM$W.S*R::>R82%E@(_I\<(8!NQHE, M*<,R))%2BAD"FN-)6VTS6MFYPG+5)DA)^/"B?OB%4&F)0RY#'NF,>2HSQ5/I M+&>P-))0G?*,9K2^4S%5.9G*$T))9#H#_Q,LI A@(9GBF0=58HVG1KC4H1X] M8FNM-N2T*Y$$\Z/J[MT5J=AR;M@2-]:_<.\0.$!'0IC_D2-9 M,=3<,Y3F/#(.O.2*K&^'4::T,QDR4E$K/7%>S0]#57:O'%QE&8E!BYAI9%.Y M+NTRBU/]'ZJ%8]0#-]BE-2*7!2;+7-_53/'1/TQ^ZZVJBO>SK;ZLB*5 C3\TP;JC+-G))..AYL!,%9Y!IWOZ9$3FIKK9+( MYTKDC?TSPJAPSNA,(EFL+.#,NL@R%2P#-!XIXO,FD0N0AWY/AW(87YI;TZR= MF-QG>3MSYB3OFV95&^]E.I-?3O@[F._M]L9PMJO2&)/3./5;&" RY(FT)HL^ ME<#AE(-+YD46.!@'Q(E 9ECK5HK;RYA5B$VY)7=BC<\KR9V"Y-[ "I3&2+C4 MX/8BG($/+#)C4[J/XL@0X2C10\GEZO8>ZZ\3:C,]O.#A1M7&5!,,.D&^!#HW0 MWXE[YJS24)/34+=;J1J*L2-,9=)Y ]@B=536\$FQ$$G@T3,F4MLW=0>TN%7? MJ5I=*(U4/QU63$JJ*\%]G.#>:C,7!!(89XXRDC$576:(2MLV@C+A06.G:EE< MSXG8+NP2Q&[H&_C1UX+IME-/NVKEX456'L;SO#6:YBOZ9C/$W%4=N2:I;^[H M#QN=#Y+)S ^K@:<53PW^C/#4>/!F F5L:4VS978>W6H28,R&>U")$)<13 M%N(;H"$:Y*D5(F.I-A M7TRQJO[]8J#C:FG+K8(*E7Z:G'ZZW=7/,(*=T32C1/EAWQ'M*,Z0#9HC " V M%0''B"XC>3M&:$ZK@%?5_DN#3RIY?V%YOX%'G.2>(8-3$#S-&(\XLT:D'@!, MA$ HBQ@MK2G (X*41=PGM-)1!K!RI0=1$67Y=IN/E8.OKO&0V98+HT$+A/VJGYJ\CM-XX)_QP%NF>YBW MAX\7UY66"R !W2!6@7\U)$(L6\;=HN M+U;_X(>B8\_*]32E*^\WNKTD\/R33J\(ZEOMAJ;IY]_"'Z>Y[Q^-U<&5JT;D M0M\O,19&,.C??\EH(D=78C+SN<0W4K>N_)N&76@0$I7%5DH'D!"<1J:DY%HH MIDGP+&KQ!:=:$L.+CKKC<9^8PY#9;C!?,Q/AM59-\]2<]Y9>79\0F(VKL_^P MB9LF#]YRUHIY^_>[K;?+M>W&QOU,=8/6,Q_RQJ6D;%R5E ^7\E'KQ-HPJJ3V MV\>V&?@>^ +TIF_X&_;[5K_J#. >_A>+9RY ,KP)'2'129J_X^]=VUJ M(]G21O^*@C-QWNX(+7=>5MZZ=Q!!&[M?]]F MTU/C_VE(Z]&-@A& M]^_
;SY+JO_+CVYZNV^XWQ^?9L?#I(G_)#-43YA0<: M3M+W!X1":0 MF!I!IG>>OOVH>6OFL)F\A_P1,_3:M\FCZ]_[UF6+$87\V&6__9[\P:O6P=[; M8/F-+OL=$]YW+?1F[J-7:% 3TID#U/%).SRD;V;'.QAE 64G?^Y@W'N2.3?\ MRXU^V?SS;!A[G/1OT,!MC2;CY>#C#:=BT0UR2>^_A;#\_0EK4^6\V9P5.]M- MVOS=IE?F>D\7;0-4:S4C=0,ML('6I2SNU8_[(KZ/P[/XG9H=-WCWR#OH:7K#-M#^?RO\I$2S:CNL-WK<3CSI[W1M["V<-#KBCH,ULCDKPF+ M3EB46AM4FFE#7> V1F=3HZ/BK=QCUX=?1BL/O'SN=7GY_FZ_P' M][:?X.OM9VRON?Z?@YW]+;KW]Y-/7]P![\3>WT_?[KS=^5@^L[/_XFCG[>\' M>]M/W^[N^X^OWS[A>]M;>8Q;?-8=L+?_3KSZ>^?3SN,) M[OR]0W<_/SW:V?>XL_V&[&R'=.$*>$D^[W[>^K#SYI]$$M>!:*"EC#,R4FH! M8JD*CHD$IIF@?F-3JGY>XPY%]]Z10[0R5.<9RA'KO&?<(C<8.>9M'#51TCFE M8I2D82AZSE"T,E37&>KS#$,QX760FH"0(0*B=*"MY( DZ$Q0J*DT&YM"]Z5< M.+RW,E1EJ-89*BJD*!QR9@E2P[6+U LGE7=4B2"F,A2M,M2*,!2=82C!6&+1 M,X"1;RAUNL(RI3\""0J)HHXKG5*,4AHA&575>K-BZ)ZUW@A)$J=9\%">:\#,V6 % M.D#F2A%:%V-H>FKUB5Q8[JCH[ABZ\R$MDT/KG9:(SNEDC @I.&$DL4)5R\>* MH7O6\A&DRMC.Z,[_9K5"\GQVV\@@>B.BID%[Z3E+VE;IA8KNKJ#;%KNF M\TH)S=!J89DV'HE%81BUT56CP8JA>]9HD.4PIR2/$%0*I9E, FT4!RF2%PXC MP50JJZ@^(0M7?EKALI'71>50VA1BN/L2"]\,RKD1:7V=MO=@2L)D:926J _K*VK@+I3ZVOG: )47OF&#C(ZCSTS@E$8BJ74J2!ZX-)3%X+!:*5:, M%V:M%(%&A]XB2(P)B@ +!JT$GDBD)LI M-C8E+JO>,M%12HOK# O*!6%Y\9F M/DB(+.JD!%))F;;E^F/X^/0%#^^E\P*25 %0 MJWPF1V/R<8Q*AA L)7%C4[,^LH7[FU<0=PS$K2>:51#?"8AG[9\V>I481W V M9'':( 'C&8)FA943-P'S2:Q8G_(NA76WV6>GZUK]>(*%VEIXN>EDE8#N@(#F M([GRX2$9\QYDH@S0*@I:H8&$F8 PKYH(:6-3]J5>P[)%#QS#K2>-50S?"89G MU?DHA:%)!J!$Q*D3-68A@JB@DPG>9H+>V&1];=H*NJH8[@J&6T\-JQB^$PS/ M:O,<-2/*6'!.TJS-LP#.Q82-GJC4WL&[:NM6$ZWC37G^OTBWKH'UH@ M9NL9796A[J!^U?[67-]7Z8EWD7$(RI),4<%D=N(A_RE*+U]=*O!M; K2-Z0M M_WUG K%;="D\-/RWGKE5\7]'^)_K6LH4L@F,DB M"N^C;LOA4/&_^OAO/4.KXO]N\+\[<_YC$$'QF,__I#R@L@&$_YGSG[K@E1 )3!(EX"#+_U8*!SX2R71D M@>F,?Z7Z1.I5P?_:ILS\,3H>CWL[32/@1>(/'AI;M6ZM:!;B^>@X#4XK/;5' M3T_FS!-9_(C:("?EF GY%'4G#$ZX"0N** W"O047#0'AE''JD.;F.3B3[#MEI^5,"O/N!; MMT=4P"\)\+,&"!,9YR(02"3:#'A!(9-UAGZ(QI,4(Z9\PDO2SR)Q!7P%_+(, M$!7PRP+\[ G/7:(N:A *$1"]S")]2N"T\Y8[R3V7C<=!\)4I_50KO-1KK$R% MEZ9L\9W9K/9.XLB>YG'VGGP\BQ;/=:[V6Y)MB7\?"P%.8;AIWS*9\23!7?VA/?_C-GD0W*4&:]!QYI*?4= M.!@K'##E7,(H@V)97Q-]0Q9.+JE9YAT#<>MFU0KB.P+QC ZF3$R$6@_!$@&8 MG(2L?,FLC8E,O2DQ9ED)3)>Z%FU:-Q"W;BJM(+X;$,^%;L4@G/<%Q,60(KPM MJ=H$8D3DI4E8=$VMW#ZC;85N5!1W!<6MVS\KBN\(Q3-'L:7)DT D,"TL8,QX M=BD?RB9Q$HI(+:+?V-1]HD2'0/P0"K[\$8=Q9 \;M=Z&H\%P,#XMIJSWM?;+ MLL.K)C.?N6CKJWFOA-0Z(?TUI^ GJ61@'H$XXK)8D5?-2.HA9E6?:10BJM)9 MF/;S7QW*6JV9YYW4\"N4[Q+*,[*%((:'TCY#$U/RS[D'*Z.!E%^C>4T-*<%4 MJJ]U1?*Z(;G]B*B*Y+M#\JRNKRFW06@-7D<":+S)6H+EX"+AW!)F90@;FXSU M9:WIM'90;C_6J4+Y#J$\Z5!2Q%!4!Z#D=0A*TGO85]DLS5U38+Q?V,Z<]1RIX M, A.E/+QI6JM=:JR73_^WA"[/"M0A>^2X#MS^DH4AALB(-.M*('@"9S(0*;,6!)$L*H$ MJC#:9[1+PG,U]=1KW+>II]-Y3<\R2X_B^/0\CJE:?99K]3F?[XOHRGHNW?Q< M>CO?LBJ&J+WC$5CB(9]+4H N2B)#)2VWQD1+2TWHJA*N&S1;M^A4:"X(S;EN M$CQRC 0+]**MM&!%8-99'DUB&YNF2Y6X'D+YCZ?'H_SGL.?/1J,X])^RNNP/[/!- M[/WTQ@Z&/_<.C\<_UC-Z?3,56]"=Q_DA\V^SI#-=C>9C.>/O!C% M&/Q[3/DS^_9C):1;$=)\TR6F9>1".N!9@"N&7P>Z=&B@-"%%U"BTRE*\:*L! M2\TT7BI^?[I/#;OB=HFXG:WJ:3V2* Q(@EF08%G&UR+J+$T$DHR@J&C6ON5\ MH[2?*V([A=B[5;SKB7OGR)TKY9FDY9Q;0*I+S2W!P)(00)B0G/ J,E6ZL,N% MM?.*WZZ=N*VKYQ6W2\3M;"\C2XC"1$$F1DOQ3@:&T "*:I7EI22=31N;5]3) MNY<3MVM=BFZ4]7/?+7OJ(.]OD&O;R'L2PM9S#1'W!I._3NW'6 U*2P_&. \> M?#HZ/GJ<[S48GN5)FT87'@^GI^/D<_ME29Y\/!W9O'<'0SOZ].PT'HUWCX=E ME*/CIF3VN3V\1B.V=]3NS!FE.#>.1Z%!N&0 M7.@2R=PDS>(8HC),->4S3*J M2V6SJI34@H>1 M97)NU*AY)G=IVLCL- W,^ST.8QI4!FJ1@>;;X1+T6=,(!BA: 1CS:CF3! 0O M:/21)*I*,DJ?R-J#;]T0O"2K1$7P MTC7,@NE>>,)N/)T&)=S6.G)MC,?WN:<;9HO_6M(3KS;+MFZKR#NLEG%:!K?. M]_-5GF(2%,'EM0+D*$%S[\!R'HR,04=*FWZ^AK3E*KD9)N[9B5*I[$%26>M& MFTIERZ.R&3$Q9*J2T7D0(7A 1@QH$P)(JE-"R97Q*5,9Z=/%"TI6*JM4UG$J M:]UZ5:EL:50V:[,2/MK$8LPJKI>9RK@%+9D!IH-45%D7!,M49OJ*5"JK5+;N M5-:Z&:]2V?*H;$8JLSX:P32!H% :A' ,A6!.X*.)H,65=,4EO#YU/,N4EF' M\^1X?J1P?.8.8Y?3N^HH[WZ4:VN,?F)'PSS <>\D9D@>V-'U@62K7GVZ7F.= MJW%?O;U_M^.!;ZU?XOI)P;=[XA63@I_'T>W:_;5KA-I:Y*75VGK@7=*96ZED)=NS-2%V-*$#0!8E0.L@3F06?Y&"+Q6ADM M-5.L4)=:./V_4E>EKA6AK@7=)Y6ZED-=,U*7("F?+E0!X8% 7AP+%JT&QIEE M24?*7"K4M7B9SSNAKO5J G"U=6Y[<'AV&D,-@WZ87NIJGULANIT-?*9"HBSE MT)''TE=%"[ \,7"<$T:,5\9B)Y=_2CIU RRX 4(6?IQR#)@M18*BDZ")]B#S M41NL"JW4JFRWFU[DH1IU( MS$>:!>*]SVQFRW&& 93EU)EDB%>VDQN@2C-M+'^B/+H8.1AA1-;,B 9K.8%8 MDM)3E)91?8U;;R4.LY:B\+OGW/N[^2.&WE8>BGT3>[MG1RZ.>L>I]_CXZ"AC MM$')]3V9'G*^41UEYW*W.NU)OS+/Y>)A;]#(8 %AM^LB8)/5-EYVS:USNINR MW83L]M*$X_;.3L>G=ECF<2H5U)3IED2&ST_F4D>D-\&30$$J1;/$2"TXPE/6 M?Y,D*EAE4&QL,M67=#52IN^AL6#Y990JGQP?WPP(Q^@1IW)'L&0( &--V!%T! 1C5":B%@LS"O$ M!P^ALLG%*8P/ZY=3F.^9_P^#]YK_RC_-1']G1F\'P?'"E^/;ER_N8@3&:8G7S M7V[TR^;%TR]PI0513\GW8,\*[%_&V!L>G\9Q[_2X0#R4/I.%'(?-#-L2DI8& M0SOT^59Y2/F%HSS*\:-K'W%Z>56>[>1X/"B;XM=1/+2G@_?QMP^#<'IP3CF7 MOC6=$?+E*];E$63P7_N5SLTE^WI.+O\LPVZHB"7MJ%/*&\4QXTPK)8S4:+)Z MA\G(?QC;./_2P479]Y-,B>!&T;X#F_)C_6H//]A/XXU?OIZ0/!N79_]F$R?O M<-[FC)/-O/W/\R?_[O>>[3Z^?E/-K/6]#_GQ!5(>7T;*RPM\3 ,W3T;Q('\N M[_S>I 5$[Z>_AO8L#/*G?^XB2US]N#\]&_9.#X[/\C7"^.>KMOF-1__V;'PZ M2)]*]X+"ME_PW]![?HQ#>S*.OY[_\EL8C$\.[:=?!\-F6,V7?OOZ%L7B/L/N MS0TG;W^!P2,R@<+4UC^]\_3M1\U;,\?5Y#WDCR2EU[Y-'EW_WKXHLZ@.\HX'>=?MM2[I=M-+0/G\ MK[()=KI+(_5N//TFS&XS ^M4BF"5"PXL.ZIJ];IO?MH93/T&;]^(U_M/V.N_ MG[Y[_?:O#Z\^_^?#SO8K?+W]BNR\WO%V;W^'[[Q]PK_X#9Z(G?W?CUY] M]A]WMY^1U]O_^?QZ^YTH8]S=?_)A[X^GAZ__>/&NC'?6;["S_^[CSA^OW^Y^ M?I*O_^+=[O;NN[W]=Y]WMU_1G?TM?/7W?[][_<=_/NUN'Z2+V(:7Y//NYZT/ M.V_^\8)P$H@"&R,#E%2 \32"][0>I56Y9UG<0V>XAWF41"<./%H.Z!#!I<" *D8X0^T8T9E[3%^1RCV5 M>[K'/:U'%O9 M>#7G[F8 ?'H\RG\.>_YL-(I#_ZEW.LH7*W%0Q\-%$O%6):+TI[NU^HSS4^;? M9JFHL=1_%8DS8:;IZCR>+LY^69O).+>&8?_+2FV%$K%28GHRJ>VE??OQ^?&H M>>/T=#1P9TU RO[QM(JA35W@&-/H-> ML0)Z$R'8O+$$QWQ9_?\,&16&0"IDB5"3K.#?=IL*@R08=!/VOS8-$Z:[T&RDW*H"<* M7,H_N/,4/:/.VRP3T"Z)!'<=LG-G@7#[QZ?V\-N!<+#R8)R3D@60FR:;%'2 M5VR^9>!"->,6@D_'/6N5,2MC+MM85AGS;AASUNZ%+&AG:19JB6_\>A[R6A(P M6>/52'F@GC6,B;2M6,K*F)4Q'QYCMAYW51GS;AASUA28-0*/3ENPA'I F1#R MOC<@1-ZLC@H??(D^UWWD;45A5<:LC/GP&+-UXVMES+MAS#D[JH[)2Y: NF@ MHTR33B_2RYBL,5X:-XD=0[,&C%EK?-4:7PO/)6^EQI>H-;[6I<;7@1V^R<@: M#/,;Q_[=P?%AIK#Q__O_:$;5;[TG_WLV./WT T6_^+T__K=J?K7'FS]SN M(-^[YK_S!UF=.F;LD> WJS1UF\NJ1Y2J)13;XDH_Z+'J1U28%1FK>L1Q5<:J M'QFY.F.E4BQ0&T[^>)&S-G70&QXYET_0_W-^=D)OOAA<;UK][*J*0S,R*B>- MO6,9U9O,[:YS+S.O'HD;"CN3)O-E!>ZB[-7H^,-< -O*3^)6'F/1:[(6]=P. M N2C_;$]&9S:PSJE/SBE+^*IS2].:AX^L:-A'O&XSN:/;E#OSX[.#HL>TTQH M$_;8_/:5#:YYY;Q><4GAG N5K3-^PQF?Q,==KQK>X 0K.M"U)]A:E!B\Z61. MVD#4JHRW0?S1\=GPM-W2GG?XT254D9R:$.XU=+99FM_MH1WZV+.-(6G'COQ! MC]-^[YNU6&_>K.;[F[:CR0#L!]K1&")9((F6X!A'M75"$(N<6&/12O[/L\83 MQ3F][(EZMOOT"E=4%H,;NE[-GC.?=B]ZSOSY[M7;+?%Z>^?S[O9?'U[G>[QB M^?J?WWQXM1_>[>WO'NUMAX.=SR_>7?BBCG;8[M]_L=W]+;'#7M%7;_]#7QWE M[[T]/-CYXS]L]X\G'W:V__JXL__7YUE?U*O/K^CK_5=T9_O=Y]=O_WNPN_W? M@]?;!X.]OY]\*/ZO5_M;'W;WGWS@T<501DI8!=$ Z450J]S6=/:BW8 MO-)9I;-5H3,II6(A$LJ]04.$(4[2F"@W3I<$Q$IGG:"SV;A&SD44U,22$,XR MG?G2OC1(($9:YQS-"QHV-M'T%<-*9Y7.5IK.;E5ECVKMI-*6&8>$:V>0:"EI MT)YX3]/U?'9-(9VJ52[*76*&NS)'"6$]@C=<9*U2&L@Z/PT=N(Z<.J>L:E/JQQH*,1^+@(X(L(PXR'HE25K1I"WI(*FN1W#L MUK:U+6I:[.\J!BA@PTFJ(0!F2CV VY4""E%1GF( MM2'3^@C++^<T#>C:YDB)/E&H& M1&#)2"(2M!(4HA!)Z>!M*KV>%T^NK&!>&S!SGC4/E#0:@^BMR@= R/]:3TF@ M1JI%P%R/[M:0/IM[*(3R(@D)-FH'Z((!$RD%PDC@B?! E5M.HYN*]A5&NY** MI%8A,6BHT=4*[ MR$DD8B$PUZ.[/1O;K ,@G]-)$F/ *J,!DU/@5$R0HO1>)IUDS#JYRI(Z7QFX M7U-Q57RK9O@/NPUO<(U+#SS;'*F-R]\J#5HW_38JVM/J*V:Y@EN;SDSF/D>0?^4S- MB%61!9.$SK]25S';"M%2XMIG@$+01F7,.@].2 /5UCKI$G-+<(&'<:2*EU#99R@PQK,DK M9N=YQ:Q6SKHOV>GEG"'"Z^ $:@/&&DB@5$1!7*>G-8Q^B238J5Q4>74[G#JG#YJ=8J"^P"$ M!@88 @&+S !EC@3C&2L55W5(UPQ:Q@M49M79NZ-G5MZMK4M>F: M.Y1)HK@SBB'W:(*P21-!:2GBX9)%O(&H>XU?]([KDU69NJ5V5/M;IWNS/IX0 M73 A0+3" EI?(B:H+&G(B0>FA7 TR]1]JJI+=IW(H04]N)+#NI'#SL2(F0EB MA^]L;WWZ)Q@F!-41-,UJ-Q+EP7!C( DNG'>*B-0M=EAGWV\3_@#.CF-YMJ.3 M#*Y:];]:7^O:U+5II?>9-:7^@!2J%*[UU%'M6%+$1451$GUKR_B7@WR\?[R5 MYZN,P!X^MX/P;/C8G@Q.[6&3&?A[H;3'EQBM8;J]D_+K^$7\W[/!>' :7\;1 M^X&/S_,\'(<7T1^_&397K*?\K4[Y)Z>[%RK F_S,;_[!Q(4./ "5Z '1:-"* MY!]&<%2E&;KC)=%AX:#/-WZAM #I$7#-F?AH5H=)8T&@E M8(H<=!("O&64)*6BBGHY?0 6PM ].PGNC28.8^H 2_S7?2SY+9;Z_NGRBERW M'^+*6G]E&1SX:29\D%A#I!10/)N 47$P21A S7PLT816N/9;)U3^J_SW@/C/ M46:Y$9YP)5%2::,6(M) ?%::+4N+\%\5$)=A!)Z0HT I2CL04$Y10"<2&$DL MN+R(R4BET<6FVHV2+=>?KP19"?(!$61RAB,+AM""*:4L*67 G* 1?0HV5(+L M"$'.2(\, Z6( ;37!% X 9K)"(26"HO&!N7IQJ;!/D53";(29"7('PU-],R; MY&-2TCJ,!5N.&B.X+CTSJ);7,^0MRCA5JFR/*F=CBFD(DL=@@"B?J5([!B7\ M')@P.BE.5)A$#>HK1,E;1PU6DJPDN28D>2N.M)A%2)J<(JBE,8I[AP*]$R%) MMY"9L5+C4AS(DXAJX:Q-D5%(+GE 12@X80D((X70%,O_%3V;]XEJJT3E?5)D MXWS^I8G9S_^&P?O-?^4?YT,^LJ,W@^'YR"B[TLM<&LZ4[U\\YV3 ^1D/[^=5GUB-(?N^JWW^-*/_"Q&E;' MVOY8]2,CS'4@C+P2_;P3,^)@/[]$R10Q*;A0P<_G _S^]R9'? M@][+P3O[RP;CW9!AB. ^E^>JHN;HG&"??Z@EVDSYEUT87FMM=YU[F73T2 M-YKX2>Q+KYG_:T.3VIJX?)W1\8>Y<*>5G\0OH9&]$AL)^6"?1D?6*?W!*7T1 M3VU^,?S+C7[9?&)'PSSB<9W-']V@WI\=G1W:T^F$-LFPS6]?9<0VKTS28GL_ ME<)1T$4'NN21DY5H\*@RL)PAY;0SH*!,()VU>)2LM%VT$ M?%>^JGRU.GQ%4#L;&1/Y_$9NG,Z'M]32487):"(7X:LJ@+5&9K/M2#57/"66 M(/FD +DJ[8.)S0(8I4'D8X>)28!V)KQ*:)70'@ZAA8P*%4D4A!*4F=$+!\)4 M0JN$MCJ$9E"0H&B,5FKDJ"U:DDB2'C- )'%5H[PKSIIM7QM0$VI, DZ2 21" M@C;2@92X%=&Z5 6P M3I#97#^EJ(1D3B P7IIQ>RZS2IDIS:DD$9$P:=S&IN!]KE?&IK\>Q:Z6TORW M,]7L;\A M0])79RZ.'5QUFQQ;B%8"30^!4^-30$99J$*G73$$.E*?]E)26Y* MZ*3.**W-*N])N-I]/&?=2B&XDH$'J+-^F*4I!H8K!9I;X8.UT1*VL4E5G_"V M"NY5X%96?;"+19+H,DA)4+EKM@^(4I2=H#:FLVAU6G5-9>6(V>B> MH47 Y!",,QY(\(IYXE!TDE;7N2U1ZRV .U,W?JGG0BWJ7Q>G+DY=G+HX=7&6 M*NY*+83,_W%%*#*1I5TC&2&1NE),2]]>W+WC!I]58KZYQ/QRSF.M%&'<:@+: M\@B(28*SJ(&@"XYIF34?FP7FMCS6%?>=P7WK:F[%?8=Q/ZPS1&900-$E% M4Q9@A+>@&)6^:,\TIHX!?SU\M[=M5$1;:%34R59$2\DD33$2IH3T4@9T5%AE M0PR9ME!HQNDDUF2.S&HFZ7TQTWPF:4R"H,YR2)0T2R1>2;!**TC*2.DP"@QF M.:V(NET%M,+^VOBR'\)\C8=M'\NS&9:HHA&2"2#:"$#K(SB*%$(&L4Q*8")+ M:*E3<;R:..8<2=8_:#0&T5OE= CY7^MIZ3PBU2(XK@=V:R"?S3PD(FHJ-((P M2><#6UO0U"HPD6)41N@H6%N9AQ7HZP!T)17E2(4C-*#6W#+/#1/)$1)=1%*! MW@F@S\8L\;PF!&TYR$, I.C!&LE!1A6$]S1YZSD;VG(/J KTU01Z=;N+TA@5A$&Q"'/6)8!+%H.+!%E/%4T MZ*QEZWI@5QP7R=QPIRUUG%J!R*3-\AYU0KO(221B(1S7 [L]4]JLD3]DE@TJ MVGQB\XQREH]MPY@")BCS/@EA;=S85%DTYZN!]&L*M(IOE1C_8VKSZY-0/_5!68#YZ@%YTQE121%R[4/ MCEJ'R8O$)T7-:"TPVQ%9YJ)CX*72&E99+[V&+-&0K+ ( D8:"C0PQCV5*A#2 MLEMP1563U8?P%454?PB_U9#0/BYG77R!$D$<\T"39H""4]!Y(2 HDT0(VO&@ M6G3Q54QV!I,D6(W>Y'4W ;T@1BO),:&2'AF5=A%,UH.T-<#.NNL23U%K*2## M-N6#5%$PF4G!YL7CG$1CT3?N.J%I!>VZ@99'3VF2T-<,-;) M5$';"=#.NMYH(IX7UYNRVI;JOA:T)0JX$SI*EDIQK8U-A7W$*OVN!FAOT_)> M.J:"MAB"-2AMU"%12FA4*OB AEV/VENTO*\(O0U"YQ)I*$84U$ 6A?*Q&@0' MXUD"$10A62(R684ISO$66MI79';F.$5JLSH:E.*:H\_DK(1-1FEG;!16ZWJ< M=@*L\XZQR(5 R4$3F]&J2P*<5Q&,4L1&%B4/=&-3Y_-4MN48JW4BEEJ]<-4R M]6KZ=%V*,B>9VMBDIJ](ES*( M*W(KK:[DXMPFN4)%X;FQUJF$R*(N>7944J8M-_E_E5:[0ZL[$QM2IM8=OK.] M]>D?PQ-5WKG2Y4@#2JLATRP"E5H%--8YQSO(J^M1F>&.ZA>NFCFLUK6MBU,7 MIRY.79RZ.%UTC@IJ4RI=I;1,R(S6U'L,U@6,I;%WNH' >XV7](XKFE7)NBW) M^LGIWHS#AZ)C3AB9MX"TDR(%SJ0$VFNC47F:J,Z"=9^IZJ!=*W9H01VN[+!N M[#"G=RL2O!%$0L+ 4E48(-EX(5A5D@5H^D6/:RS)[@)A@!GQ[$\V]%)!E?M M%E#-L'5QZN*T9"./+#B%E#)+*2IK-0E2I/][*$U9& M8 ^?VT%X-GQL3P:G]K#)%_R]L-KC2Z36D-W>2?EU_"+^[]E@/#B-+^/H_<#' MYWDBCL.+Z(_?#)LKUH/^E@?][H4:\ 9W/N_\8TRBR)&!8M8!*ITU )K_%%28 MK#0F'[DK_8%,AXSK%?.5D.OBU,59'X]R/2V[>5I>4HMQ+X_Q'T)5"%1QD-3* MK!8+#@Y5!"XL,YJK+#>QKAV7Z^&+OFV7 -9"EX!IK9/9RBSK7.KLZAX"7E&C ME$<1 BH1G-7<62$)"NN)-DU2QQS-U6(A]\9BHA72.J.4T$5@(1/?L++@WGOAF4::[HXG_NH\UO\5:=X PKZCQ^D-L M64NS+(,%9Z.THW#1L :?0!$1_)O:$$$X1S-:^1+EEO;[15SRY S1-8R3A8 MIY/-(F-T:)M*.$JV7,^^4F2ER =%D*60C[8 M!#C'!0@1I)0F8/ZO!!'J*\3)6P<15IJL-+DV-'DKEK28Q4B:G"*HI3&*>X<" MO1,A2;>0N;&28XNVR+G49AU)C#Y"%OX%(#$<#,T_*/?6>9://%M2FPGO$Z76 M0)9L_-"_-$'\YPT9;MM>8O+28!CB,"-%-^0YF0 W^F7SZV8/-[ZVSQ>+HSN% M]\L8>\/CTSCNG1X7-.?GF<1V#YLYMZ?YCS08VJ'/M\I#RB\TP2&/KGW$Z>6% M>B3S"$Z.QTW QZ^C6%(KWL??/@S"Z4$>7D,NE[XWG1/RY2O6Y3&6M*-9S_:9'E$RU$H)(S4:%@,F(_]A>N/\2P<7[91.[)L( M;A3M.[ I/]:O]O"#_33>^.7K"WIX_&'<^^FOH3T+@_R9G[O( M#E<_Y$_/AKW3@^.S?(TP_M%Q_P!C_M@=\@4;3O_"*,TADJ?HT)Z,XZ_GO_P6 M!N.30_OIU\&P>>3F2[]]?0MQ,G>&-#>,:U^Z++??D\2N9S!ZAM=]CN!8]^-#C5S M'[U"]9C@:V[5CT_:@9S^'N(:EGXY^-C;R9\Z&/>>9*B$BTBRK^2K1>?CDF9X MG:!UA:SU_[;[]B^]N'Q[NO#T\>/7V+_;%(/6&O][/ M]V OCE[]_>?;W3RNG:,_!Z_^_@_=V3\\>+V]E=]_\_'59R]F#5)[V^%P)S_/ MZS]>Y]=WV.[VFT^OCO[,W_GKX][?3]_MY/?WMI^^W?U\F"X"X[[T:T!/D##D M8&U4@$E9,,J2_$.Z(*,.UI"V*NUUKRQ()9Z5)Q[B;219T@J2$E0N6NV#XA1E MWMAY[^J&>.@Y\=R@.7LEGJ40SVS#1$\42AT,1!(0\C8P8%W,BR2DI-1JBCZ4 MG*H^X5UJY737,OR=0>Y2,F(Q3X]B1ID?',;>\$)X*Z^7OWR1]$]&Q^\'16EV MGZX4]7^]B::X3"%\:=>XQV[0/D93_] MU.^='-KA:<\.0Z^DHIZ4/;0.';B[+R-?7I)Z6+5U6.W.=]V62#03*@"300(* ME&")YR"L)3%%G50'VTK.+Z=]J9K^*"JTQTF!.5*!49F$@_AN$+U-E"=%1Z"128YBX!&9JE> M6P8:I0.51?K )57*A8U-J46'@-J2\:'#PL,?=I"%AGROO+4OVQF^-C#TBR5J MM?O.W&PZ[KC(]]?\4]:B6,+WAB_S:NREY].U>%XL/D_.UZ+RT"UX:._QO ^. M"1>$=4!CR$J,E1XL*@8>?4R.>!8TW=BD\_)"K?P.2POK622_^Q:&J^N25G:Y M#;M<\C/L;;_!W3?_1":L=EI"C#RS2[0&M.84D'M!'2Q@Q70S5HRA$L\TZ*S*B1I8M* MX!T"[_J;$WZW(>/$G?;BQX*"^!!L!O</#4*"VDSU(\JT$)=QN_F.)H%,-% M,*O]6(T$RXY/G$SYI"'HOOT8QZ7WI_WX.+\XJ$1SNQCZ_:VY^OY2VXB( F)" M"9A/![ R>$@L.6:-=4:3*ZV1U5RPVE!=0E!BA6J[4)TI(9H8,UH2#CR5?!>J M!#BM'= 0**K(261L8[-+2%U_VT 6>$=Q$J0XG%9F.K&?2H62:B6XRP#%[>A. MMP?C1OMX/HI'@[.CRC>WXILG%IJ(EV\7 VK/TA) M?D[>L-P%)Q'!<)[EC>0X:$,$V/PK35;G]2W]SFNQTW4#\IU8-VX#Y"IXM(CR M&<$C>".\E11XXB9K%=R#M<: XH(%H@+1P17!@W6J]%CO M1V?QJ_":AV *Z980UQUGOYBTAS.F@"0?,BYU_ MJ B:.071.V6S&D4PJ(U-WM=J7EFJ24^K#? [#-*H +\S@,_Z9(BQ4J,"88@# MS'^!XU("H\9QDS@-1&YL8I]HUB& KT&,[]5=/7?/^_W\=#9N_QB6]<^]\Q;8N%JP26FN$ M]G8^$4L+9Y-2Q5F# M!K!:94;D&!.@3C;0JD.)E%&X$BM^F9O"IFEK7@A/L4 M*F]?CJZWC:V<^-TH;*9)WP)10Q?3F05N7@#MBO?3& MFT ;S;Q&/*\5H-NO/5@!?3^ GI%'G3)$):^!244 J0U@HH\0*$/IA*-,B&)+ M1]F1UB-MNOY4(U=TS_F7L9 ''<:]-#H^^DX3I.H 7'HMXV8MGN:EN**IRM=, M5O8ZA=1FGC MBMIEH79&A(A9V'?>'#> M?]GVW-DX?V@\;O*RRTN-3\].Q.]0HYGOV(+Q^W0YXKB)?2RVQND[H79H:86J MYC.V,:&3U!#PF*4,9%:"S?L,.-6$!$N)*P586VK14JT8#\^*<6-05SO&@LB> MM6.@X$I8 VB"!>\F^)>A*,B#(CFYF^,?,Q0]60L;1^"^_CX7$C9A>! M8W#1O+PF%0B4C49>P"V%J_'#EA)8$E,H)W>*$&7F&$*JBE0IXD"4+TD5P614! M)$$Z(I(S%C]+/M\UHGND\!""B)MPCC08VJ%O+X+X1BMSW^'%MQ_D0W#1 M%5$XS\SH^$,>\;@T(!O%]\>'[\OF\$W/O9Y],XKQA^-\5LR6WY4XGQ?Q9*J. M[Z5_%WO^7IJT0*PG6GLGVGQ>/V4F[P.15RS+NUE#9PP<2PRDE:4C Q%2^8U- MU<\[K_KFU@S/2XT NB&>JZ/]QZ$\YXYCGJ'**$9I .18(6.X(5PRN7_F%-= M=+0_!*?<%S04B>,TCHYZA\=V^!!\W_3]16"JD-F!+>@,R(L 9S_*?COB0A!3,M$9!U4.WA@:P'\!O50D6!/&G MKT&<5"264 V:EWS#$ D8*CB0Z%QPFEC'LQPA^EDW6"NWW MRRRT6V9^6J6L,LVMF&8^LQDY5XIK#R8A!531@(F:9,XQ-"ET!JDM 80=Z0)3 MK0[=EQ(J/A?!YVSX3F).2,OR^6\8H.0!M,MPM=PI'E3D-OJ-32Y5-_"YMNZL MN?"=RZ4 OQ0(O)67ZP8JREHX\.]3<+C&;?_T?)VJVWX9/'9%O#!C5$H;0!&: M ".3X*@00)(TB%+*)$GI+JT6+[A^6^BLD,5B+>B@T_$\E1B630PS @[S5B@I M""3E%6#2-HLZ+ %C*4IAO B\%#_H8QNI!-T+YUFI\.4#.WP3B_ S2:$>ALDO MI2C+^PR"X0]F-JVQHK6\&.5"7N5_3[Y,_HLX/AT-_&D,30+F,'S]PJ5//L\/ M?AQF:\ _^>@/S\H2Y%^:I7YA3^.3E**OU2)N1W/SH[AG\5@5KDAED1B&5BH,:#CBQD$:CT?1!$ M 8]2QA2\-<$VQ9&-;B&DN9IYOB'F/#T>Y3^'O?CQ7-@Y.LD372)&VI5Y5LP% M?9\FG D%[:7+M+0W7(@ *V7=BK+>S+N-?!9H6"8JD6470"6SUL:- ,MY1"E# M%(EO;)KYI-(:8-)!='=#I*DX[P#.9T038Q(SRCCP:++:(HMH4CI464MC-"X0 MZ^/&)B>+Y%]V+PRE>W+)N8S^3>-++YR-BNOI]"#V3AH1O^:3KZNM)O]=;36M MD-Y\0H[,.R$QB6"I58"64]"E#S@E,4:OD/M2CY?K0QPK9>7Y)G%4 M*T^+K#(C2B6;#/I@@3M;JGQS#?F5!-Y*0M&GP JK,-)G9A6(96U-0(^O%:_L M:<_%-X/AL A9I3/!C\M8*Z8@WH(,D5I4*92@4HY>6:U$WN9*.V.CL%K_\ZQP M(&65YFL'2;;W=Z:C^517"HK.$@,#+*(K,!0+B&$: DQWA-2C#]] MB;41^;K!.TGIDC/)*I?RZGN=*-7&<>JMB-:E!MZDPGN5X#W;V$!G11AUA)AB M E0^@6/& (L..5(3[20EH$_8?-3QRC632$TN0402V-4=P[%.B="$DZTS#U#=QOE:D[PM3S_=4C6F-%B$"HT("& M9I52)@5!44T14](E.<3T.5O8$;=B]JK*? ^8^;CA3EN:A5(K$)FT&1W4">TB M)Y$(/E%!*_.M$O/-5H'DBB57 L:%#IGY5%%!M0!M,N<1B ML4'M?"#3S:\;6KO?TH4\/U$X/BO]*SI<8/&FHUQ;/>'EV8T?-4O?&M[W7Z7BFD2-\\4^;.(%+A)2EY8J MLQ82TJT?>K4EI-9C-!_;DT&FG7^7/;?G\@38,H3QLZ$_&]4F8*T*0_/]@XU6 MWH=BC_=! J882PJ= :ZBTE(&*PW?V&1]L;@PU-'3$%4YQER<<+*(8OL"XR,(YRP@*QJM1+HWTT"Y=0[D@F<1B,3P[M MI_(D\=ND>5>?7-4!+Z1PKX)*=)]JU6HIS?Z\9T5O,)S0=2:(19I4=,5,TJHA M9&U4Y<:Q>F+SZ/-BYR7WQT>Q=VH_SIM'JCOA ;L36E>6GS4[;;]LM.=Y]^W& M&GG;HG0X'\]O.;.!&06!J-)&3JJ%XUDZZB9M5S^N MI+?^I->Z?EQ);\FD-Z,2A\B#<-*!)ZFD&Z %*S+SE9):A.:#BR=6C(*&FU4A MO?7J4G(SF?0TCN)XK@O:PH''J\:^5SW7:A/L$J3*R5ZY8-=*H# /(55#2"ZZ#W-@4A'4H!KHETT*EEY6GER7(;Y5>%J*7 MV:)?U#G">9Y^+*3B:)'/F $G+=-:&C2%7DR7V*61OWXY+77]\[]A\'[S7_G' M^:V/[.C-8 B3K_Q*V=>,X&/9/^V A9+OH84UIMT8IUU:3H\+.$($P)F#K-+S0=#!Y=S.WL(TXOK\JSG1R/!V4]?AW%0WLZ>!]_^S ( MIP?G2+WTK>F,D"]?L2Z/X.ST^J]T;B[%UW-R^6<9=L, +&E'G5+>*(Z2H59* M&*G1L!@P&?D/IQOG7SJX<+N$'^VF\\ **KS_+37T-[%@9YV#]?M3UOC*?[&#M]-.'Q^9_30W[W["A?V;>@ M-'Q]CN^-WMCAX'/CVOJR\OF/K6%XG@_XX@DK?^ZEBZWP92=L#\;^\'A\-HK[ M>4R_'Q[[=_=[_'_>>3D]_M_^]]&KSW\>[7Q^EH_\\OM_/K]^&PYV]U^1G?TG M?._O)Y]WWSX]V-M^<92/\L/X?U_D^X83QU#N_OWZ[4[^QL[;=^1U_GTWBP^[ M[ G-XL#'G7V?Q8H=MO/W$]S]XW7*8_^PN_5/E-18[CG(+#L!!ILYC%&9?\OG M-_>BB%X3B6PP/(MAJQBY J7"Z%A*_7*T$6VP6;^07A.'R5NWT8M9ICHIN!J= MQ8W-9[O[3UX\V^D]?;:[M?OXV=:_>\]VG^Z]V-G:?[:W>RX63+?)YM< R.]- M[]VLY72)OG?_[T%F*D- (RK\*NNV'7T\YPT8V?-1\I#Y-&_ MCY/AGXSBB1U-NM=\.;1Z/Y6^H(S\5EYJ?J6_]:9WF[[S>#*QTS=_+O7(RFR/ M0C.1'P:G!\W?9V7SO0'.3G,1\Z;.(PC>WCXJ;P?3R;3T%SYKV$S*0W+ M- ^YU6QI^\4"EJ?JRYQ<R=GH_&9'9Z6$ZU<:W16[E4>>!3?G!U.8K#* M-.1'9UEY[/>&&4+CL1U]:E8PKZ,=C,J.NSA;SA?D MR_W/1>-^ON#X['#28O'X).^8R0I>I#^7Z(R+!3W?')/LY_'Y/STTNDLS]FG M:$=E09IG'W[J'>=W1C-W[86S6"[R/M_$NL'AX/134]DO3_9QWOQE6^>].6X@ M9/.RCJ93,(YV?#RTA_WSN2GS7C+ FWNDK"$>C\:/>M<*;"M,ZAEUMZ'+\<'Q MV6$HJY15BP90^3MOSX83PTG#4V7%;L"[#<@/FP],M,ERLF:4?X'I)4ZDZK=Q M;VN8S]W#WHMX#!FFIZS] M4WEWXZMK;60RZMU^+C(HCV\Z(3L7%/%_QKTB[IU-B+%,PU;>>9\R!10D?-$3 MBB(QN""X%U_@N_<%ON,XN8T].PYO_G6Q>BP?.\97T^B;NB1^Q>,B.^/GKR MZ?7VTT&^S\>=[7S-[_85[^[\7D^"'G3?_,!ZH,4C M"V$!6=8HC!$2+!JN!*=(*9G5(YBUDLF@6"0OY\]?O;DY0]H$M\?P=J4A61O-HKO-KB?,?^)L86^QI%O *%_Y^E@_S+%2<3^[= MC.KJP[0'2QG%M^^Y_^6<[&7:=W;:1O-E'L'6\/3_9^]=F]I*DK71OZ+@['W> MF0@579>LFWN""-JW[7E'N-O&[8._..H*HH7$ED1C_.M/UEJ2 D,&&$DO&;" M-.BR5JVJRB>??*HJ^6J[ND)-URR=.,(Y!C]F/@].+-T=O=U3!9]V(S4O/?.HJ9CT8HKMS%X*? MRDV7&;*3_L: O-WZL/E^3URNM3RL)_@-*>WH;9[S M F?USY_9$[S=_@Q 9:9*$IV3(*!R)"Y:0:3G.HD49:1A'E>#P,$PQE.C :0' MEYD4VHLDC*!<+WB"1P7#:O#+3+^H,K9(Z\>#T>[!'?GS,)T+)C5Q+E%]"=HJ MWGQ9P'@]$SJVIT+'^83'AY\I(O_8*+;>>KV]_?O&/R?H5H?>XXF&==(?SV+= M*9!4G\.73P\&Y1Z#TQ*(C$[\J!N[2*T3XDZU5!NFGY]>IWQQ/,1NJ]<1+PH) MJ=<]P@>O N<9T,RS@J<22UY-:6XTI6K6Y$F\5,Z*E&-]_7 V"_XO>+=%52OB M8+EA[1+<:)0FX]&;1/_=6OA*+AR4_W9KN:*J1'1Q:*N96(UA;^)#QH/B,":7 M'[5.1M/\_[,"1L7;E$1QU8MULKCRZV7ILTS^38S%_DZ(+773BKB!]K%PS\FE M<.X,,5"\?)]SD:66.7!RH\N=/.I@5*Y6Z:73R]72SK"$I&& 0<+7VKZFCS[K MX@N?OZ21X=P^.3JIVU5+(&76#],!MKQX[97,Q-FX]=/@VR23R-K_I_YTF M:N";LERT'?\NW3;:'6QGY$'=,@.N_/1NV3+P,_OWSNEG&S"X"U220&T@D+(C MEH,@27EGDDPJN 7_;C'&TD:8')@!KYCEF3HEHL*7-%]<,2KH4AS"<'30/2XV M6'8*H)76,W81O":P4T/#N(:A.0WZKE+3,-5&T"LZ[;-OQY;?E'E^WKT6ZOJ] M%LVVB6;;Q$-OF[B2'MVHX,PA5T+>E-'O4(Y\2AOE**1 7>#:>?0R\B$5GRL? MX$8HW?I7M;'M'$BJPPRA$*OC47HV_>77Z4GR;K_JV>I+OUY^@-+4N8UT53/K MMR=&:,VF9KK8X>1$P^3&$Q/=K$QT;G=?_9Y4FQ3XM6_33?:=[RGV?=_\5F.9 MW91,K5%C^?5O7[SL#6=1'O'.]/'?_A7YTSH M^82F_W1]\-^MMY5T<&D#R*5>^!&I]%;OT$#=&?\9Q\U;3(D?E=MR#?OQP_]M M_5X>"@E1&O:N2$"XU.Z\13&.)U&6[-H3(/V3LFEM[A!(E"Y+IJ4-C(%6QBCI M!:4Q*A9\-/GJ%/!O=E[-:P"=;G\P[([/IH= WDZ#S-]G,>9O9[]C\-<_/QA" M^'H&^O7)D*-WO;V=O7?WSM[+XZ MG#\9\NGU!_EI=^\4V\7WON)SO-[[TCEZR3J[^W3G"-\[? .?7G2^=#[NY,Y[ M2JM3(>_IUYVOU9)P IM=")HX830!#9:8% 3!80K,41V9$AM;.!W6()/5#[.+ M_[Z?YUJ]%+_7.Z?6<]=WT6'\.3S^/A_U ,FB5K;'JL[JXLU>5!+Y@_;7+6IC M/DT_PZC2*@D'&OT,^.A#YCI&L)PKJJ'Q,X_O9[H+?B8*1SU3GB2>'0'CJJPX M@@1&@\V0HP"S%#]S-50\55>R>HGOON%*?MO\\]'#G)7OJ9A^XVS!;PA%H[91$6YR()"U($9[3KQ1 M+ O&H@I\F?')3^(WUH505W[C=1H>E;TNKX_\_S0AR$/YCR;NN,%_>&^\5S%[ MZC@@!CD1*:"_L-YY!H8W_N.Q_>=KQR';XWY-NO>&S61=IUD56Q9_0*&U"1AMI-@68G.!:.IL3*!68,HT_ M>71_LK@N8J)ATG!#A% ,XY,HB+0V>2 MK:74)4T82%,6V3TQ628"(CG/O'39A"8X>;+!R?;Q8#^E)B2Y56?MI-/6KNN> M-D')@_H1GL$S&I7G7$"$Z+V25'H(96NP9:'Q(X_M1]X^7_ C@6<&CC(2+/4$ M?W,$O8H@*9I,(2KA['(6W9N@9!6AL1*YWO<&?[N_NJX)1YH-6X_D.T"RF))A M01D%Z#:LE(Y'SK1FD$5SH&0%?,?[!=_A,RB5+2-)@R:0G2#>LT!T=)&'P)E+ M30SR=&.0RG?@D/9#:D*09JO6(WF.!"YGX3P-RF/\D8P27)IHK(_">I\:S_'8 MGJ.SNSW>>3XK4L5W=M]\CDH*KETD42M#P#I.3)22<,=DA!!DT+$).YYXV%'2 MIC8Q1Q-S/);GD-$+8X45(H!3TPV=B \<_,4ST6DIK0FJ"CB<;=/Q>#HC\7C)SMEY5N;3_\Y_G3?1Q4\J4 M]\W"QP,Z$AD#@H\63DD/@F+L87(RELM,;6:LV8VU H[DS8(C4=E21XT@('RI MD)$H<2(XDKV-PE.J,#QI0I G&X*PUMM^:FT/CP;#9C/6#_ B33ARTYY>)W-4 M/O/H(D#4QCGI93;6<^D,LXT7>6POLK-X9MVZ1+EBC,2J2"N3FE@I.-%9)L,@ M9Z98$XT\V6ADM]L?[Z3Q/1Q($X8T8"TM5]1RSF(R5 M@ MC0-Y; =R>?]5?6A=FQ D3T09Y@E(;8D+X(@L:=!U8(8&U40A3S8*V1D,QP7/<>HPXE*6&2.0*:,V*31TI9W0'KGRBD:R]"%%8FZB@X M14WR@7J1LXM*:M.LN*%>]4-GWV[6DOU&S=JD/6%WG67>,=PV7'OGJ>L /73\^[9=R MR._2\0 'M[__^P";=5;__(EKPG_I_/$Y)>PZ2S6!9'C)#A2(%3H2F7562A@F MN)FOK)PYXUH'A80Y0K32"!6=83))%5,48KXF_*3[6[/^;Y'6=679?XB9S>;< M8I'F&Y]MJX/1V'Y57KMUX$:E:R;5ZL<';EP5,OT_^"I&MKDU.$Y#5SUP\2ZC ME MXGQKD',WI.%F:_?\8^7;3/\Z:I5+M8;I[VXZK:^##>P.\4O#?=?O?JT>A/!CZ=W;_8V^W/BDF=!8V$6X?!FTV2."<$42F7 M7$!&2I<2'=4H?1NEM?HDWQ\F11C_9!$#O<[JS M_3E[&YQ6@625BO?)FA@O@:B0,W52"<[\O#=Y5**"@X8PW)H-6^7)?K3G*O!_ M/$S'KD;&TB"$3FP93E&.:@NX? M-M]OMEYO;_^.2/Z_)^@Z1A.TK1 :/U"A_.%)K'&M@N,TZX?R5[D8@O'HY.BX M1NS*([J<4QA7X#ZL" "VR!UA,(O7P);CY]/D:KVN\]U>=]PMUZN_41Y@\GRW M>*9RD:ON@6XQ(7N9M/G+<>FC42N># M^G#>L_(6PTAW$S0LC7+Z#D3>&W6?E M Q>?#P.^B/6O%+O;(L)6' M@Z/)N)UW8W6CR2=*MU^Z6[\:UUCE&!^=X]T\D6HB@IO!=W?H8MKNQ[_#$1ZH(YQXB.!=<6(@( MZHP:D#D.!$0N2MWHG&-&OTZ1.)MY#)_V>.N\RU# MTWZKG\85TO4K:GQ:T6;$RE8MG$B\TR0 YD#GJ+4P H)V1B-KMMIXZY)TICY3RA@7K)D$#S\)SCK[ MGX%KJD72) 6#"$J](1Y=%#',!.>]T1'L39.@PH)_G_13K6D*VFX56ZYFQPL< MC1)M3MYBU5OX$RG;,5*M[M^I=W9)))A%[G6,C:[O?T]<."NW*('T#)4PIC[# M.[C>V=*0TVGP*C="D@:D,\,+]"P&3-IMPZZ^.ZPB*AEK:&7ZBE< M>->PF_ V[>K*I4FIQL6SZG/8OB%^I3SAH+CE5L)K#H[0^Y>7D)K@38=GK8Q] M-1B>&5XK%@95\T\DR36APY%(P[\G?,^G*:-&7OGQ(/4O"AWX;LT,W6EQ&-@= MD^>KR3,^-=X)[^I:X<#U]U/A[:Y5QKFT8=;8F5Y2,^B*T!\E]#ME?,\':>"1 M\]5R2OM2*W!TBR1Q\=*39Z@\5<"V=\>MW@#)^I5:SL7)=N!BJS^XV$_G#NZ" M?RS"&?;:)(:Y=L+CW:^>[P\0\#]APOM^C)/>#>/OPT$\">./;CC$@3G[68GN M*?KJ[+A,RFEB4T"8QBXM5;L"X<:8X+EB(MEYHJLY@CL$A1PK0*34IRR1:V5F M8G0N+H@5V-U_UPIH!3J3;N].A(/5I+LW/N/6QZ(_X(/%@DNGDZE4 N#+^O5Q M/=<0JO_3G>)2'>"6S\V^=US-P2)_8] \":0G877!A L8/OM*Z+GN47$!%\"W MP.<1NK8)"A?,&:)_N'C5B<.HOERD!7<#E.$S]&8M+SAX>CY^W^&A\>NC1^'W M/ MR#>C?:?1_KJS_UDSE:@7CD3!& $C!?%@'6%:J2"#M(+Q,MKLVM&>9]\/[<[# M08HGO?0VSXWV#&EW"\GZB1>W3W%872J)>W TB7<<_Y0\:QU,D&I! MRI(I! 7).H'_@4"]R]Y"XFB3QK.P(&45=Y$')8*J0J8J0"KJ_*B2;UNCDR.D MHV=3#?OYQ_=XJ ')\@8XNB?SZZC'S6=7MQI% 7O7PV M3!C!X>S_];0;QP?3_5H7OC7AX_3\*\Z/!KV3\?5?^3:3+^%#&OZHO3D58])S MO73AY\'P?*?1?B)^F-Q?Q&5LX3/7.W5GHXU?+C\;/MC%CKRN#Q9#EP=ZXJOC MDK*A8>Z<\7R\]<@MW!E4PL8 C6NZ_/7\XE+1JUGX^WZV5+2JS_*/#WUW@J%V MBO^\:J9=R==3$B:C.Z'<:$#2@C0E!>H"U\ZC\Y#7\?P;D6XY074%B><8,$3^ M3RJYYWB4GDU_^35V1\<]=_:LVZ\ZI?K2KY?O*8\7=N=5MZO?/K>?35K;T&2[ M\^3.D[S&KWQ7P_TQ"MXS._A@S]QV^!O$M^)]0P$ZCWIASN]3X=_'G9>O.M]^HC? M/?SC= _;]/;%;T=[O'/ZZ>C#V=YN/.B\^'0POR>]P_\\VOG8.=UY_6_'>P<[D/G]:?#O:^_'7TJ>]LY!A5'KW+G_60_^GF>A, T1H$8.8AHRRFC MQ(DQ7!(:$X^!R9+G LFA7-(AH]O-^._8Q/ZTTQE\O*C.8>"5RJK19$?/?4X2 M/PDPO>JYUALR[[F)][;8>3ZKWN"D2K'!TKM@:7KWJN%83'?ZP>/DZG M4(.+=\'%LP5<%-8RB]./1.$U >43L=)R0H-G/$ 7V695V8!%__Y@P^Q_Q0L M\G*T7LON=W4]$QX_T:\$]G39\ME+-9?_B2+Y9?;'"J+RPR_I-W'^\C%X=N[\ M'(-C-I2ZI B+ 3&8>4^<5YHD RH$2;F2M%(NE\1-EV$0]P+PV<'RI>VA:^3^ M1NZ_1NYGC=S?R/V-W%]H0%;*9V^STSY#Y,&4ZE_6"Q:<3,[75>SISRWW'[WA M>'WQ]L6VZ+S&WP__^/+V10?>OMXYV#M\>;9S^">V_=WA#G\#\S1@[Q"?\FN MSHMPBK_SG1Z(O<.#J^1^QZQPE >BK*($*'?$ M<@5$>YF#,#A TF]LR7NS@$;N;^3^1NZ_)60FI6WVX(0( IS5#BDZ*W6O@@5N M@55R%IO*6=^]5/HTY?X?A:6+QJYH-:IC2UA M%V6M1NYOY/Y&[E\U?'Q:/^3SLN;6==#K)*5+2L X'??PUU$ORX+?J M8+LZT;8S&+?V$GXX#H['*5Y[5&=U;H[_ M5+DY6B7):[G2E9>8I)IMMTX/NN'@0IZ_"U>L<^B%P7Z_.TTN6%*GA'*2ZE(: MD.J0XGEJD4D>OX/4BYL7GZRPG.(3],A]F*R35:451YV@9 MS3*GE/-=/K7<\7&OBW\=#P<73]M^K--MA3HY46^6\&::Q::+=ZMR$+KQI;:= M=GN]UH'[N\IX.S@9WIQC<'/QF.2E,Y3?.C9YKPF[]2\__&5KT1@J?.2E.);7 M.E@M0'$P6DNK#%B>(F2K/@N]\;T6]$-Q0FQ.#6'^YP,[IG=UBLA7P\'1\T') M2H-$JSL^>#[)K[,R#NELZI#>_84$IX>DJ/?I,![N[;Y#9_0&.KL[ATAZQ"=T M-I\^OOFZ@PYJWB%]0B*U]_$#DJ(_CW;XSL'.:W1&A_M?.KSSI7,8>WM'V*[# M#NU\?)5W7NR?=;8_4Y6B$\H2IE(FX( 3AR$J,5JA=Z)*<=V+N7?[[<^?#RV\>2KSS(>/.=+K2WS)/AH#=- MPX#TX:A;#HKO#P:Q3LU4DIUU0WV0W,WRJK6K?&O]23+AFD ,4RX)YT:SI,3= M.,E1/\G9-IXPINI:=<:S*F];^C+)X5:SH,$H3>Z/?TYO7_+V(>WIE@01!UU\ M\)+A 0/)_8.*^YQ-&L]N.0%$R=U0!Y6D:$O/A+IY M1I ?/B4JRJIF8?:/NO'EKF&P*EA5A9%1I5%6;5OUA+W?G*#OIB5$JM&<9#:]'#C4 U#/F4GL$NN892[ZJ$E_ MJ:DU#5'.I]^Q=JO)P+L]US7)< [T:Y<-V@5Z\>5SVE,MB/6Z1]VJ.F2Y_J2*%EZNWYYF'2UE#NKW$/'K-9KN4:EB59YC ML_6B.YKD_)^D"H^5*'?AWCC!+U"MNMY7<6U3PC#O2JOZE.@J3^KH!?W+Q.-> M_FKE=/ -]&WK3#AF^](N!F-(W0:A6X' C.%57;607G8VVJ43R_&(RK,2) WI M8A;SF<=VK?T35UY-\Q-F5EH"V4>=6C:?]*LA<%5>=)P.5:0R3$@&T'?'0:L_ M*"KI>1+]H N3I99Y;6VS->N/2?VVPI^>)M7\6"]SGQ7*5VTV MFI8OB=T)OYMV0>P."SVON7>A6'[LNM5JNIOUW$0U[U=KX[&4&W$G^-4JE#DJ M1>_JTK"3Q2ZRRYBD9BQZYWSWZHB@]48'F-X?:&"PC8I=),W?CB[%U'*1199X5TRPF/2C1 M 7YQ5L%F6MEA86FB!HMJ:A19;]3:QXX95]4H6;VERO-3#:= M'-<;R:L%EOAW_=BY"F.JZ'+2Q]C\:9S3GO5[B5C*YR8P6)7$R>FT%9&4MBJ& M6M?'G-Q@6G:FQ/VE-T;IPMOG$=LPUDYF9CD7,W(/9O!T585-[WK5 XP.2LV= MJ0)P$9YF%7#PMG5YN/*A20[PBS?Z1V%_+?M/;.KVZ!O*7'FL8S>T.%K&HGIO;[Y^W%%5E\@S* M%$2X#[U!V5%4>G[?5;.^*!43<+IFIJ^[PYZO[#2-[D?GIC2QK=&UJXT7YFP\ M225&]H=5]=3B5"L1JS*]]G1[5#'E69VJ(G&5U5:D2C/#FMVS-NIAO4)95 YLP66(PU8(6ED9NOF$/J@:V(EI5-0"+SX3'FIY MJEMK!YU MC]*$T^FXS%X]+C QOP9;;07SZ4JSJ+68;ETW';E,Z:T9_YJO6#[34B[UZPWX MGR8"Y*T-K0Q\77ILMJ>NWF57%]6]5'UK(I=4*MT1CF>IEEW I0@P[0F5GU;+ MG0?#"V7?JMZ<3+AZ#.L]?U<(+S]R2_%5.VBV2\.V^W%%JV$\QHZ:_<]1<)&D M4R3I+ E8 &($.*(81!M!\13DZN^0N7$98:X8QZ0"1[61Y,+BUVC*'*[T]E.3 M&A\,4^VJ;ZC$L5!;XSY^;*VRZ)A-H_1#9-&Q0BPCB\[Z'M;]K2:5[<52+LWQ MW?4XOOL(A\2N\H8S+S@KWKLJ1\:^SQ%.CHQ].MKC?Q[N\<[73^6:7__X\O;U M2_GI8^?LT^Z_N^@4N]CN+YVO^U_FCXQ].OJ$U]LYW/NZ/;%\EB3&+[)'+,>F6/NDAI! M&1]%$L)R84!*:8-G-E&*OR4$63T?98A[H>QD1KZ;3<@&;^^"MXOIN+R)P0/C M1+EL,'")GGAO2APC\16M52Q9.:54]TB5T&2/N7WVF)F<6M?$K<21Z]3K2BXN MHD&UFC#=Q';[_%P-@UT7!KLTD/URG'K?1M@W_3 LFX:J U1N=/"NUB=7*"?- M.@#M8JXN!IPZ#9(H*I#8)B>)58(BY&K/6&).I6L\G,VOW?&(U6'H7+%W, M[\6BL"):2C0X30"B(TY2("Z!%%H=9I8,QS34**CD"DB9@I>#TV\7)6!+O5. 7%9LG*N)/?XAL9_NS,#)&YBS)3$?D2I$1GV4B.GH%(#AHOY"6V<1H MF7,RQ^Q!,V995C%EP/\7N1#F#YV54USU 2B?>H/35E58 '%U4*K5 CEX@LGM[Z5?KQ)(G6E.=HFB=3* M)5[ZV9-(W2(IU'>XSRMO=2.^K=%Y3A";&/0N_SPGVS3F^K>_==EOOZ?H S26 M;_+OO&S3V)L;"[>][!7RQM1"T$.GI_O)&S2>:71!2VQQU=7MPD>O$#1JGK M)H/CY4"[N0G9:7U@OQRP[]0'ZU^6@_55;#*5@.;CM:?=&>^[7^[5%4]O(E_0 M-:^+M:\(MV\>V&7J5;<;VZNTS.]]S)^CNQ:R'#03J)E RYY JP>9CP##Z[!F M=/4H3THBMR8"W6WLX\[[?>]J.#=UYGVNT31RU1JY>L:^$@"R+CMW?G?=NN+% M.-7KB+G;.VHVZJS'1IV[K %+:T#$I)5@ $X[EJP27D@:*)?:W7G7^0TE/%]6 MQ5^P\[8GQ59VW9>?8&WX,-"WNR_EI]U7?W5>A"^=PW>]O=UMV?GXDK_]N/>E ML_M![KS8_M)YT>'S:\,[7[$=N[U>Y^,?ISM?7Y[MO/[SH//BKR][NWORT^'+ M+]A6VGGQ\K3S]=-5QRUSD)25G3O" R.0=":.*4&XYCHK)YPL:\-@VES+^RX. M+W$WSW?BZ;QC:A!J[1&*!4M-B%($&B IZ<%ECY#%G#&(2[%"*#9%*-8@U*HC MU-^(A1F*Y5+2LG3.A$*%DFT.#4 U"K1Y"!:>,L(E3 M!Q9HYMX(EX,-T@69HX,K-]8T"+6Z",7F$(I;RT/DGNB8$H$@&#$N4D)#,%PF MX1*+&UN6M[E83+76(%2#4(^-4)8*9$9"6BXL>*!>18=!G1$^Y6S%E$.QAD.M M"4*).812R)-2HID$3@4!JATI')G8R(W%<-XK(4KFW385=.41:O5DOI60#E=O M[>%J7/K8[PY^=V>\TJWLGXPG&,46H%E609@.CB3I;8>V06#'+)J MQ+9U@N$K>/E[W, M]'-:M[/9<*132+ LB&"\Y90F:;V4P05E&J%JS:Q[7JA24:J8%!!O4B%95!+D MSH(H8%ZF&*6,2+(8DBP#C74_->MFW!J3N%4I@?#!1)X$@^2UD#'SJT]/-=:] MNM8]+_(X(:2S6A%*52*%I!&/43,15D45@"NCP\86UVW![QU"-=:]8M8MC>4\ M8-R<08(.TK/DG!799.T82Z(12-;,NN<%$DD-55Y9'+X0"7B!7MQ93J2.-&,>/VAJ8HM$1VK<%!=KSL([9>*&5D M!-L((VMFW//"B(X\FT -29*6_7G@B07%"9=9I1RXC49M;,FVO'_YJ\:X5\RX M10J2*V5#L@$T=3;9;#S0H'1""B<;763-C'M>%[$.!U5Y39PHU9B4#,1:IXCQ M+%JIF*$:-K:@+?CJ[VQ;/0EC)621>^X;N9 ,:'()4C[_3&UJN:SL=K<[U+H[ M&+O>7)ZC[Y"O;WV"^XE@N*'(RJ4#98P%;;BQS$?A4O+61[3(1EI9*PR_(NE] M "-MS$1;L 18EL0XF0@R\L2E=S*6ZJ1*MW&,'[H(U!59$-9E6>MGPP5/G0^! M"P?"0A)@'"1T]\I[K5-2M%%EU@P7YE69'#1%0B>)XC24P$T2;YDF0:I0V+PV MR6#@9MI*+58E:G#A9\6%I(&!]""XH\"L,#ZQ(+W2P3,MHVP$G37#A7E!A]$ MRDM!6!!E*899X@/EQ- LE4N!"14WMAB7;28:8&B 80H,O&1RY2%'!1Z )L6*4XB4HXG\$SD1(" Q5M:>^] M2ONXP+!ZNLX#:D73CTP-'RK(6[9"?HMK/%P&K*:13[B1JV=83T'8_6&Z[?LT M_+L;TC*2$:Y*EKSF&M]]C=4SO)4PYG79O/I^D,>G;MB4H']Z62)T$O@PH!UG M&E(,7C*!Q-\S_".Y9)N%HG6*[]XN[L$UP#&,$XEX7VI462&)4UD1+S2CW')) M2Y8(UN9P;]EG]7;R- "U]@ 5$F0!+DL?-#AAC!5&FS*GE?606;-BM68 -;]B M%4U@3!@@.3 $*!<=,9HF0IVG2K$4!/-U( M^Q1I U -0"U_+Z ),4=@P3D$J*A=6HU5/U5D(I7#W9_VI8>GXR]J[_5RL, M4^Q>J*';9!RI=E]&9(E6&I]" (OP*Q/-$$)DF;(<12.VK1,2=W:W"PK7@MO7 M<(KM^LRCB8YG(%$830 R0K&(G( 2*2ECC(RL'*UA^MZ'8IM\0BMFW1C_"6%= M=!HX"(ZA8&)"*V6LMA%X4[1B_:S[[+)U"R<\LS01(S@0\%1B),@$$4H;6DJ4 MB')P3K1%D^GSR5EW$%Z(D(2.(8%TP5D&,BAJT.Q55*:1>=;-NG?F?'>02GF1 M.9&Y9*N1 8BQ(A&,EZU,/AH#8F-+MQEM?/=3LV[*+7#!,Q?4@4C@#74NA%(S M(:HD3:.1K)UUS_ENF8+.#DEYU"D2X(PA,U>6I,BXE$H78K:QI=I59>D5M^[5 M$S160B19E^U4;_JCL>OU7 5*/><'36+ N=-HAH;, W,N"V39PF7EN1)!8OQL M7 R-3K)>:/QR02?103.G@R3"&$$@4TI,R((H0[T$" ),J-.J0Y,][*F9MXC( MJ*CDH(R#8)2G*N.?7@K 69&:H@GK9]YS9"N4V@A>,C1JR0DP)HA53A%%55", MT9P"*^G#A&RL^ZE9=^;))8C>TG+D.&H/D1K#I/?!.Z-<(Y2LFW7/"R4F>942 M=T18@:&4X!KMW#@B/=.@:8;HU,86IVU!5W_!N3'O.ZYA7/01@=A23GZ3\!J0XQ$-\Y*>>,8DV-,;FR9-NC5 MM^[54S560BE9E^TDNT/7[6,+FWTDES 82KD::91V$1UN2IXY)%L^(-'.G O] M8_21!F;O +-O%B20Z(+U)B!MLC26&(D2SS4G/'BKH]1'Q M?\R"T4 5MS]&P&C,]V[F.^=]H_3:(<:2LI>>@+2*>",$8=3QZ**3BKN-+="K M;[ZKIR:LA$*Q+GLYFKJ.BPC+)+4J"L=M*3Y0F#"HH$-0'"E2"K&1)U8.83L7 MY(F_3O&ZGQ6-RH*E1'HJ"'BMB6.2DQ RYT$$QUG8V-)-^:>G9KU*0\P.0#D= M(2J&#E9$#&THNMLLH_[QNS-R]TN*Y&L:#AJKOJM5SWC3/C[3A\^66I99=B3& MA%9-8R#(@!-A,JJL>4B1P0::L.&,__I$3!L-4T_K%C4V7A=G338!"T8$J<$X M;J@U7EA$>1XH!D:-A+&"MKPSYZ$3E5Y19DCP(A$P4I=C_X8P3WF4V7(1\L:6 M;798/37K#4S[2(,'S2-HK6U*,4B3?:!*ZNA__!:,QD-_OU7/>>ALN,DN)1(E M!5)*+A!GO"19)I>HRBPZO3X>>O64B)50-[ZA*M549?42>E\NQ/@=4O+/5CG% M \Q>(7TBI6,&&D#H5[GP$04H%2IJ=2F:LU+*C7 L,R5:955]N"" M+SM)O#?96AES]-(JZJ1N3LZL&S#,[SI)C.0?!I@&%9JD\-#(X' M(WP&DKQS!%U )C:7S&)"_VF?_O_-#K32I]2BS3R)E,$H3(WIB40B[;0%Q"BMGHT^M% M*C\LZ-,E2-!<9Y*5]T@J72(&="!EXWLTT?-H^,:6$6UC?S9]ND&^GQCY3/(" M F*=UP:H8L[KJ$04RC*>HH=&@%\[Y)L+IW4":VU$Y./*$C#"$>N-);YL<^0Y M4%8$>&7:6BSK>'6#? WRK3SR:9UD$-8AXF4 GDS6$IABW#AA\5^SPK!NR#>_ MPJ"59U0*(,9P22!$38PW0!30['A.(G"ZL<6D;./(-]#70-_/ GTTN$21S46% MS$[[Y S:AF"@ @5G:9/A??V@;W[7A79E$PTG%G+)*8RD#Z$O$QQ)J;*Q)KE2 MZ9S3MJ++RO'>+*(\M"[[R]CY7MJJQJL8=+=_4B5.QU=B]^^M?^&/Z36.W'"_ MVR=U!SYC_#(^'Z)A=O-9_5*W'U,?4<14#F()>,7H38#%"V#]EH([&:76D>N? MM0:Y-3Y(K>>#([S_V?\9M;J(5\-^]7BNUPH3)!FUANE_3[K#U#H9M<:#UNB@ M>UR^V!VVJME7O9B'U6T*P)RZ^M7>(+AQBGC5ZC8?$!OQK_=C?''4;IVF5G#] M_F#<\O@;3D&'GW-^<#*N/GW2&R,HC1-"('9;W:9I@X^'@W@2QINM"?SNG& K MNV$)5/-:A'WYI>J9WA1=1[^=O4Z#_:$[/NB&[6%RH]TR37;Q]K_A<_^UGA#: M2__S#N\;CST']>GUN\.]CQ_@T^L_CW;XSL'.ZS>GG05B-O;TC;-=A MAW8^OLH[+_;/=O[X7$Y;!\D38>C8",22G2@82:@5S!IE13*I=HMH12EN%T<4 M@DJ(C=YJ+B!)9PT@=:1".ZU%XK#12NB7CG%8QL,3-,U=G !YT.L-3A':6I5Q MXOP\'J81&M1H;D*7N5/-(IPY(W1NHY8_:^W/!@Z_N(_S"E]UZ"!;@_[=FFL3#F,RMQN7?M@F%*K M@Y\[&+5>HK^(__+#7[;^?=)/+4';UQY8>I*=\;[[Y5Y=\?0F\@6UZ Z1VLT# MNTRIXW9CRZO"9#<.X=*V)ZU_=[%E&/^3ZI%F BU] JT>9*[P#KG5D\LOB2+- M]KAFO>!"DFX+D%PP.AM@'IR)I0*TT8$+;UBS/6Y)ZP7_/NH<[HM/+SY\V>/E M>^]Z';SGWFY'=E[O''QZ$^_[GS=/NWL?PZ!6LW!$"V" M)."#("Y*(!P'FG/&N#1Y8PMLFZEFCT@#?#\-\/&L0\I*!4XI!,T=A&"6V!0U 6":.*L4,5EXSDLRX(# )VT;X7"]@6_UI-.5D&/7 MI9K&\X-NWS75-"ZAL_11) S%?>"E<)%P07+F=+1"9^; -$+D6J'SV8(0Z8/7 M !B 1XS+"01>(G-P)% :9-3"F, WMC2"\[T/;#2IO%?,N(WA(++UTG$.6DO/ M#&3J70X\\F2:7)#K9MSS8IM2TGFF(Q$B*(PYM4 2)G!F>ZE=I*KD>RJ'$MJ* MWUML:ZQ[Q:P;AY?Q+'4.QH"A8+WB,KN87R:,"J5*%H;7AC(OA*PL7-#L M)6NR,JZ;=<_+)@K[,1B72=(^$DA9$\L\0V(N-?=<).=A8XN+MA"K7P9O]52, ME5!&UF6CVG/7=_'[I)&G6\I9042DIU$8X3UP8'Q+&R$4E")CX*27*62@5%I:1T M8\LTQOT$C9L9T)I*ZG-@X*6V7BH;DP%JLC+4-=+(FAGWO#22M,TV^DP4AT1 M4W3=H#SQ&6-E::P4T:#K-FW-&^M^:M:=:4 ;3D9Z(R!'9706BF:.Z)ZYDZZ1 M1M;,NN>ED0C!2*H485EZ BQD8I221+IL<+8()F)$ZQ9MPY>UE:Z11II-(U=+ M(U4^E=0?NU[KY>P@HGM,B0 M)1.-2K)FUCVODI@85!9&$@'2$5#!$!L5$)-II$)IQ3/=V+)M*>Y=!KS9/]+L M'[E%HJ/_BXV,@Z-F'\D<$$/P@:*E!@..1OS=49JTL)X'-EN,:@22]0#BQ5P_ M2)Z5MQ:(<-(@S9*)> N!1 '1YZ!,-'9CB[>EO7<,U:Q%K9AQ)^>2B9$9G210 M#2Y1:Y,3/'.?!#1';-;-N.<%$F>HT,QSDI--!&C,Q$MG2VX'&FW&MZ R;B96 M?RFJ,>X[;B/!N%EJE<$Z"]13Z]"H@S4B>Y9!Y48@63/C7MQ&(AQH94AP21!P MV1 GK".N*"2".85!-V(5*K!0U9<> 6C+,Z42=$$-R:9A?) MVAGWO#["@C2>:4LD:$V TT0,&C3Q+(+0 JF:5QM;HFW9O?619A-)LXGD6[#4 MZ<;82ZV7;C3^93L/L2W-)I++6_ITYLDXC?]%)%;:@T2NQ73,2MLP6XIJ-)+U M ./%-"0RRVBC$2284CX1() "SB2(I#"^,DY96<(H=?^ZL\1I(MDK%$/1'! M6 +>9>*]%80[#UEJ"H+KC2UH:]HD(7EJQNV5#@ *-""*"Z6-MH);Q1,#YK.S MC4:R9L8]KY&D9%4 9HCV.A (:-=>N$BX9IHZ[X/0LABWT*N?/VSU](R5T$C6 M90_)]JCK6K^[T,W=T.P@N;R#1())VF2E6( 4A6W"6+C]RH(VL%PV\7 M,Y$XJ;TR*9&R89> DHG8Y!-)AHKL9:9=6-#M(ULVX%Y*TRFA=$)PP'A4!&SPQ0@4B6=G]QTP&;XHZ0N6R M"B(UQKTJQNU#3@!"."<88+#L4A9!(>?6.1G%>:..K)EQSZLC*LG(K-&$.8F> MFR=)T%\; C$4Y9,"RZ$$4)2N_B)S8]QW+.FEO/9"&VF$*\L;1D!B' !'/28; MFQTDZV;<"WE(6$;G[ /13EB"\X43D[D@SA0^%@RG5)<=) K,RAOWZBD9*Z&. MK,L.DO^X<;??VD84:#:/+!33SCQDIWGVU@&X9(P,+EF=N$W"4M;((VN%PXL9 M2 Q5E@9J28J,(A^Y]XH' ]$R M UPDH,(HK3SRKD8>63/CGI='*!@9C6%$RH 1%+@BCQA#1$[."T5YCB5)09OR MQKB?FG%G;:QV-"O@#)*.5H.546*&$3>,I*1^)\B 2<-L0E M10D$E93TB6M1;?N4JDDO]-2,6W@E=7'141K WTP4&0F; 8RF?=;0R"-K9MSS M\D@VWEMN%*&^>&X.G'BN(J&TY.2U/(4J"7/;0K-Y9#4^^60WC[P='Z1ALVOD M$OYRL"RYI-$N X N^S6MH4Z#]\ZI&'^,+-) [.V+A.UN%WBMU8^OX13;]5EP M:;A 9&5!> +2:^*4ID096$9GS/(@@A 3OK"TVRVG&&,AS!^K'*!N-]=[)>G?FG*^1,D@K'1$Z M"@)HR\1HBL;,?,1_20?'-K84;=)Z/37S]9"\9IPG*1UX&:W)4@JC03KMN>$_ M1KMHS/=NYCOG?+4T1C&GB,H6S9=5B7W DVP2-T**R#-&QJQ)_[$BGUS2YHVJ MW_6FEH\K5.@K,6AW,':]N\I>?C",:4CJUCXKCS@:]+JQ-6WCY/WQX/B*-V]$ MY]50?NSE@@9DJ6;, M24\L545GQY%T6EJ2T+FV (I/T.BH1A;*,I^B;K4?KAZQS$8)A2LF<)*'*1P)1 W'>9*(MQ*@-9#+[;/W'5@/[K ME]C]>^M?^&-ZC2,WW._V9X/%+^/[(1IN-Y\M![X8O0F_>,&O_^_WE__Y/Z-6 M#QN61N-6F&!'RX6 DZW4$$/ :%V+0"KZ5>[_KCO[Z/0W+"VX_L1EF$;Z>H-5+__,.[QN//0?U M"0%F[^,'J,"'[QSLO'YSBF#V!0'L2^>+Y!@6F&]M9#NW/Z.3NEM?>)<%-26>2DB>4>A];&X 15H)-%=V*N M'-M!;HT/4NOYX BQY Q-O)\0_;$_1ZUX,D30K]X>'PQ3:AWA$!^,6JD?T=[_ M?=)/+4';K6*;U10I(]EN#=/H..'5_TZ]L^^8.=G0J&AVW#H.T5IG6 :O4E)! M23?;_'I=8-G,G%O.G,!*(9/QT4+@3F=^$[-MQO;68_OVC\_4T8!VY(@'2 22 MH\1$! FCI>1H5QB^E_C=;BYF_[TM*HRZ7^Z."9LSYEJQGD4V])T\:.M??OC+ MUN6+7[C4A,WH:3&)^/K MO_+M-I?IB7;Q(ZD;HW,]?N%G:7=E'#P;S[S6P6H!BH/16EIEP/(4(5OU&>C& M]$L'PVG#C]'2B!\F]Q?2"GRN9ZYWZLY&&[]<[A'LCHO=?UW/_3"*N[##8T9Q MVZTW_;!Y[21ZY!;N#,9H@.,!VB6:6Q]#]?);%:JY0L%?=?NN'_ VK?=C?.$( MY]IH59_E'Q_Z[B26ZL/_O&IZKD@P='7;8;..P1=_3OSASDF5[V4)DOEEA_?[ M<'",,?;9[SW7'V_WX\O_/>D>EV%^T1V%WF!T,DR[>+_?>H/PU^-Z/=IY/O%Z MA_OXWJN#O=U/1SL?]_#:?XA/N[\==#Y^D#O\T]'>4>=T[^@/]@GO.>_UWI;0 MY>.K@YVC/?;I$#__(O8ZKU]^^;3[E_AT]*F[]_6W[J<7?_9V#@]RY_"E^,RX M\BIZ2J@$@WQ&".(-ACM&I)2,I=IZ6G,2=#_O[RW>Y>:WOG1>OE'Q_>_-YYN;/;;NV\ MW)TZTLGPSSFC.4/;A]?&9S@3>/HG\^N=2RWQ>M*#CLG6I7\B(_<<\>C]&SZRZ]3.:W;KQZA M^M*OEV]1]HO.28_5#>NW)W3#VDTC;&$U%+>][$.(E[=^#+JI*'^8#E"/U@$W;%J^\7S%XD>O6(JK MZ?Y#+C^96^U>OA2877O<^JD^_8L44I$C6H)5/< N]<"//EM?X>4/6WA\=3+L M=\=(#"NYJ."VYR1^KF7I.S_T>B\[)_1&4?$ !@ 2LQ:9M.:)):.9 MXR%_?G.[C3S7$LK7P\%HM!8+R]_+.>N%Y2-\_6LX>_L"V>;73P<[7_^0;U_\ MB>_AO\.#P[VOY7?\SF%'SB\L(Q<]W/GZ!CH<_WOT4N!SP,['5]U/^._MZYW# MZO<7?QYUOO9R9S'=HO @0,I$DC3(6GD&8J@U98V'ARBHCCS429N6=6[Y":T: MW_FD98.6/S-:6K 0K03G*2B) 8(R&9(&H2 *S2NT9(P+UJ#EBJ#E?(H[7Y:B M@0J$1VH)"$J)LS(0KBQ5/G/%*"]HR6!9M7O6$BV?;&;NLKAU@O')N?C1I.>^ MO!&1.OR_IL(SA#:NG1)6Y,@1U((1.C2,<,4PKKO "!6S!KC/1/M<"B&$3(SD M@03#@PQ99B3Z5?5VELL6:(IL@W MN25.\I)YSQOB2FQ&!75).>D8Q(TMP^]],&(MD_\T^<#N6*@@F:QTUC;E"& ] MLF%+H\8P1FIFLUL686EL_BXV/\])0(62J<$2H8&6?3N!&,,=45)$F80N>1M^ M!IM_LEK+RT9BN::."CHX*-5EI0(:P0:.,)6R9:+HRLVBVXIAU\YB"7B6K6)> M4V(@,P(R"F*-T40$17- 4'.@2B%9KI]Z/-5(+$O)K*$4E9$Y%FA&3\BMYX)Z M92(H+I59&F-I(&%ID#!/9[2)D3+#2; T$<@B$H-C23B+7DN>@3E>RL]*O:S3 MW:L*"4]68OE/#CX>^ZP11-\5940P$9N518\*%#.&HC>,) 8 MCD639;. M&I0MKBE"+)WU"E';%:^5-(6I!S8)&!YB!8]DRN1F6IK6#Q&^+1B MLT:/60HD4&&Y=#1:9X%)[83C(7F?P0?+F6C8S*"D5/\L MV6L4@9+%P]HLC6*LL MA,1\CM$%$8,W2CD)#9]9,?!:W! C1?8(*;IDXRXL1DCBRY^10C#.>8EC6VV1 MIJM?M+I1:QX?$GP.*J3 O0('H)T!9U7R)B%KSB(W&V)6#Q+F^4QR(4F>#08V M$7$!M,9@QSG"?,R12U":ZFH?L&C4FC55:TJ6C/'PI+;F;K^%UK8_3*-&KYDK M/,M=,%1'P8P#H;7G21H&.DHTA+B\#;\-7MT>KQ8WR*3@K"KT6.6L@ =P&K-M>-)@'3") H8URCGC0V!0[,_YC%, M?H&B&,88\DQD)ZSD8A>!6)"16!VXTDI&8TLN-[:L@TJK:O-/5G"IJLNUCJ], MR7(?$>9^9U#7#\X"=X ND&6O*1AEK1;!@X3@9[NXGR8X;3RU MF3#E(@$M//%)"L)EM@EC:XBL%/^T;8S+EIL;?;W.93Z"?O.SH0DP5RJ_:RV, M@*"=T=)EB]/3E@*-QC3BSLJAR3QS$CX:[X0@(>9"GSB&338Z K$0*)EXB,95)6%L!* 'H4_;Y]W] MXD)OX^^]5'Y!#-P^&F"_?*U>OQ8?&VA<&C1>D2U(19ET1&C,E!)@R1"?;4"V ME?%E#B+FL+&EV_+^!T%7/*QLI*158DL->*P@>"R<(N?!,)<\,=I)9%,T$1,\ M*P)5R-I9'Z(H^P)QM)\X>#Q93>KJ!,'M4@KB?L7'!(Y>')R4[+]-PXX'5^UV4N,-EG=^=W=[W'D_7]%0*I"*$2FY(:7F.G&Y+%4$IH07*3F=2T7# M-E-+#K/_?_;>O:EQ).D;_2H*SK/GG8F@6%6I=)L]T1%,0_?#O&TSW9AFX1^B M;L("VV(D&QH^_5'6)4<1D1('A$O="/NBM"'OZY]B->C^,EY M(N\:CV7E;8S^F76K'_#C',5)V=NN#QCPZEZ)P_N;+&T,35 MC/K&YYZ7R"@R1B5!$C*$%';'K%?BST/+]'O<#TJ"MPDECQ]DT]GQCA--(]_W M7*+B!,PQ-^0D9H(1E\?DGIQ"FQ-ZKE!C=1WP0N"!4/8J!'3;5J&.@I#-3N?(4U[=/= MK6VW=;KI'W-).NZ; -V9]*]FUVK&/?Q)$,24 ##.N:A$3:DT0IX\94 M)5XD@Y^KB]<=]GK/6:;>VH>W,&?2?ZTYDSN#H1BM1OL;_.CK;^ZNW"]PY/OZ7E<[JG1QU]UCY OTMY1P?MLWE)0:_LL/_MK-7? M]W<[1VG[\\Y5>^O$ _^JUV8@7>AW7>O>(?N6@%]%CR6X4+#[AC#.<+X*3I:D M/B41B(>F"8UC?V&\I&LB-P1@DZY@7!HMHD SY7G<]:FG5#0_17"GW=F$A?SY M9=O9W-O;[NP]=K+DG0]^[LF2>ZIK]*AG=I-/*:"^^0*(H.U2_,5-?' M&LAA/&%(3+$LE?.$Q#H(B9(J"A+864/9L$+^YP3HCO"4OW^4R:=-S9F MDKKNAEN&VQXZ9S)T-QCE*S,0\J>C&]E&Q!\W$?*N.9./N_+.Q=YOT.;R9D(^ MQRG &YBTV,R97.*^+Z00G@GAX]A-P!B^;X;!3RS9 M%2MT?)PI6YY;G>Y?MSO*/P(S]JCS]4=[ZRN8M(?^X>F^U^K\U6NQ0WCF]_[1 MZ;8W?V[5[K1H^[K7/_K\K=?>VG;;6^WTZ+27POU^@$E\?72J*#RSW^IHG,EV M/5_\@WGY412!">Q[X&'YF@@=AT2$QG9R%RQ0X!=[;SQ7_[G.\QOP>H_@%2II MN^0%B<)!2T$4RCB*.0N]@/K&#>][&M^ UW+!:SXGEL6A1TUD2!(;!IZ\2(C4 M5!)& QTH5]$$!TKZ[ILI6WR%R>BK:K'N9S57[R:0 8\"K@4GI() M#[462>1[2>AJ+@*A0[D\B^U-I"&]!41,%\PY&5,JDE"2.'0CPI,H(#(RFN"L M^4BYF@6@LSYXZW&T^I-=FG*@!TY;\YGKAW$4"9_S2*H(STZ$,G$<:AX)=WE6 M2R/ 2Q/@>9-&:Y!7%ZP9 \)+N,\U>&:>1V*/29^RR$1A@ +,5ZK,9TF1ME(. MW1L,F!N,D=>731M4L\)S>U^[E[9/WF_C3P56?:R30'DTXE$4QG[@A7$8^(PS M!M9*8Y^L'+Q=+=@G013Y02A<$KC2!7B+?2+C.""*>SQ))(U4C-TAUGGPY.D& MS][ZL^G<^S !CETO5$%"31A3'AH=A\PS2GHF<<,PD/?N?-<(\ L*\$+(!:=& MNM(G*O0I ;/2(Y)YDKA>($(>F8 &W+;S#E>IG7<35YGNS#M$@HQ$SR:,JE$! M:S:YDYN>368JNNGY"YX2_N).F^O[:-KS4)N(L\@3H!-I$#"M3)2(P&^LFE4# MQ?;'!:M&QU3&+$I(Q , Q80+$ODN(TGD@S]'(U\JL&H\=SWVGQR*;L(NJR;! MRJ4L-"KR>8S-.*0*A6(\T2I1D>O*QJQ900E>Z/?+&!-4>\2+C"(<[%$B>8)Y MQWX4F" )9"! @NFZQQ8+,-Y\W.4]V#7M; OV3\WPU4[,GJ_'AU8*!'UN*^H MQSBE5'C:$T)'7BA"Y87W;B/2G),O$]T6DWPXHUS&/"*:AXQP+1D13 JB8V-B MPP)M7+WV@?N+A8I-S.5M2VB22*D$QZR(D,LP!F46:]=E@?"UEPC=9+*\CH0N M=,WU9(C=/L#J4""A 7-)+"56.R4^@ MID*/!%3'D?$Y%]1=^Q"$J^11-3&194@H#4P4QE0H%BN>^#0VB@<&?@U5)$QX M[R&-C80N5T+GS0XAM1=R#A+J!@S#'@D1OJ=)F+A!"(#*=,A!0N-5&C7_"C&/ M%Y]+I+)BN&+FQ"\ZD619G5*;Z.Z+P=QBUHD;R]@5+B>4^2[A)N1$4O@IC+1' MC?)4$OIK'[QHW0V6%0)Y*W5.C>P_?U/.1O9?4/87$FH-TQ1-'.4GV"W?]8EP ME29:*N%Q("ECU,I^'"VY,>?[*1-Z,>$L9P=-S:-PQ-3@B95)LGV_CML+F#M3 MU)V>*M* X+) <'U&\?VO&*;G6;R1#-YXI4LOK^(MJ(+%]![AQXGK!RX1D0X( MUUY"8N7YQ..^,5HEHEH\S21_4TW/!D;O"/8\&C! > A49X@#B!(#*F&)(UKF*N MO 1\2Y MS>N^!7$^@N4FTD$UJ@' (UT8Y] 5%\8!XP,X2:/]!7"$QHX<%6 9%84CU#^C MM$@M6V6 0,XYF%69KKZ- T&+#0=8RP"V90!QV7"0#8U#/7L;G19J5!3VXGH- MHW,MAJ98^GRAUS4;;Y]V47TMQ%6?9^56_E'V2+@PD]D3_YHM3*C>U9U<(B18 M[Z/A[9?\?)?*3OLONB>4SM%XZM\'C'P*UNJ+NOFD;N/$$)D;<49$ N_UA^A= MBJMB[=^S.P+;,;W]M^W<*P^+^N_?VU_6G9V!VKB5B5YYA6V0Z0(%_&.&\E4 M2L!/UINTR16?TH$8*'B,LS>$#RPLK.J[_+8_$".=PK)_OXD]5WJL6/!:8\4^ M9YF^!"6S>N/$VFFMN]NGNP??3P\/OEX==4[X(3SG\/1[BL/Q6M?M]/"TVSL\ M:/TXVMI?&+S7@N> 3N]:O;_5/6UO@?X^V+EJ=0ZOP1Y(=S]_[QY>?SIK=[H) MK/WJV ]0(VN/A,((PL%^(B(0 7%-R+0?NG[@Z_EQ8F&@8B9=HT+0]HG2D0L^ M?B1C$RDW23PQ/RGJ\^[NUL'.ER^/&"!VYZ->;H!8S3B_,+NXQU["0Z!!2(3K MH;%O/"+ SRGBM3P\[O=,6WK/SE'OYH=;Y>MCM_=5M;)]?MK=;58?^O M[N[GOT[;K-W=Q6>!)@4-FK0^NC_FRVW"P(L8\XBGM22<,3"S$ND2+:4& SGF M2L9K'YB_'OR*N6DOCY6[-P> K!ZW"GHJ6E0X@VSH7)FADX!SV(.'Z%N3V-Y1 M2Y7?7C RCRP%;PD_W89.?X]RU16%V50*]A2\A)/-"=D:='H(.NTMH%/((\ZP MR-GWI29<^XQ(&ALBI#!)B'&M.%G[0/W%P_[?WW&7E9='I4]9#K\.G.T?P.N# M$_,HF'EC:?NK!3,5!3Z.\MP,U%4'?;RR!_!GD0Z^K%)_A3>!->D"UE#*J0LX M0UR!N472"T@4T83 IU'DQD9*3ZU]N&F6Q_VQIK& 'N0M_G1@\O-60+\U-_+! M+[V"B/L*F?"-C[ET9+U:0%85Z4#Y6A&I$$\3H4CD:T$B)GS, A*Q]JR/Z89/ M'I3TPF7=]QCZD7OB%']<8G_ H:9#[>Z#[%+7A/BN(=Z8(D M"&0"CJ (9<(U4U%":11+CRKA&R'+85-N$V]\>5W07O3H/1TQ-XPC$KO&)UPE MAD1! &Z1Y)X* _#H.7CT?)V'3QYZV3CV=XO9)JS/AA)_!8_^!7,X;P6730S? MYD9OC7+8LK]MH+$F(> MW3I[.N(T[OT+A1+?V(G%*@!/$T!<+M(LNKF^";50-")AH"3A.F%$"OA'![$G(X&YA3C'G06"^A&5 M?B2-YQK7]\I4ER8,^?+XO+N8ZJ*-&[B1XB3P [ $/=\0J0. :\9])CQ/N+Z/ MA\GK$5M69[6F>/Q9LF _9GUXWI6#,\1Z!JLC;I79NLIJ3G!-$,:)Y$!UY8%= M%0JM0NI+/U$Q9S&G:HG;U9H0:7ENA8%\" MX0LS&,NT^S9E^O%)VYU#=[>SP]K77]W6Z]EFD@[4/A;DP@P7QG$V+TM:Y+ML)7)K>Q5P_@84DU VGSN)QSD$D MP&P8)_.,$Z@?RF':8TQZ@6O\$#1#Y,>NFQ@C!%6!]H0,2PX#C5-Q&/QP"X?] M.#>]/VJV M:7Z<#:[7_GV46*A7^BMS,H60Q^V8%U@9!-TI%V!K68++)HPYIW ML^9U>_/8&.['1@7$H\H :W)@4A$GP*F!JP'E(A7)M0])>F'NX,P)8@$+[:IA MAFQ8<:&3FSZ6DI[GII?V@$;]U6HOI2Q:8?_C^9__O#8F'"/4L= MX[4/;Z$,+7RM,K2= >#K,,NO5J\.;7>O H+^M[3=W_9;[.CL$!L'G7X#:-!I M^[1WUNHHUK(V(=B9U[W^/!

>'G;/KH_ZW;OMZ^ZK]N<7:;(?M'GS]T;X^ M!'MRFX.=>;U[ #[^M3KFU!@O8CZ)@C@B/(@TD8EQ"0,6@_^!@J+^?!D:#8U( M@L"$W/5X$LC(EP%S!65:REB$R7P=TD[[^W:[L_MM9WOO$95H=S[MY2K1QKQ3 M1IF&'30[?UWN.3RF7/G"1#[Q N42'F*_ :5B@C5I,G)]R3WO@55I,^/T6/B2 M2'6[08[J!)0,)JJ#BDEK-G!$/E6B!NJBJ K8BJ?4F=US!]Y,Y5GH;C#*GZ?R MC#WJMC__6^ ^[LJ7*9-[0#+-3Z*892N'YXQ%17>9 9:9?IH!^>[?_N?5@N\V M>/U-7#K@E!F\T<+!_ ,2P7ZY@/2[CSA'VG15&U/L#/6M!S;<=6OKQ#W$CE%;O2X\UVM_WK\&^XZVX;Y'!RT^ M'XEN=> =/N^[A]>M2[A'%][#W3W8AG=4[E&GY;4Z^^SH\U_P/MV;RIJH:VCB M444T9X)PQ3P2)RJ"[96*QK&O8^.M?:!LW?>6'(E^_1[/=^2\-O#V"\/;LBK' M&WA[47B;[W&?L-@/0S(ZZ*^W@F[O=A;* M09:?.3;HG"E3/"X-]/UF8RW=WL+MWL&3&]SL!I&>!Y$6DT#!CXS\2"F ()QN M+SU#1,@,8:&OP\!3PL-6L'S=]9<%") MKTP0!<0#P"6(B)V/>)*[7&:J##FX=H'/USW M_2>7)C?35E=,B)=N&31"_")"/&\V,*-D''DN26*F"1&PA3O)KA5:7OBEO&PN7;M"\F5%X;P+T%L^0W$@9 M(;"0WO-]PF,MB:"2D8"KR'=]Q5@(OE+(URE?5B7]TF3E3*3UMU30Z.8OO M=8[2PWX[1?F$_YX>?=ZF"\G4G3,.,ML[VCJ!Z[IP[^_=HX._>FTL!V5_]5K7 M&O[;!HSYGK1.SWZT-H\Y<[$X+")&\A",GH"!+*-4^]J FZ>2V(_FL_'CA'O< M8\!V@>*AJZ,P\%W!/-[$'=4$GZ!1:V MFWS,C4Z'GX1*>^GPJB5^I/U1_\\LS^WXEX_B'/XRO'H3PQ]?'"TFPQ]WKEK7 MF]?'PHTC3FE,(HKC9F,6$, .!38 ![F-)/-9 LZ2O[%XLN348T!S2<8#VM(!\/-P5%;7V:D]%16=M'#@X[(V;Y@Y"9@.MKBT MXKK_4SB767Z&SP!$2H=PKX$QNK#C>3+X(O:;S,70G("B26VA)TXX+-;M%^#F MA5&@)+0CKV!!]A?[5,SF-L40\SR*D2R&8H EHCWX4J]7U01.+4&5Q3OVGLD( MBP^K298;SIC_X#U 3LO*V&H;Q$EN[%@Z1V*IX?BA.$%U6);05O"P5(FV]_D# M]RI5]Y#Q WSEO2$L=>C\E8WR@>@]R[)^/LER?V-OP_D[3_O&^0;D='HX!_16 MK!G8NMUYN ECXZ$QE20^%QZ-W)#YFD5)$O"$1?J.EN,WX Y:&CO NOD(J?BG M*-)B[SPW0N\.O@MX:3 F<;%T#"N$_<*XTC[=OCX&S(^4'RH28#<)'GLQD3I6 M))*&^J%T:1PJ.U1V<7;*O["&%F0,B.ND\R*X_>=.9VO3R=&^<'X#5:0-P L( MMJV:,LZ7#%AUPDPE/)4'L>IX(J1)!>*=FLQ7LL^Q5ON$W?,%5*31_979JT6-/>F $ M\H@$.@%VBKA/1$P]8MTE3WO*DPHG5KLWJ"D@,84_.'6[@M7$VN=9UT]7,86U M^2.Q5L0@ ;&7R)AK'C(M?!-XP/NQ5/ )31JL?6[A.+D^UHDK$D^')(HD!8^/ M"B)PS*,7,Q[[,76E3A!KV4U8^W.$!9P$+,5$\08>5Y4##OUEP..O%6FCP\R-7:&D2U]/ %!$WB7PX.MSD >X/1H71 MM=\'C-Q/;>.-3\;\;7*LV!0GIH&+DEG.W&.3T @L89\ :BC"0R.)E#HB(@B" MV#,A5U3?"A>53S2R>XZ^F-UT=&6F#:R2F<:.CM4N96L6 )3**YJPFBV-QWK> M,FPX,WJU+G2M_E0WA+D4#_8*GC,(L5.]*6JFS6'9NWA[H!NF0Z;;W=JFQT(; M+67D$QKC%.)$XQ1BQ0C@ *=&J5BA/\!O0JA_649X&+4-0"#W?*"G]#D%'U!A M9ZDP87' 3.2:F\^B&FHO 6*N6_YQH!+E@M--) L8X511$@G?)2PV+!&A2J) MHS[R;Z#VN@-[>VX4QF]Z%9+4L<=SD>H)K*BNR$] .P$WR,7P"R#-&&( 7QX2 ML/02K0 N-/6\D,>Q$(*#DE+"#WP>!%YMU?+;AI;Y/S=J2XY)U=_B"G^MV:F) M6-Z-)"UV;/L^:S<@+(E#PHT'("(H6#T)Q5;0,DZXB^IKL9OP.&")>/(0?GBB M'=/PP[/QPPX]9F"Q\"!,2!S[ K@ 2\9EE!! ><:B1#(9A\@/B];,F!^FNR)V MP2FW#/+SN?"S*%6&F;M"@Z4LJP;+#\257FI M;Z_D&\X#.DA6$;[0]@/+R@:8?]@FE?#<24NN?\V>HE?GS^[D$B&+K#<:WG[) MST^NRT9)+WI(3=G<-DW]VQW/HSL7)X;(W(@S(A)8XA^B=RFNBK5_S[X_K#L[ [5Q:X+!*Z^PG0V!JX<9F/"8OH!! _C)YG79MJF? MQF?#>T/XP#9,7=5W^6U_($: LT;_?A.GW9C\\@S)+"N1#7*OA;@B)U]VK/]9;^Q::5[^\'7"Z MZ<*:?K2NS^ ]=KS6YK%) @HD\$G@AXSP,.$DCI0@U'>3,* TH 8L@>%EMF@( M3+AJS-!_.&\\R^LW^KNS9P9IECN?1E4_>#F\^Y3]=P=>-=5E=DUU?'2/B\00 MCV2EZ667+QW+O4&(:N$IWQS_ULFFSIJJ-+-&>DKIX=C,2,>PUXE+#$6W*9(1 MB135)$A\UPL#R77D@MMT4Y#/^:,\DK_L&N -4Z E4*5"&4SH2APC5!>$#'?; M^6I7Z3>R+?#/E,)!6^TX<)]HB[S&;^N+GUD^B-$@N#E57B\D '//0D#R)?>E$81S*@2O# \_0S M930W$9RKW(Q217>?X8 M>MC-L]')K?G*B+$?Q4!H,]742![50HR\.1TZ/$BY^-+F'E<3([. !;^=^_/C_5Z_Q2#L__W M_XD8#?]3X*"?.B/LO#=ZZ#F[\CP>QRIBH19<1%+P$+S=2!L18:Y8DQ'V[ )R MZ!TG4H%Z""7Q_01GB<>21)ZGB!MY7+A4NTGLW9KB,0]*"EEXD4,E*2=P2M%0D3,$A+&W$2&A:&,U=J'P6*H8U&'UB>#_A>#B=AI2>:W"\;[=_M;.\Y?V\>;O[Y9?NYR?[B S:!YJ#X;,PX'1;3 M$^;JXK.K61KWQ94SPEET2.9Z.*&5#%%T+:>,!G5A&D@8&9MG:*VA1)WG63\M M"AP8-+ '*>?BRH:Y:YL0UU&/69P9>3>;-X7SZG!$7E%J[]F[VIN)-'!OAXSS)$ZW&CN=[/8ME&%#QNZMDK+39>G?%D/^TA M=7,JP3)35>XWO>O _@+PM%E%].N43UOS/)=;\*N,-&N5&5"_W"BW9I#=$@?9 MO97A(I\$.'REO0UV]+0G,6/GWX,=[FJU=:]66B_+&4_L/'=SP4\8ZE@S+BA8 MO"+04HLX<#T92W RC&8W1PCY3;'F&ITK<)ZN]GGS(>:JY=PW^&23[G[^=MJZ MWKEN=;Z=[G:^^KL===D^A6?C"/G3[EFKTSN=;SD'SV>MK7U^A.WJ3EL_VI_A M^UMGL-Y-UKH^H[M;W136\6/WH'W3N!$M/%^X4A(1<$TX]7!H-.-$8.%&D%!A MXXEL(UCL*?ZOIPC# T#SW0H4"(#WK'MXCRDJ3VL0^O9Z8CX.EA9[8EHG]^]2 M*:Q*V\NW@D%T?N11F I8H\$>(3,O4"3&), :>SR)'03[%&W]H'> $%/ZGFY M\LU_&SF^78Y#3@.M5"Q#YG,FJ*!&2YO6T;.7Z\''MS $DI5T=_9!"C)8 X9D MZ[.(1YDBO^#8EM]>85;!;,K-%/6V*N(UV/4 [&I_7+!!M/%-8EQ%/(^%A$""2G.&!,$S<,I.+" MTS3QUSYX-S2T?A6!?+_!A$Z&]2Z];'!"AB;OVW39YP@FW'7=["PC#^BDLQ'F MA/V:T]"6ORLKB.6O8%M] 4;O )_/AH[O*'AH,/X>&+]X-$0]C_J>YY-(9 PR?YR.@OJ9!8')^:8O7&2+;KD;*G?_9:[/MIJ_-G MMW7PJ7O8^7IUM'4"0K_-CK;:9ZW/ 1;ZNJP\_UTOH2H]7G_^NB@]:/U>?O' M(5S;WOKK;!>$OM4Y.FNQKY>'IZW+]O5?W3:>KW<.Z;&2L1\*Q8D7:I_P4"HB MM:=)1&6=X8N*#!TW>N927*TF[#].M5,G:*_ ;.W9I MY#+7,T2(!-2*[PLB!7>)#C7W78J3;/P'%JRM6LVH':IB*]!LIT-;,W:>FP*[ M$#H%+#--0 GA3,&*8R:5; .-'R+3.+V*:Z[JVNNBZD!KRSEM^W#;I1J?\;;K MW,!LW'!+T_&AA6Z!NQ'3^Y4B/:C"*=S@T>-N>U)^JG7/O&B@.!?:U'BZ4%AV3R?DEXQ&O/M@P[*"LW-VGN6X M\7G;?;KQOW9 XI%V7QF0Z&]?M3Y_M4,(=P^.NKN=;Z>'_787@QJPGLO#SK?^ M(?O6;7>.%@(2AYV=RZ.M'5A/RS_J;_OMS^WTD'WJ'6UU^[NPAO;G(QO\:/?! M5MQ;J"/"\2MQX#)"$Z4(#P)#I H$B:7A<: $\R/PBUF\[K/%.3!/"DJ\ES!L M@VOO$=>6%41M<.UE<.UZ#M<"WS4&9\\(J0/"N1^12"M._"B2?F"T&^ P(^:O MTQOR#%84UUZHB/OE[4L0#NR4._;.TY]T+WA'^4RO8&9M]\][V94QWW!DQ$P0 MK0&E98/28M$V%3% 3Z0(PZG2G+* "#_BA+N)"75DC(>'$&S=B_F22JV:C,15 MD>!E&12-!+^D!,^;%5RYR@.@)9RYDO#81$0HWR.4NZ'KF3 P7*]]\-:]Z,E6 MQ7.G,+Z'P-1'^ 9N[Y,MAS=6+?4*ED.]U0?IL/O1#J$R>0T^5PWT+!MZKA:, MAQ@L!6FH3Q3E$>&A<$F,Y8XT]D3B)XD78*2&KKM/K]-N2AY73(B793S<3X@; M.7V(G,Z;",H- FD\2H2'G=YC[8.)P!D)/!$&-*)>"%3Z$-%5DM)W&UG8G&H( MU\UZ&M^D'EG8Q!B6:RG8D553&_Z_U7Y7T]@;_V39X-/^.#$2=CLMWOIZ+!73 M;N#&)$AB#D9"*(@(&( /8V$<1+'T* ZZ6O?[)C3QA:5+W^ZP M:_(FN/#2V1^; VUW?C'5M\&@9[0A*@?&I5PD+E@.L)\) 6HR$KF^2V*@I8S" M0$OJV5,*NMA6J0DTO&V!?J:TAT:@7\6HJ'.\E,>IKQ@!UR#!-DP)B:0T1"1* MRHCZ-,1B7+KN>T]V"E8H)G'O=*[9KI1-5>US[RG>I]L']$AZ>Y ;K?K0L5^OUJW$;*&V@]/6A]/F, MS 9*7P)*Y^U+$6I7&(^1V&B%$XU]$B=4$"H54XGQXM!U 4K9>DR7E17S^E"Z M"HT-JEM5K.;,OWO SH_1./.#]U\4HUX8HC,C3@#/PG>ZP_1NQ17Q=J_9W<$ MMF-Z^V_;N5?N&?'?O[>_K#L[ W7[#.37'GALIW4-,^=CA@7FA='XDQ5;3'-T M/J4#,5#P&&=O"!_,GM^NV+O\MC\0(YW"LG^_B3U7NKL(=5^KO<@GD>;?<9#; MI(=(L2I-'78_UMV&OO5:G[_WV@=_I:U34'ZGW[KP77[4W_]Q]'G_,7?RW6W7 MW?4&;ZU1R>;>1R=BKG.>IUF>XCR!H.TG]&\)41 MJCSX8[^4D^E!\ND /A_.]#_IIB87N>I>/;$MR>MNU1=S87H.=6P?2/H?9U?" MC2YLFY1JMXJ1ZF*'EG]&&5H!L*?8LN6WT4!H? /0L/!-!UV)"^/ &Y^9(0XJ MSX&WX(W0>(>K"_PPFSG'O=T.>C/;QL;;ME/N568/JX==,;#,,KMEB[L$7QS: M*>_99-=-:N^AT]RH8>\*-PU>LOIM'7Y6O9'UG.;NCCM>I/""(J_W&[ON3&WX MX@+^<\,])E2[UPT77F60#>NGP W*#:GE[H;7A>\HV"UI %7S/ .?T=J:\FKZ M2^5#'#!#Q3O@&F_,-?N#;$'CE :H[ZYXA^;UL()PY).AXA4U02 OPD MBJ[='OL#;A% .7YC?=*?"J3*I';[UQ>:5JT[V0@!:V#'&JO<@#NQ7HK 3+ON M#0?[8BF1YU>X[:)?W@6O>;85%%T@<3SK&6_W,>L#P:\L2X?_*69G/D\O MJ9A>DX;_5QJUCI( UDV]UL!.4+;H=9\US3U2 M&KQ[)7;VHPWG+0L.;AJ\G=T"/;T%L'5VBU)X9X'64%8C?*DI*A4Q)6V7H*[& M:@+WN*@@J2_20;EK-9.]::SI3#@*$09#VKIR!$YPL,^<6BR9&LW+DJ$PFCXS M&AUV.AU^ X,J G3'(+NR=2]:O\^@G CRS MD&)ZB7 C,1P"6?KV-T 4D^.OL-@+ ^X,-M^S(?H!/*AOAF 3V'=)1E84KP W M*H&;Y9C%YUZ"N:@-<@/LHP:[V@*CTT+'UODH\E[F[*7]4;5%\*ANIB<,9_L M@BE0MPFTVP(86G2UJO$&Y&4Q;K7AQ?@-[(KGUH?JM0);Y/\,#1RG5LXS M+P+4_Q]&+P>87\Y5'M\Z-XXX'/ M>Z%ZD9G'7^ZEOQN,Z"[RC!2<0BPA%'0>A%/.$J M]@+!F>\F0NHD4/R^N:)_HO-BB@)\/YD.K%D_X2$\'D]!ZNS'XR+^MY'H]$A# MO)K>\KT/:[@\[)S1UM89.^Q\]8Y.=??P^H2V/N^[[8/6Y2$[O#[LJ.N%Z2T' M\/S3/[N[';SW4;>]I?MM]NET=PN,^LY7>GC]Y^G1:;O;OKZQ?U>D/7"<&"?: ME9KP.#9$>DE 0L]CK@Y$:$*)B?24+@X3??.5,0TNO7E*0$L5\2KCG!40*J8B.7,]7@@O% M.5;L!<&R>IV^4 ;EVPJ"'!A[5EG8D_Q;(I53(5$U+2C%;(S0AD70F2O)4WMT M&$^T41-\BHVDYJ88]3!FDI;A%3TJ46 Q<%C%62834."#_WD(>!A#$UNCZ62,=.< M$H]K0WA$0R)\H8E,$JI=/Z2QC-<^N!NW-7@' >DAG!WTO ^(#?/;*"4^ZGP[28IC; M\US'_#C'+.*B!L);THK'R<2(AL L6=\\>-'EL=3DT%%7O(:/QC/TVP[J"CP1 MRU,Y*@//PPR?#/IDX-@3/N!K)^G!FX\J!8$K@:TF>$K> [6D9X[IZB.H<7)9 ML>& &&)&4.9\RK(AAM8=ZMG7TVFA1D51'>^5FFF2E38ZUZ(^WX8_U.]3'EWE M1F&PIU0X2HWL21J>G=ED&]C \]QT8:>1"#T04[OLDRS3E\ 3<_2]ZP1K6>J_ MJ9^XK7Z"WUX_T91"-*40JU8*\5 !OU_]3T#7'KN@EZW-H*]5FP&.?C\=6D[; M'.B)Y;6*$U]9:UQ%^?6RQ0ZO6M?=T\-."^[QE1V>PG<.#L'R^2M%A[RUU>L= M];]>SEM/[:W-ZZ/3G>O=S^UNZ_JO?GOK*&V?GM&CT^T?8%&!0[YYN7OPO7^T M]6<"Z^7'K@H!ZAC@9!0SPK7K$FDX(THEP@^]((B9-Y^\3P,>!\9S!<<, 4F% MH<"6$;"JGP2A3.9S C[NMEH['9NP;X>]?MQM=W; KFM_O'/,Z]MRI&^N%+AS MNS[LE+8>V"< D?D5;/Q!MMI-R+3:GLB?2?I5_IJH^NG!#S)KMI?"C_1)Z&F 2F:IA/]A3+3$ 56K- M36G@BQ>F3KG5YI\19DZ>YQGF9:&YUQ47F#YI!C,F%ZYYG*IY"2:7J3-P]WP6C#/<&7__F]X,EE,E3F*N7V[Q,V"UEL[G0LBV# M#S96D9W7@8SU,N,TL4D;L'63I,[:4"KM^#ZHN8T;C+X'\&T5A2)YR4L;_O-- M!P_X&]$1[+5TQ+;(T?TIP/'>ZXK540?MVID^W?0/K[^! PSPOZ6[K:UO?;S^ M\!J>PF4GLQJ 2M?9\ ?$DB?*R2#[FOPE@HSW7G ME0.7KA\DU%524Q[R,/)9Y$D91XF(@S .YI7#]N:W-BB#/>?O[6_.WO]N?MM^ M1!'7G0]]:YKDP%B7%)PRFW"F'%-Q*>:;.@7R*58XP$NE=N;SP PQPQ;# / Q M8F5Y>W2V+P#A3HPS&-D4$\P&!:L(=L[>!:!N-"R&HAP=K4?W_Q2 MX]GGA1[3/168B-7;KM)D]M<'@J_'P@TB&;@)28(X(CR.?!+YV'0HHDPIT$ B MY&\\$_2F.>UHP( )T#-%)85H8^A*(!8$K)(G6Q!963RE#(LZ'_T&(9[)#G7, M#V7.AU-_MD<@[R%K--Z(O/@Q6:.>O^%YCTOO_&DB)M_PW.<8Z@[0U"SV32V6 MWF]!3\W'C5/FC-2./4-HE6<'VS-G!\O(SGU3>[&7_KC'3KSEW%![ MFS]2L-)2=8_,'6N>B6&6WR>C]\%39W^V(ZO"$O?,4G_"R]\G>?F];BU]RM8V M&]CPYHOQY@O-GWKYY,S%*%Q['&%X9,_#.TC^+E)O'_;&;SPI]XEY=0O9N?S;G>W-B_;_?WKUL%79K_[^5/WJ'/B'VW]U6]WMEF[L^^U#X[@ M>=^GZP'AXKRQ*><2" 5X1X/2.0I283G:3OIVU"*Q[;KL?OD41D/ M$HFWT1^Z0;+WA621D1Y7@%TRC+@;4"%#'7C:"V+*C);<(AFMD8PV2/9Z2'8] MAV0:D"HP4A%?8PMGYL8DBK4F 8V2A =>&*L$FX.NTRAHD*Q!LG>.9$_-7&^0 M[,60C,XAF:^,2)@QA 4J "3S!(D"%A,6Z2"DH9#:QV%'\7KH-DC6(-E[1S)7 M">."L:4#,+Q":42D=.A1'BB7B]B-*IN,-C;9JR.9-X=D0IG89Y%+=,A]PB-? M$\%"0SSI I*%ZZYW6QW.:B'9+W2TLV4&61]+HY=VN#,WXV0I0>0E M!Z*;);[8$G^A@/G!?'Y0F4)49@D]:A[S>QD!7V[!3Z_W?++>_;=,?=Q.; M[E?L3I(>;>I?8Q LRR"8&LP\-@A"EPJLRM7& ]=&!#&1@58D4F <^$&BN6?6 M/K!P/:#+,@A6R(%I1'OI\=5&M%]+M.?CKSSR1,PU)WYL$L(3JDD4APD1GHJU MYW%?2-Z(]OL5[:4''!O1?BW1G@](QC+R72-B9%#%^M'6/)6)M3C5! MZF1U%:'1?Y?#-3;S7 S*HO:YXX8D_6$TN39YUN#80W!L;R&PP,-$>>!<$LF% M(%PGAHB(":)9G*A(4>IC^;N=LL3^LT(=))<=J/UE97WID85&UE=%UNJBAD?55D?6%7*@XDC+T M/$(%=PE'J8\T"+P2(N *O!0F_4;6W[&L+SWVT,CZJLCZ?"R"1Q[W$NT3)F)) MN,LB$FM7$TJET<;5<12K593U7SF3H6Z!\O1JC]%";+4) MJRX-RA;+ZA+/<\$3#8EKF$^X"BF)J2M)X#$F>"C"V-5+#JN^B13N!A!>/S>B M 807 (3YF$6HM4Y!Q3+PX!$(PAW/1@-(+P (,Q'/W3( MXU#XDB3@/! >2X'1CXA(7VH*_J#0P;(S,9I:J2752FTO='-M2J::)38E4X\/ M--K,OZ=DEKVG,N^W7,Q=MU5?;O23W36ZH2YS8YSVP%>2YI79VE#],537X$+(4#("AJ8@W,B 1&ZD2! 9 MJD4H.>,,YV7R1>-SA?*"7ZC32*-HWHRB>6)4O0&=98+.?%3<8SYS%95$ BE MWP 18ND: G2) R5\Q1-O):G>F!>/IKF4,O9=&1.?14!SREPB0DI)HHT)8AYJ MZH=V,'/8*)I&T;P=1?/$TYH&$3X@6$\ MY)'@T4K2O#$NGD#UA('&#Y.$N*[$=$(>$AE1G] DBF.1:.:9&!5-2!M%TRB: MMZ-HGG@*V(#.,D%G_A0O2EP#ZD805RD%H"-0U7!-0N%1&2>QJT*QDE1OS(M' MTSRAGI'&>"3V8Q\\&CC7)=ZH:\#ZW<'&BM"#XO]@9H#K1^1:J_XH'6,N'Q ME0M0&YW8Z,3F[.T]X&-S]M;0_!7/WAJ=V.C$1BN[3E MJ"+JSNFB<%X7,=1%U-M8//VM&'*&H$NPUV?!Z,]1 :LIBH]97^(016"1K;10 MO:P8Y:8#3_JSEZFSUT4G"M?#Y_N\U0&$N-Z\.!K\U3VZ/N_O'FRSP^LC_!YM ML4.WU8=_$3785[J[]>EL=^O$:Y_^E;;V8O?HOUU7];\/Q$$\VNT?^H>=H]-V M']>T?WUT^O4*[M-M=0Z]HRUXSL%7#FMAK?[.C_]>'UZVM]1UJP/K/-V\:FWM M'P.?&>5*1B*M/<*%C$C,7462T&4J"*GP?5HJ$1 [HS>Q$8''5>S&@ON"13P, MO4A$/A"+<65XZ+ERS3&%$N= FF$^,FL?-C]^W=_9V^GL[+;WG-U/SI_[>SOM M[;V][;U%&9\6DSEY+PEW]\/G%JMB/_$#&2D_P/X?<9@P%6L7/A-2NVQM>:*^ M; %;,/:L@!T81ZA_1FENM'.K"2 K69C3_R8(XT1RX7G* X4?"JU"ZDL_46!N MQ)S.Z7_*/#JM_W?:GQ8&^U;]*VKA,\5FM;B9SA7PL@J[5UR"%BG,8-RXPFW$ M<4H_".'W@@V[A&.!:[6P999!N)2Y[=-U!B5\E;@W N\ M0XJ,GB8I*FTB!R(V>S M!VL<_NP2?"Y<( ;::6?YL M/[AC5'8 $GJ2P#[GIBW3@G.>FE^)DW?S*.3>V ML8I]LP0^ZJ77);Q4;SM^?]@R;7J%W95B9E\NTU[/D>/+84.G][N;F^GMQL_W MS/G0;KCCN7:OV89C-ULH!9:8?2G<1@'WS> F>;VW^&(]V/BTEP[+]^D)[/TY MS/!9104%15JNJPL; S;D8+*PC>I"TPHG/]YP AV237WM )3!Y2="X+/E1^IB'(>A&$0J+MZ ME?J L4!)^.D>=M+?>88KSV#_=@8E;,,O.[ Z(.+FF$?M"/?SGAF:38T<@JV9 M/P+C 4#D]HI.#N1.3#X/_[HQH&D\LE M#,PR N:-(I*'@G &*AI,&.J%-H$F7@1_D+H>LA1L_:AD+L2]&;ZN,,>*R32/ MEUP*8O!NF71GK+2*AB\?R)>7K:_'<2 U,P$E%/Y#./BL).(NYGE1+^">B@0& MI.C&8KS^9KXGW>^7%N>F,(VYP8"4^ L"U3 MZM6.^/%E8A V?/= OJ.MRV/C!L;EB4^4CVW_=! 1J1-L'!Y&41!H&82>3PV4?6W$UNN:3F MR"O:,.0#&=)K;1X+J2/##"=2N9+P@(/9%^F8*$&34(>QILQ_B-FGQE2:9L?: MD566IN#%FAQ^$:,".%=>.:-S#;Y0X?2%-NA?*G2]X683/PHT\ZA_;EW-=7B, MZHW&CK1."PM>#O #J/#S\UXZ]E+G/>KY=3S!_'SB/ ?_&?$:)"8?5J&%;;C_ MH#"-;#Q$-EK7\)ROQY0*SX0B(%$".,TC/R+"\T,2T=CW52@H",[/ST*7W.*[ M89K59YI0QB$/9$*8,CYXS\(EL0Y"HI,D<#UI@E#Z-UN6]T18,44HQY24LK&B M2; *E7^1_I@-6LV&XWYZHEF%PD*,S)UG)6O]80-6Z87YSV6JA]TZ_6/JJBJ> MYTXN$;+(,!?CUDM^'@E4P)8F?]&X'_7GMFGJWVY>K^%E__][^4@;/;PW8OO(*VQD:!Z#1P?#3R.X: M?[+]JVT(]1,8E0,%CW'VAO"!M1Y7]5U^VQ\(L%U@V;_?Q&DKBG&X^[*9%%1><"IL/[CP_!@5A37700%M DFO MBM0>Y4TD%$6X/+3 [WRK2 =?V3VO'+H;1/>>^^@]>A]?(SMG:42[?_=Z2\8. M"MP#R'>.-J6VWEDI5P[<8)CEF$]EOPE?*,Z-0MO .F-EUDN!@=529 &YS:"* MM5X8O+:,3Y3'C> $YA;=,?I:%./#T9)?U R_Y!-^R<;\@K]-E)CS&[X1<_^# M']D?Z7^DEV5G M]BQX@([C1888E:?%6?E6HT'EOMHXC"YWU>#GVI3+Z!IAO==J.9^JVWZI;CM9 M3;W\=%#"9&[.P?:KGH)WJ^Y0>P+K:\[:-UB(\PG %79YO;[!VH3>_V=Y@KIF M_[1VD_JU?]D;@3->#E_-KYPM,11KY:L8>"9 <@]N:U_HLINJK@,K$!&@EV)5BW<,'EY49AU,9)=O'$8^871=#;*;WB$/-30"D5@H65 M?T8B!Y#H7=6L"F2$E^X[U"5?K2\,1D5W2QM#AI[WCJF5T$8 IM%T:(6F"ELLT(C35?T$L#N*_C_ MV4^7E^19WQFF?1N"L_^%[3<#\PYHFYC< /99V?\W M+ SDU5&B0-0 )[5^X_.1!#VU[I2I,87-*S$"$X?@DI)KX!&WO VJE!Q/\/#> M" ;KXQVX3 NSX6SV>M.O5&H8P/3!S*?)-.,E@)5%]4YE)' ::^'VX&/C0FO* M3&^^Z $3+^Y;J42TMN^'SOR%Y:%U!Y.G[.OECH:?>]GYE-:9OC7Z]0J_*4TO MA6^6UPC0*2H]M[%2FP@$GR%E,P5L6D-K,AJ"^KU184WV8(J()2D$)DB/>B(O M^6N::V4V&MY(C?.>0';(+$>G=I'%$*.P)_9EIVT#W,\36(I]G@"#_F1,&TSB M7[_Q_C=8 >NWF #XK#H'K7PRWA 6KC*@!WQW')=6=FW%"!0."&\/5H7\G2EC M<'%EI'I,!LQJJ@^+<>QQ=;/A79(^QT0(58[-/W1ZZ=G8#JEH.];2U<=*#.8_ M B(O?"L;]?3\AY!AZ-QG1?>FY96L/O]I:3PN/*RWN#<@G#I=O,%$5A8>"#JS?\/GXAS>Y<>- M?P)&0BJ//\[R"1G*C-\Y2W, ?&4-XC&WE.2OT:KZU3*JR?N6G8L45++(:VU6 MSBP<^L=$SKDUMMY&=T-S 7DM+W MJ)2@O8]-+IU*$9ZDT]ISMY->)H%6L,]GH-H%6OKP?6$]SB':-JA" ('5'"O6 M)M?M:\#%ZC1)4+79Y=9@8;_5MTK<"FB_W"=SE56JXP9N'^99;Z-VK>PQ974. M#?X+V#>F"E^5>W:7?K#61F7H5MXFI@F7";9_W),7/8S/EQ50! MC__""NYF3 MO(*# (6C 7LI1X\NS64;_CXW@>(8DZH>ZNK(SD PUG*,U4E-BO8KD5/:$P,/P"G%M4*=&>(R; M%5.T+T:@)LJ$^]RF@(!=454[@.&,<+R_L=>0^5DEL0^[,JY?L^'8X1 /HM'C MLLDX2+7*:77.#!:SY$4V&)A>0YCG(\PN2-I4H4[MNI16#L:#I MFBWDP1!7&?- B],!$N537E7I-%FLS$ .S3F\4J;.NED/+5$,PV' 0OV$EK]P M=D?P\MD=#]B$FTX;&TE\%DR%G8"-R:_0#NG"]P$N,27.#%,4@@8'GW?WIVW' M:O>UP>)8U&*HML#R[V,I5ES9NV/P*LI;+> M9RQW;3#G'\-^5>"S/-X9ATVJ\*42>. !I,R+;GIN@R?C^L"2V#)%.D_Z)3QRDF>7-D);$C0'(X,476&=MG%06_2L[3*T ML:\RJ(V4SRX')>$;"CZ_?0ETFYB5MD+(NFQ(IX&Y=/!FEC!C#$9LQ;^,XRH@ MG&,C%-L0P6HH^9%<=>&:"WB&DC(;A?M9I,!\40P-'D$PK.HVPI MR""D?7M#JTH;$7Q>$*T.P*^FVV7,-,JHDL9,5;T[0=O1H!@I]-^3D3W8Q],% ML')L41T>?@@L<3(%4%(U9'QA3UU;(+12-###RRP_LP>V*%#KDV@UFJ9HJ@PP MR((7*;A-!N:3/8!#3I!X=E83N:'AL](0C]7,C_.LJ(00(%0;Q]:7EA8,)FSJ M,M9ID\ALNQ0+N:+GP ]X'#H7[&Y(]K(QZ#*X6:I#<9[JRAZ96#B]JX8DSRY% M4\?]JB?2?MT;:IB>B+HJS:9;87X7IOJ"3LN+!>&93O2HC,UQC7"96W IL/X; M?BD?TY#V):2M?PX>MC4OA2/S3.A2=>'GF%ID,.O^)"T3WS1H,]A*55DQI;=7 M F9Y)@;*K-ML1:*RO#)LUQT#HIWUR^3/H0';50U'9?;=N9("H2H:JG*!'61F/.L4ZHS)$: MV0:!#86>ET(?LWX?J+&'AW25LZ>-PNO1R4.B99>#$P1/C94MF)*&.>0-69[; M3T=ZE#T7Z]Z5=5;@U8P-*D&57608B^DU5'E^+9,6!>Q[7>T"6&7^&2%Z%9-2 MG''^0I5=:L\=\C3+*Y3+YL2NH=JS4DUG-GUUAG@P5^5V8[RJ/%PS9>E5-@N$#5F>,\@/SM!0G!F;SG->]^FI MX[^V-D]@642N;3'6U7R#WTJ&;![^.*6]H=CS6@DZS8V:U*OCKN.!2U=/$%P(,]5%1)1/= MF["KT/[HF9H'O0F!".,?^TCVG&>.8\ M4\]7"JOMW#F5C#Y=/(]B>V,-*$ QVBTFGY9U6SLORCAP7=E=5F]C X1)Y7T) MX+<5U)6-0V^HW!^7G&*3T;+ZMEQAV19A9ES40;49DXXM51E?]?XI]A#%>D(L MA\"8YXV]3,9M(*8J$-$[&A@\]07F1X##ROVRP<0-FUO!'U@1SOZ,',+J1X-) M6?.DRK$F(SYGLOJY[:ANCG7#]LOCNAZA+S#H7IVI67]MEB ;SL3)*\NR;>&G M[=EJ-U.;0N7I^7@4Q0+K&*&Z96<$X8P+R1>^!WN5%K9+P@]ESFTA:&ZJ:4- M/]O95=F=F(H%6$.@; UDCP3*?AEX<*7!PB[7AWEJIDR0G[1:N'+*IC'*AQJ&'GW4 @87^QGZW670@1';' M;/%H74IJT^E^>H\FK_^&O/[PO>7UKT*WHMK;W 5\N$C-Y5M6?Y]PZ&0)BC2. MP^K\4F4Y0)"H&D"WS04.B8*?F.MZZ[:GF(T-XR'+H%)5,\GI]2EVF07M%%DR MM"BBJIVS:2=5=7O51BVW?1J0_4A=#;EPOQE+:CH7?I2C?59FPV-RTM3AZ+KM MF-##5Y[YU);L3VYQ"03(+D%!]_K%^G2IO9A98-D>N.[T>6KLS_4[;CC8 ME(BY-++SCT!3"[O!4Q6ZZ"];1"NJ4T.T$0#D53?%Y8VPL]#4>IS?@(&Z^.B^ MR:WQ4'5\*QNPB-[O95_;ZGBXO&;J=#BQ.7.W78R06W6&L00&#P3'-HUR>YY\ MX_+M&&%*6HU+!)!UL9M.RT MG%6NJP V?8 TC)ECG-$\X>C2)*A?<>QAUOQ,[5-3C.?@"Y4LL?^EL]/:[&PO MO-,,K]CJA76G:N6$]LZZ;4IJ#>ZJX&BJN5%>+.Z1S<. ETV 0J)797-/[-Y3IE.:Z?Q7]$7J-D=X:94E.\F6!G/:-D0:(?Y4_)J=HW^ [?0M%QB, MOJ;E"=-8/&9V%<__ MA3_JK']O]=[0[5%T\YV2<./APG^+7( 36LUMQ:%:TRUA;FH$8[]X7QQNR/0H M,@4EE;";9V476479-F@E](0]["^ER/9[JP6L^N[V""T9> 5T5*I&L??M>]L0 M[%$$"Q^[O>$]#!5"O?)!+[K!<>BR5][@>",.QIW$JGGO/]4VXRY&3OTQR\\W;)O7F<\1_'I5,\0D%V#!ID6)@;.!@UE7J_HBV!X%!F_@VO'= M!O.C8);-%B\O=2O %"!UO.:*>8!LF1^IRBIL;'34LT)>]&C>#O >=VXP8[\F MZ-%H@GJE(UUQ^#B.,1/RPR-%C+W5WO845M61D'5;DF?#?T^-ZSU:IAJBWYOH M4Q&QLL'QCZ%S CB7B^D,M:J;RU0E\SC.@H]:G_SZ]Y?]>[?T:^CV>+J-?:K- M\^S$&&MF9!71RG8KO3*".QZ_4,]3<3:+5%2]@\'%ZHCT4@P:]?6LZBMN).+9 M)<(.G[7-WB^F&A>!IVH#VQ60E6G1( QM46CQCRUOG.U07ESU9=:KH]E3TX8: M$7E.$6%N(R(OIS1J5Q1V)C?68NMF/8.%!"3)E#W\6SA[JSK3E+IDG"GW*TUS%%&[,:RI09Z[/;C%XS+%-> M&BOG.:T?+EX\WVU0W9^S-6E8VV6&Z]=BBJ;4G>D/G"Y86?K0-5?:' MXMZY*@UC+<%\3I""4X./9K,+*G9!0E9G0.4HP*-LTY_78 MJQ&6.(SRTCZX)7FRSO!$4T&FZDK99H?#+O#1;-IL7;,PR 9D"KC&V;^K6>-U M<\[[WCA_ZSUDO9=YC-/]NL]'>3&R27Y5PAI.U+G)?#"F3: -3OBN9&#N%5W T1 ,OUT MU*\G$M836_OB% \$!99U957M5WFUS?(\[PE5IGECV )+VX9P5WA"W^A4U$UU M;4$9W@.^"("6XI3B=7RYKNF=S\';S:-OJ\79E[]_>^R5I*U%"5L86 O,-%=C MRO58[L;=;675GR(OL01;^"IM MN0+.FTRW<7[UN#X5%I!,YD+7N=53PSC3HLZ(GTZUKD8IG]A9XOE\)GT)Z+4$ MCV=J5*W!;0D$/KT'\@!60*&JS'>[MV,#HU8=4W9MG61D>^B>]V9P<,'@79_) M15K,MK4YVI4,EAR0E(08#YI^V^4V4WEC$YI,U&BEV^:LJ9I2"*4)6-W91LE+ MMT:3"G-B87!&ID\PF&O'NL&3YEG=5%/#QT3$U IK_LVEEY4R?#G[&O "OPY@4J!5A^W*T)!([0"IF9G< ML,E&H<4QJ4R<&#Z +!E:%J;BP]MVV#I\93.3^AK@REK$1'^,JC+,/L"KAF.)LF6]D1GM,"6]8) _6Z.VVNBX=PX,;O M[0!W%3HHW377#ZW/>AKCE4)#HC=Q$NI/ID9S3!=6SW7QK1H59;-]?+$*O.H$ M 1[LO%"@H]NW6(#-:!;;,H G.,+..!BTQY9Q_W][7]KDMI&D_5<0&FO>[@@( MPL&S->,(G;.:M6RM):_WVP9(@DVL2( #@'W,KW\SLPH7;Z#))H[5=BW MHVP$ ,3B*HA%3S0+'&']ANX#*&1>-"-S%#[WSY7G*):N*J9NFNK.X:3.)XI? M@VU-SK=Y2$8^JI6*O#^_8YWHM2.92!TI''M"9@Z.DWXC^;;KQ#?:4^7-WE4( M:?/,+J3_ )Y^Q])!\;&0U0>KH B2)ZOW1G;XV-:$(: < M;$ 7 29J<^'>NK6#I!Z??(.\;HEBD#/0MG(,3'EL%)+75*@IN1S:5VY7+KH( M/>$N6 BON1H7:$ >.1-R&=$5*""R]#6)GY>&N7#I MRGJ/6"_(\>[

SHO=%%63O/^C:S#R)H!VHJQD+Q!U+?I%:O!>1=VLV]JNL<:UN-ZN!AY]0 M3ACZJ_^L]7YZ*^N'B/(X:96;IY-%E454(G*]SA3[%C0M)VGDUU4TC(/6:&IL2EY)MOE)E_C[Y^$LC2 M+V:'(9Y0C_XJD;5T'.4Z&^+R/!#F%$M./I=\1PA_.N%&(A1,E8-RSZ1E5E+_ MGVP9+6Y"^XLL=;#> $@DV:0L7C]=Y!"+S 9MSP2Y;489CNU._O["-:>#D3'J M]\?#OM7IF9U!O]\=]@:=H>E,.M-A[W_[O1<5L^&VN\/_TWE4WL5"ZHN#?A#E ME:B@^JOOO?K'V[=?Q7]]2O2R+W P &AJ[3'_C9S,V(V0=HJH-AJD9UB8Y,JG M^NA"KIML %",?\0%NFY%]X5\>SS /CJ_HS@D"N>#;\M&HB)&*5(;TH"-=)&1 M'SP-LLNO)OZH-%SXT2:G4:B\U%MIB$4@0FZ)L"-E-KN5H+5^16=4AI0D(.9?> MFB3A">2,I5!&8<9,!R>@1\EX#ZEVEG!"I*#*57T4U;76(4(\=T5EVIRQ=N5> M9]VG<9DMT>XKYA\8$"MR+H@ZM"Z\(^I "]U:5BI&;VT\P,1^Q&I^\*^<:?LE MW0@4(Y3DP4JZLM0>#K:; &@XBY*W(7K0,2$'B\UA95Q\WYZCLSBB0#4ZV.]$ M)4+'"^WD1OB:ZGYE78M(Y1R.*9E9@JU?PS5-%O -<\ME4B;;S1:'<3KET6H" MNPX&[]"\',PPL:4_.,=//'WBCJ1>9FLG-,M4!HNK4%YU:5"\64/:7MPW4> H M*9-. A;S0$,?-R9@)LTNCL]*T.?1H>S%B7C9=GR:\C:VU&2.1$Y^K ,;V+F. M:Q!I=.D1FUT(;.)R!2WB+VYGLU1R0GM!KBW*/PPS@!>%I9TIFFER(O"[YT14 MFG6!R3Q @BO[6APHD8^MZR89&27LTXR( EZ-Y-.)G8=Z@1>"3>,A+XGTX^09 M^DQD/\1/\66F37FY?N/R\K[P$HI8'0\JJJ#IQUF1H@@\G5H80?(PORH19+_" MIODLT>S'FRF^VGRLEY8>P;LG<#;@U@4!1$6]9#UVV-J(/JJSZ=ZB8G-]\_1$ M#K&L9+L$(&E> 5GG]C)T;N(_O,'V+'/[\<;UB$STTIO\)S!1G-+]X/R07Z$/ MBI]3I&FZ0%L4P/\F\9?ESQK]]#J:;/YF#K1!K[_S9UTS=OZV;UC#T$QK6&K8 M_;_U]')O7F2RG<[I)]N'N5HUF6NM"%NKR9X/!;VCWGQ-;(&AQR#I!0O?K#LT'9 M!MWS.CD8UA=48.WG>90I>HI'6X7K[Z1!?1&:T\>I&_O(&GA4W*968N#5@&!H,1_#FJ&6V@US&>:! M "SPUN&M<]36*;OP P?5R![_N*56'J_D,L9CQYE.]^$!KYR?DS##HPB3>KK6 M27-H:4?O UVIP.HW7(*T^I_.M^CL8@/\Y.57:QCJ4#>%K_YL"\=?"Q)@G[!] MTGS691=#NG&0UE5CT&L&I ^>N.:)ML5.!%>%J3UM4#V6/MOR7QZCS!8%$8N^ MQHF^H=K7&R[Z&+6-0VU?U2VKV:AMWX'=U?K58VF-#^S"[H8I_5_UW0UQCNQ. MBNW;,EL66>5=89E%;>WM7#RK*%O[9"E15C.^=#K,E@JRI6<9A^ M'-@QG:%6\FI3L\^+%F+!5 W+X%U:0<[T!AP5K")?3,/0+K-C:BP]&^O7%O4. MBYI=,I5?E@^T H3?X7%".-9MNNRSNFI4L%-9?15H[!(/SEE+NQ]>=)">5<\ MA215W!*6VNV7]%R=B"PU\D:6%P+UT:UZ6DG/_XF(TSRMC 4R"^3C]]]0U;M% MC9M&"63>#[P?LAG :M\ZA\Y>F_W "DH>$/VRD5964,H&:5]3RX6?GZEEVBG& M?B*UC^CNN+U!VA\A];.+FZ$IS>J#)EN+A+.X@3*U<8(]([H>(GZH)TGDJXKH M%ZC82K@:P=2C541=7E5LU!JNL'\H-BCQU6TMTY(F4&)8ZF&4MD="PF(7P:09 MEAV_24VI9/NE=-AL5R)J9D0CB)8H8B4X2'XU./,YM8;"#C_4Q"UP[ASJ*QAD MNA2I]"2VBQWC%J'58<,U'SM-Y[Z<+ X^ $/N7!G-"QO@)I/"AEK4)P7[BM&X MH0LLI09T0-@YC)4,CHNG1^*N8=@(5;(-&X+/X7@_^WY(TDM&-^? MT^>QP6.&-#%=%!>7#53WXW:LP386BR%#=[T3EG>;-'*VL3TQ]JR#N:!RC=GB/H%C.YPIXQEV]@LE5=RXL^7"CB)L/GR?(I)&I#;V MV-\+F$5]T9"\'G5-SC1H>T,<%" @['BRSZ]L#D:=I E@::NU>.[N= KH]R($ MU@P(A[V488<2:%S11,T-9)LPT;4PC/$I6MA+&#YSCTTY=HN;=!EYHJQWO3JR M">GPQ<_MZ.QU)N9L5PE^3YO7_Y;LTCI+NBV=R4(X A8P=1@EVW?TKW\9F$;_ M#?6S)FV:CO0@)4BF?_LS]"MK4;NROM8==,_1^ZEO[OZY6NW*!EK7*$>"B[16 M8\(R8;7ND7,]72>:&G1#V--_23FRFT:S"/*2%"$X/K]34]S?A6':.C(\L DUN0>6.A@6 MO4+.-;FK'=4C6[=Z/*UXX([[$;1,]O4&:M]J>!<-EGW5X"G+/I9]58*)T56- MLM?,6?955/:9)HN^\A9Z]:[H[;/0QWY(.1"A/2]9\;EF16&ZNCK4N09]%5G3 MTPOW@&I]O9Z&0J%CJ9T!EXJL(FMZQ>O7\BYM)A3Z:L>X3(4UYLRA6_6%BW'4 M>I,V-H[VC\ /0T4DJCVE;%TC#%/+5(<#[OS:,*8.R];#;Z"W@4%4TF755N!Y.&$[HA1& M7S4M;C)>1=:8>N'VA[5VK3 4=N]24^WV+P,&9LT!U@PX2L%0D*TP>UT.)5:1 M,U:_<*)1K3=I8Z,4OR5*NJC T_I(A=%5^YVB0H?=#A5G:O%^8LUU.S"(2ML, MO7[)-D,L&:K*U(%6P21XE@RU I&EZOT*QKN8IT]Q%G8XN:'YD8K?J+!CF^(3 M_3Y[5*K(%UV[#%\JKFJT$ E7QO":-V>E6$*5-\TWO$$9#7B$#OGJ1!7Y5UB$I\I$J%$]L-3HA%U0:VEZKV2SNF:^@=JPYFR2, MA-W.(+6K<_/R*G+&*IM/S'NT84CH]DKZ:WF'GE=VFH6S;FN]11OK*_\U:=-U MN6[OC2@?=WJJ5'!3&(8ZU(MF2YR<,C7RLIQYDU0%%AVMCJ"HN+IW (8LGUD^ M;Y;)58U!4=NI"EN1Y?.9Y?.S]X-F^7S^D94^P:+9Q;/:ZCHL7@NZ(IY M31U#?]YL4UKSGJ0#S1KTZ]/AL=.I3^O,<\R5"JJ?6Y,U;#;E-R4CYORL? [ MO$U,7>T5SII@XBC.2)8,3S=2C%X%&U@R4Y^F,U10V-?%]JE7B**=/4FMCCHT.$Y11=:8 M9F'A4VO?"D-A#Q14R^">I%5DC3'@SL$,A:1S\)!;:%21-=U>NW9I8^,4W)1T M737HJOW"P5'V.U2;J4:O;.WB!OH=&$0E)8.AF@:W*VX64XT^2P:6#$^-8JK= M'C6!.IM4N%D; [7Y*=GE5D MBUXXK8DW:#.1,+0X>%A%OABJU>VV:YZMQ+V5UC-[M:**=!5 47%U[P ,63ZS?-YRRU:W2E:<8?G< M7/G<*>M$9_G,\IGE\^G,9K779_',XGF]<0NKSP5=,3M;D^9;B1IFGN&R6ZGX M*]>;.!Y\8T#P%%_ %E')UTJ-?1K"&/HARE#CQN\S1YGZ\[E_CU>^B":A$JX6 M,%,8)6[]!/\.5_,HA$<#)8)7HEG@.(KM <#.4*]># MM_P53'8"CSZ,'<#+T@FPNY=]"Y-P;U?PE>N;G<23\^XCU99^Z$:N#P!SYG;D MWCEI4U?LXIAY2]):3U^Q1P#B5;3[E?U<$NW(GI5)F3:,1)3L/V=!/(A;"ZUN\>U[ZV&I/M=9ZEU^ZP&BTD MU_60[2TDO].QN;6O:H/::1Y'BV-,YF9Q_Z6RMX'LZ;I.%]'9JTBH(QM/'[7, M=I#KQ!V93TL1&.8YR?'9&RM7'YSQ=95IPINJ^N0RGI; 4;V\ZNTK_1KXD]4X M*M#4_&DW78\!3^D,*9XD3_*IDVQLJM97V_4B91GXD3-&5Y@R=>>+I]R*:5+< MJ.J1G\Y -?OUOV7&\*HHO+JJV:D_O(K$!NL2W>N5#>[5,SS'2-A]*;#?KBJ; M#(7=0J&K7::O9EWN3U3/_-Z^S#]=;^+?;U7%C\)MS>[]&$\HI\I7LL[+&D/5 M!Y>Y-\FL.:"=%V]54>O;<@R%W;MT4/C@9R@T% JE^^K5$PJ-=?]HM7VMWZVB M$DB9H6>K+=^(6&KA15<0V+V^JG?TZG42.*6QS:AM&FJ[ [7'+4U.A>"*,-7H ME*W!UL!;P0RB9/HWL[*%S6 MN''^BVWKJJ 29:AFYS*)\GP_I@WHTKM\/::*MJ,QT,PVQ<(8"KNAT*ZH*".! MD= 8ZW;[,M^OHI'M_5#&@3-QHW(-N6N6U=M1C?YE,KPYW_I THUJ\=6E2G+& MY(9O# 69J:"53*YA)#0,"9VR@>EZ(J&QCMC/7AC9H^=@8P%@06+HC##-K@! MK<)M)A0JPA7OMD&,/PLL(EHJK1*U$0E'[M=9( MX,HQ7(.CS*(K"&RCIPZZ7#F&45LOU.JJWJM@A0BNU_"D(E9<.8:+?CPUDE+< M*&$0,8@V:EB5C),V$$3;*\<,N'(,3Y(G67:2S?(@;"\BPQZ$5MAB TL=#-F# MP*BM%6I[ [5O55#)8[W]*<:?6?:>7@/U=@916=]B\6@6HXA1Q"@ZX$-X'=FC MN0/_GKAW/_\-_A%/9&$'MZ[W2DSRQC#S#/V_51BYTT?T-N#["?D$E6 1J6X]<% M"*N#O3^HT61[G:.&/> 2.7BR##<>W7(ZC!TOS>N&: MKX$_68VC4]3\/U_0[H2%YWF2/,G3QFCK" M+>NJH&-M:*IFXK692[S\"6K@\4H6E5QB*&PNUC@D,N0 M,13B6Q.M@D(#[._MR_S3]2;^?3%=_-C**=588>$,LZHK2V9?M%43 M7L9 -3N7J3IUJ=R?NIRZG6%A7;S61: 8"KMW:;]P6RB&0D.AT"U[^;2>4&BL MAWQK:3AV6583DUVU.ZA_A3M&5S71U0$3K_[AEB9ZOLQANZJ.,11V$LHJ7*^! MDJVC80R%W6[J=L5%&0E[D- JF= ZW;[,M^OHI'M M_5#&@3-QHY#OC-7C4D]?-?3+7!WA*V/-1U=/U'-TP1;1;CBO;;9FW;L87Z9PHP5 M5^M:B03VJW)=+BYP5+\"1Y:N]@PNR\6HK15JC;ZJ%\[KJ1EJB[A_FE$+I[@^ MV=Q:. RBDI)A6/@"'(.(0;0&H@Y+H@-5N091"V%^AB#T([ M;+%N5^UW2X9UZV*,,6P;!UM35WMZR=O4=8%MZS1W<\B:.YM_3R[Z7SR>Q2AB M%#&*#G@17D?V:.[ OR?NW<]_@W_$$UG8P:WKO1*3O#',/$/_;Q5&[O11_)7K M31P/OB$<$"=8C:$?6HZ)RWGGC.U5Z"@+VWM4_*GBKP+%]2(G\.A>N#U7QC!- M?^$$H1(X_UJY@:.L0B7RE7#F+I4(!@L4XBO]Y32@P96I']S;XF_G_MB.G F, MBD\K?W@N_M>W"/XR5)5[1QG;GN='R@C^!,RUX3E[Y*\B>GHUC]P%/*E,'""6 MF!-.$W];!OYD-8XTY3O\Q]2?S_U[ )!"S,#)+@,G!)K2DO!M&@?>#6W\??2H MW#K^;6 O9^X8GKZ%D>%O[1 FA]^ EP#!L(#(]A"8^&8R&_GIW*R25V.""3K: M8_P55IK\-1&$O@8C*SZF'"I3>,P'8@'=:&W1+' <^CUT'Y0%L'$6*@[,9Z+\ M<^4YBJ6KBJF;)CT"?S"4*Z*OOP(P3.#1A[$#FVCI!&,@@7T+!')O5T"0ZYL$ MOR=%Z\]_&P6O?]XYML1<'P==^J&+Z[\)'"P^<.>\N7-8-9EIYHF3_.4O>7NY-GBQ/]IC)=H\:]H"_]Z#2/-QX=(OB*X3VQN[WEZ>1 MXX/CO+YT('\1!_%'/(A)3,:'\1&F10&/?&%BG%(-/HX>QQA3YV3_!5:,&B Y M_[?VYGCJ5LC8H 7,I"H2"O728TSM4X7 ZD\NX[3BX[04>69!^]D;*UB5KL!ZWZKH&HQFLE0.K MU5'-89/!VKJX3\KM+ M%C3HDGE?'>I%3]8*5\MH$&<,4^V9ERFWS*S9SYHKJZ]U-ER$9V9*Q?6$%L)@ M6-@F820T$PG&H%U0:*P_^[WMV9-RBE_-BD8:NCKHE[S575-/6%U8,V#.5)0S MIJE=IBYVQ8_\%D*A1 ,4AD)#H6"VJRA[<[U^\ 3\I8=9=A]7@;]TVN "[*G# M#KL J\B9KFH:1?4-YLRS9!A86M%;[K4V^!D*NZTU[3+=*AD)52-4OUW=,1OK M!)1)K?\)DYSXBS8X TVU.^2&7]7DC&&5K,G+G#DO9XRR15'K*>X9"KNM@;+U MD1@)C(0Z(Z&QGL O[F0R=Y2/=AB]?CL-8"YM\ 2::J]PS4GV-ST/9SH&#EYKHY^1L.?L9Y< M>%9)SIBJWBUY=Y$YOIC(2&(:%E::&-]0#^ M8D>NI[Q=.&UQ_AFJU;V,*X/-R4.Y# WK\F>/]^P]X8;7#[%0\MLFOI64*+E[$DF2T'E+Y>Z1Y4]93PC(6=A-+9 M[\=(D$C@S+_B?K\&]=J6"Y15'N/>5/D2PBTJ(GU"^JA/#,(S M^5Y+](=F%#(*&847-B5W=C'GQK[;?JM=1U>>+$^V#HU]3RD,CVL6^,U]R'7V M5;BK[U-67"O>[17U]!VK?Y")^E62-I0Y,;N911=9876[L MRU"(N[GR[6Z& D&A='RBGE!HKN//;V-C7\-4>WI159!=3<^2>*%V+2[I5T7. M6":W<6 HR,Z^7-R1D2 Z^[:JR4]CW8#MZ^S;576SZ'G&+J=G4334H5%4JC!G MGB5$7_S@K[79SU#8O4D+&P.,!$9" Y#06%=@.SO[=M2^SOF U>2,U;],YP#F MS"&COU5U_!D)>\[^DM6<& F-0T*KNKPTUA'8MLZ^'577V=E41@!;T]VWIU_F#A.;DH@# M;NK*6.#VOHR$'!(X_8_;^W)KTS.0HX*;P>AVU7ZWJ.P_'4TN[,SC3<"; ,L' MZ&I/+WD9NOZ;H(CSJA5=+/( M]3UEZLX7^-\T.R189I$]K5]@C9KR=>O@H3UWPMR"NWVM^U*Q/?A"5QNL+7WL M>R0;;'Q2TB$\Q"@EX1&.BK-1X=UPB?.X<^:/FO)]EJX,B;B=$&*N]W8(O[BP MR0!WBAU%@3M:B=;

88.3"I";*Q%G@YW!N./\[>-Y?A9LD#?&#"S^,%!CR MAQ.%6QAS#_O4O]_"CMO N5#;DU*D50,I'O+["-'\[/?BBS/]U[1S )G3B1.9ABNQC,% M2#!V I"08W@=D_]N564YAW/!"4)5&<^C;(]\'.IT51\CW M82+?#WWO:8+=L'!QZU)B_S=W8O6871;/Z\ZA>6G*?@$H9-[P^$F:"6'6Y,:F MB"@X\YV;0,*MC^A?^J&+1+^A/0JK?"-;PY/2F'U+[AD]?<4>@?1<1;M?V;_; M1!/99]U;9B=/E.P_9T$\AZ5]Z[P: 4U_O+*G,,4;>WYO/X8O7N<7!RO+4K(< M$4HHT^6$VK/2^:1'T_&";ZCI?# ]HUGTS0GNW+$3<^P29M':%$BE%:,!M)/GA$V8L.3HRD2MW?V'(: >:S]#&"[/X"7M9V'R?5@&XAE- IW>L7,H31THAFI.3 ,3T&N7'K!X]JBJ5X\(RR,M#, M0E_8K@$ +X!068-"J&+A:A2.P^WHSHC,2TRSF* '30"Y&SP MPY$-@A4F<1OX]P!CB;M? 9RS^!(/_!7L%\(@X.=S%I("RELHIO<*D2RA3W9. M(/G3$7,[0>SC,9XM\[E_C]#'6=-(]OA?*U=H-B0])@YLJ""XQ6(1K% M8?4E>:'M<.1)2[L&3 *C@'5QY)ZAH<%PZ1<8^KDW"^QF_>CIG7JK9"V@H=8K M/(_GWR"*4NLC@U*1\L2)(7$E6(+':7QH@ZTW@B$FUXH=[3Z R\LYB?:<9ZN+ MNP4G,=PPTK! _= ;/3NIG-9S&\GEO3;#O#$ M.YY8!T3B+E*=AU9UWD]O)SB-U-9*]5RA9,L=% I'Z'99+*E#GA4?>X<(%7IC MQ%RP8U!HFRF[YIEWL $88RKKIOLM#(WDD)-T2DFC'#'?D,#I^)+V[L%XH4(2RUK MJ:;'"/X%,EB$ _"_@/W2*B..QQ(B==R*Q^1P.-H")!G.5ORB(KI"W_,<^1>) MUP-&1M5G!@!RTH= .P-)M,2C7[X/#P6@.#QFIB>\'O% &Q--_3T;9F1"!+F7 M85O-5Q.Y[\7!*C\3AO[8I?%IE^>.B S-MEF\4WOLSD%3<="T]R61Y:F]-FQL MG,,4 "C)Q@()%)%EG'@*\S@[6HM(Y>4PIS_\1^&&H?*&I5WQE>X$HUB$F>KSZ0-"SER"-'UQ4 M: %,/_6UO@+3F@-V5(RRT#FL'N^_%I;8,9]7T0A+9YT]!:S8W;(M$\*BQ+-C MDVH:Q]5C',AK/#7ZFIEGZE#K9)EZC'%]^-O[&:KO8ZCQ\KCU&?56\S'-,/7Z M4LX@QL,7Z+#ZMY,GGTR,(3V)/!FQ4,XC/^?DV*^ *U>D/($I"G\#CSZ,G66$ M1BEJ** +*%/W=@4LN[YY&HV!I"(=,M&H*+<;2#NWEZ%S$__AS<0-EW/[\0:. M,205O?0F_PF\0KN6UTT?%#]+960(XJ([0'U$WMV5'Y:JBD:JREJFNOC-!.B) M-[?^C'&87;_M&]8PM9X^+#7L_M]Z>J_UDQU:)D_V3),];M@#U^0/WJ<9;CRZ MYQE1CW-2BQ2,* " (A>@JD@KU#2.N81WS#+;02[CM!+DM!1Y M9CG[V1LK5Q^<\765:<*;JOKD,HJ(Y_J6<8S=]D7+,CWM&G(UUGY\H9+"BZ[@ MG6+35 =&T1Z&11=^X7J*C-JFH=88J'J_9!'!NJ"V2+V_)U2'J@A'S5[94H!G M*WM4\>HB#)\,":U.V18R#!^&S\^67K@G14/AT]C>1/&%F3:T)3)TU>A?IKDN M-[HXT/X:.,,MXZO(F0[W)6(HQ,T]"E>H9R@T$PI]H[!=6FLHG,BEW: 2]7E% M_TP5.*NA(Y=U(IZ *!7<&):I#@=/%26< M8P5+]M?,>5:RD?MI:%,?Y8KA=P[X#;4S'-(,/X;?K M'W6[35&KR=;L-D6M)LM7/];BD>X#7_S@BQ]\\8-SU/GB!U_\X$U5;7+QQ8\3 M99,WS\]?3S]^QU3[QM/\MI7WTS-JFX9:RU [O5-G>E<,M2U+O>YRZC7#YRD7 M/XJVSV;X,'PRL>M37R.L*7Q:=_'CR1FJU5C>\?K?MG55$)9&7QT.+I-^?%EEK@Z7CUX-3'7OC/0AFW*M6(,>&AB#CK# M[SSP.\,AS?!C^!U[ ^=I(<#6P.\$-W"JT4YPHY--P7:6:PV,.FM-J; 8Y4OU M^'Z7U (GUX^H@_V(\&^QLERFS>!Z1^+G:.@]<<2OU&1MLTVMN\#NI_!!V;[> MNU7F,+O OG6JWHVM/%:.[D"YWNK*T*Q\JZLN\%<]MD7E-J 8"5 Z1P#EC,W, M6XJ3.#Z>1Q%AL*(.!]5:.)Q 63L)E9'*X M;>G9AEW'?A#QE&))=CRWE1F0&>B2&1%[./OW\'<)G7?TDHS[J"K4?YI:5R'S4"U%9^TM,-BQ"V =/4EPZFH7C.O3*V@VQO2M>#X2(_<*F= MM1W)=Q#VJ]R#<>_*%F&_JPWSV!]HP^-EWQ;D8Y0G0;Y^!/++2[]RP#_PO5/" MGML,;[89[G&;X>>@\\DE;J_5$I?&.;Y'\&^).O7Q8>EXH']5?'W[3Q1JN8Z" M&";[PZ%U.7)=92PU,,7@8,BV&-=#1X)?0]SYG3 M#*/ AO-! !]^3*89_P6\&JZ62S^(Z*.^=^OC,C =S.C MI ==/S8'>SEK<.Q[Y%:@KYU,RZLS?([M!!SN@UG*[ZZ!C9Z?%SVG1,T@1DW_ M6-24U)#JC)E_.!Y(4,$4>P('O1M&@3C*$K)N:UMM:9V\.FMIO9>%+;D$,H D M/$BWV];Q4\*VCG$$GQV/5T"H\6/&T(9)3@$:,"U8U-3)0VH-3K3F\;]6KE#R M-M&8.9D7\+[[;Z%SVF'HCUUZ]-Z%<5S04[U;%TOKP$\.S@1'Q4V3V2&(U%A9 M2&%J6%I7X-0P\$\ 5)9O)\;J0.OFL-H=DK>HD.7%2#4ZN,,E4H\^B)LI4HMJ MJ600-$%#%2M)8(>LATV(6'#1PG7@S_)'8BV@ -Z&';,* @?A[SR,9X! 1[FU M7>_UW,=#_//ZFZG2,%D%B.E4XN&@!R E-8^1'\#>@;=#V$QD#>%J<*8P^,2- M-.73^N1P.DY8ZJ/IE!.QD@(:901LAT?'#J3FE.A'T_EJ'*UHLY+,P!?O0)SX MJS">ERNDR?W,'<^4>]R9'CF74RVHXH JN%D^>Z!R.LIW^R'>,15?W]X-(U<3 MP6IB>)21 MT=.&+Y&J&---XAJ5/XF*4N3HK61T41P2/89I.L29 ++-4'/'#> M[N3O+UQS.A@9HWY_/.Q;G9[9&?3[W6%OT!F:SJ0S'?;^=V"^X#C)4YBS7:W[ MQ05#$_3N1Y*P[^TE*H3*[TX(DGA<[4R0H^LQ@?I M' [E6W+EH,-@NO(FH4JSS9ALI([@&0WR>.%&^* PVY2I/7;G2%2T\6#>J^G4 M!1O)B[+NDWL_^($VW%C"S',<_$C\GZ0RP6 KL-&4JXSO)'6QA-=B3B*,-HJ2 M )X_ N#%G("U(F^G_IA(XZ-OR(M<;T4&I)\L4Q%2%72,-/^'*(HFX$I^)J&J M=''%L\487Q@M<(FN!Z.0(!]W.6JDZ,.(Y%), P\V&WZ#4TLX MV#W8-XIAQJQ/M$!TYB!8ID!KLH5%\@'0MNI:STYK<\?>3?AAHQ((Y$UET?-) M$ T$XO;]52"9(K)/A?! C<5(WLKX/HYRBR9Y(;$[=&&[GO"% MDL(= 9L%HN-(]:,R6KGSR:O5DAX*R7_DHDMSLAKCMTFI?X IP^X4^P/W*6UM M&'@\L_%A-_Q1>6VS(!(_TS:O&!+=+9,2;M]MB<"]PC@R/OJ! O[*_K2E4_N?!$JO_SR7HU=;79(DYL[D:#%%_M1?*Y9N/OD M>K8WSK-8>W[@*0)XFYK/=,O\"N!K!UA[J9F6@V"LY\3.V(SK%G6G;AKVE*B3 M_NRMX2!,V-GT0P?.G3^_(Q5@3:4Y>E55A^!>3G] =2JC1L$AL%V?)2WH@S-V M%B,GD#\9,A=\!ULM4S,3ON+K/YG=;/3OE%&F9S6?/HE3<)ZSHF(-,9!6%/R! MHGFH*];:HDIMB$1!E@'15'^.@U#;U7HUI\RK:7AJ:3\2>53R%Z;_M;X7 5&P M&U'8J+$*,J?3)8-<82+$8Y"N)G+_YC#=5_#!!3#,'N& *+3(YYFH8-+&R=AU MGX7("6>@9M/;9-"A@8%616!CI B-)SD#(; 6]H]X9LE$1&K/C\S?P&Y8 ;'& M*Q1SGN^]2N@Q M&&Y(1MM'##$!4TSX]@MO NV6X$-+)J;H5=D2XHD^LU=H+( M=KW,B9FE?[*VA# EEZ;BGW9-Q\8<2$>8V[ JSYFH\9T1>.EP0#!C4%$NY1:K M:K_MGGP"(0E $L;7F$*"I-;"UEK0ZE(>TXLI7A#L. !9K$\4\\\JH-Z+_?-) M[!^WWAX=##2\1ZW >P0(A)B8V^]FHB7I$9['D-CB=JRSD-D#RXE6D508G%3 M@.X ?SV'64T2*1>EW_U_X78OAO!*D)2A[!?GUAUG_0("\C!XO-M!A;+%?]!7 MXWV/.I?L)IBZ#WI(,]FW@ MT"E$XB7]*![*PO%P%@6SH.;[)R[Y6P13C91_PO[TTK(ZSZCW_J%]TY2OH#8Z MRN]HB,R=,%1TK=]]B6$XH+RW6BCN.F,^OOO\_<-;A(TY B &VT$D4B&^#[/,44]-U_$L#_RU]$!7EV7GF MM7<6&9X%&9Z9P+/]G'(I0PU>"3;)O"8?['GHTTD'QRI*H*E#@D9\16[4E4>& M>G+:^%Z.OYJ,F,K=E[@ R9VWKO"4T<+1ZNG U$5>F*EU]9?;KLW%HG1INY-T M.F Y!;<.G<:C35D",TRFAI877D4CA5X'?;Y$BDY^7M*Y>X]ZBC*RYR"MB;IH M0*1BGF-LFS&V 5\K>@XZQ[9K"L82^W/K??>\A2/VWS]7\T?Q:I?>[)S4N0K# M826]9]?@CCH#4Q$[AJG[%,1#C1T4N.1>EPCFH#L1GQ27MV_)X'3#R$'1@3RX M]7VLFF&3 J\*2^@1'Q9*X7())QQ95'/['M2T"9@:,*%'$6:)]47*24E-'9HX M"GO[(;FRD=K 3^G.)J4]!@7L6_C.S0E>I[W1EC7BMO%4S0 M7X#N2DR)+TN_]T75 ]1UC]%!O[J=*?_Q[=U[Y9WM_5#>VYX]L1-#,I8X M8K_\S]>/O\@GX,/!4H/G@.1 X,=7_CT^A&:E.W%M(=KP>7GRT%LN4.;)-C! M14QA_4Q#_#$RC_T9D"$KU?3E?Q>I[:G+)U=\"6D!: M.F+U%!*P R%>:8Z[TS'V'LR>GZB=J$3[JR@^.802#U]>=T^=Q!FT*WGLR-RH MP8N*:4^[G%$NE8Y2WH['_HJ2*)R4S&]A7U#.UAGS0)Z&SZ%1 M#WS^+AWG7^$DPA[&HI@%7M1O #S1_0[ %.-*#5HN#E ;W2-P,0\);/5;!<\M MD'&49N4&8*KX(+]]S !QQBN1,87.=R<0MWW3X>T@0+S+\$8@_ :Q#$T_A..C M_@M/+/S .?);:IP&#F^ ),Y_#A1S$-P;WZ3P@X_:!SEG,?; MP21+$CK\U^BBIH[8?33:-U4*A"SL1TDQ#-&@/S?Y+S@,0:RX2SQ&74_\.)VO MR"C"^6;&E:2WIU/;#?S? M'T MGE,:%6B$(] PE"]TW5_YW0U_E*60H>NE250RH;T&@N]/>2AG$O=HXU > MFZ.LQ(:.[QEB]EI\IK[#8SF<@78"FU,HB=_@0)^3"X'.\5AI_@ JMAV(O_RX M"GSQIR_. YSJGO+5"?U$:BF_.O?*=]N]MSV\RRO>!$5U@0=_*).Z9*HA[,CX MEF9F]BA1(A DH3BG0*'V*5 A9B@&#!-;++[4&9 N :.*.S7Q[[&B&\[0:X^I MI<)? _V6Z8ZUUCJE9R,6F,]SPA?"3)34IGS.T?_)! ]1 MA41LBQ03I)+&2JWKY<,8N=P#PO#<%XXZ,NA&:,;F#5W,:J-L]W UGF4"#@B7 MV>,2T23T8S-NFD#^ >"D2XG7Z=4QO)]+?KRU&>$I*::/3]FI9BZODL4SW>+K MT[9#RR:I#FD2K[001,R%TB8T?Q3>3DAK^:)#S@ M-#"9)G#Q',<020A0=1X S= MJI$&U]' 3(?][,^%;_]KX,-V0X6M_/I[K5;/MA/[XYT]%T464/BE>O'QU*_B M6O>KHB!WX9 "U1+E=R9NA,+\,43T 2DF*2G&65(L$U((/18/[(F#AX"\4"(\ M0PJ>B;YGRWHR(A8EZQ!F_$@R*W4BKVS)CZ;ZI[A8%.)EH_AF.!Y0WSZ^5Y:K M($0;)_9J?1-Y3)CM]S'6.M^*:]K&T.JHI"0N1/C_ZD7VD1?7JD*7F(0VJ8HU MAB'^,5PM,&G[WY)48CYR*E)/C]Q%>F1B3!5.P]0S%JSBBFJXZC ^8G$%0B4' MBI#>D26+F]=G19[E8K'RX)C-:#:I!:UFROS@+^]GKC,%.L3>B]^$]T*Y0BW7 MU-^\__@;__$P8-RWYE=*\YDV1WP<8F QIS?I'L*1SL M$6P<34EE%UB63I@8=6/@X,R_Q^X#JL#$L1L*O=9+*O!&F1 3)R(G#_JRP9H. M!-P">S71E+?>8SR.5#=4&:S"R#M\'O8+O)1_;QH),\/]$)?%=G"B6!PQ$EJTM"!K3#D99R8U, M9<\]65N !E QV=3V'M6LC$C3UN,@H>"3,ZG)GMH1T4W="I]E&8%8>Q'B"W:+?@0>4*120-;HSG MMKO(9\E2V6Y4[$0BK:A5*8V:V%><5R$Q0K849[P< Q50#([#%T O6<+Q&JI) M4Z7XQM\C)LA&HBK*%.6:T'7PJ'06R[DO%QE%O??+/&1H6]VNW$S<##-(C MGXK7V#.NRK@$J0Z9*!\V#$HOW5/ !54'LA'D;2_)87AR@^N8O.>)(T"5&!$9 M1'AT>6C_2,U-W.# &,RMM ]=,H-@>B'5(A;KP2NJ&"T+$7/Q9;,)'!@A.5C( MZX$Y#%/[S@](/9X ,>;^4F8[K^:33/PEGK^\9$*?$,^(L$I*O?@;@HIQ* 9Q M1 I:-@]#V%X8)B)UTWD )GM.[FXGT1BP.A*IWMGKJ5C$&=,TTZ+,22%=8?&- M'?<.7\OPHML;3R T-DR$2*1 I'RAUT98T4W-7O#A& MD^P^2V]MC.9Y&^G(S*;<1B)W4")XRLJYM;IJ<4VE97K&BT>$7 .C=!RXH]2Q M(N[#2T=(+D-@6RQ72AGI\9%#"&E432W7Z-8H9&:\U2A_"2^:8_Y>G<_U MF\ ME!LQ%4O.!U"$\J\J1)W/;^--D\O553%%QUF2NQ7!/!&W6&[J3+PM*5=HH*8E M@H VW@K42"JECHE/@9L=QTK67)BQAB9)LO7Z]IBD6)V,GL%!-W\,54/Q VR^!?*VQ2^ M+E'_2HBQ.'>%PA4+Z5"F#TA]/(SK(-'CF3P1^%0LKU%8"W5L@WJ7J9%[47%; MDSL4)%!,#="'&R6,*!8C.I0!Q#Z*!+I,/!:Q\4=(!J(TGFLMG'_UO8J>UV9- M+CG$2B<.G4""X=3?F"%O4W>^J >,FD ML#-,S@R3.EU]Z![EZZX30*IZV%A;KWO .L>OX'N8B7PC$A<>WU04*SW0F!]F M[LBM=TE$J@WD8RZ%*'XH5D3J_2UE@SE, MA@=[6G_U7[OMP&?S^I4 U"5<@4:;78$1>;03'@<3)W@UQIM R]"YB?_P!@,V M<_OQQO6(?O32&B>[\ 6P5?J-]#;D42=&M'@D4R9O]J=5SKBZ,(4_;1NNR(C?-$%^>)9IP+/23E M=RQE.CWQ4L24)IC62KKX#>6^XE,P$WOK(2\UF#<7FI8R"YSIWU_86*CE7Z:< MC.=;AJ'-HL6+G]\C3=&1&6?_[4JV_YJYH9#+\\WD8W>N[.O7E(N-?Z(LV;<3 M?TD5(#*O?W,H!T.Q=#.Y06 '([S$^^JWA[GS&%]U,'7=_-MK>_U@KX'\V;X/ M/I'JBM$0U%BW29^:+DSDR=?I@&C=.NH-,#A!3#Y!JG6"F'M/D,WK5WR"\ G2 M1LG;E'74&V"6R39(Q4X0\RDVB#&@0CWOM>0P,*RN?O#$&.J]EIT8B9=\WZG! M7H^S2!S662LF<9ZBL[+$.:7$J>GB&JS?-64=]0:8H9]-37V^1>2#^'&RM[QZ MA972DP(._Y4$['_?#-@G-QC6+O!NZ8VK*B)!1I9[_)]WO_^B7'U\B+!@(H9S MW\7EVY);T\HOMG>[LF^=ZQOERKT60!+-ANS5A#*1WV?O0+R351*_495$%=YQ MKY4]SW]+;TJ D/\M2=^F-XN\^CY7^O&S-_;Q>N.5>U=@#+$ZD4T) %5+:BI1).X"][J_??[' MKV^___'[QV]U3ESZNE;"*]NC-E$ #Y7UPH=^IS1T;,9 !98F*VP';U,#M$Q] M(%FN1]85P0(W$5:ZGMGS:=S 093!EG57$+HK+&]+X]FK:.93$9ZG]]ZL3;Y, MIZN91N?DB2V69@WZ)Q^U,]#TX?#88;<(U)C@GD]VVAE4(\&72ZM[)W,]5'?5 MJ#&I>/)KRE4J':[/J/4R:ZNV:M[.U5[*N\>;1JSC=?@:3)T@ (-,4_[T_0EC M\W3R2&I'8+SYZ6$IXG@$*_GVF;YU\_/HIP'E>+TP^ M9MK&DD'F6LPJ^\^1/WF$?\VBQ?SG_P]02P,$% @ %4 )562/=ZX<#@ MW(P !$ !X<&5L+3(P,C(P-C,P+GAS9.U=ZX_B.!+_/G^%CY-.N]+2$$@_ M;WI6:1X]D6A@@9[9_;0RB0%?AX1UG'[<7W^V22#I),9A>D:Y34NCW2:IAZM^ MY:JR$\S'7Y_7#GA$Q,>>>UW33IHU@%S+L[&[O*[=S_KUB]JOGSY\^/B/>OWW MF\D =#TK6".7@@Y!D"(;/&&Z E]MY#^ !?'6X*M''O CK-<_"::.MWDA>+FB MH-5LM5[?)5=M?3$_A[!5MVW]HJXOX'G]XA*B.M+G"^U\T3JS+B]^65[-6_;I M^45[46^R_]7U"]BNS]'Y6;UM66W-.H-M=*D)H<_^E6^MT!H"9ICK7SW[U[45 MI9NK1N/IZ>GDJ7WBD66CU6QJC=_O!E-!6@MI'>P^)*B?Y\2)Z-L-?GL.?121 M/V^0DR1G%TXL;]W@IC;/VLT=)9.#)9*QZU/H6CO)-B5U^K)!?C8/N]W@M[F> M9KVIU5M:7)--=VQQ-:>-[Q<80\7WC M&#(G55XL'.(4GWW%861/4D4G1 S<^M,B"GUDG2R]QX;E!2XE+RK!G\42?2@2 M]@EA-L)%=$?D_(\,G=!U/2KX^97PVF:#W86WO< N\8"YBJ)F@A91ZDRE_XRI M*?YW!8E%/.? /&YLB+=!A&+DQTN'$+ B:'%=XYFR'F7)/QTX/V$CB4A2"I*A MSV\W& MR!GM+(EX>?=*SO'<,E&QV_?C\QL_L8H7)/'$F, M9.X'\ZG)VDKV#]3W;7(="$[ 63\V7C.\$A7XR!ZYG\3?KT,\9 Y))(RO8D.9 M+^G43+;P8N1%J6]=&[F,F?WA>PZV^5KA!CJ\69BN$**^FM,/2I&@H0DT6@R" M*7,CVL$1R@1QH2"4"K9BWY&*^7@,"3-OA2AF WX;V)(BY1CR:7\,AN"GA):? MJX[ISH&^MS#9$G^-[ET8V)CR!=V1H,IDRE%M-YNZ&JI['#Z?-YME1\;!5#; +XLK_]<^+EG;^;[ =Q'N Y. &_57? M\9[\-PZ'M%@Y^&?-YOE1X#-%0&BJ*,+F<-:;F'=]3.F)FC MH0J2,G8)8BVMJ6G;A0WV+C!&QN(VL>X.NW0]X?Y-1R&)9XB^A-D(?S(L^=; 9TO60[UN2XV'0M"'6D#>W7O8*=Z M)>(]8OZZ$<_(7R$AT*5OF/H/B)?#?J&+7]+[WA?4\% MR(A4OL"YU-)S,>2LGEO5F]\D@[3-90Y.5[:0OXKM;.0Z-HU]*/HT_RNF*^QV M/)<2=F6 X1P[N&#>.D:L-%]IFB[VU#-QJX.X(K#5!")5(*:KRFF*N0XNEP0M MQ7"\Q00](CW-\UQO.AKV9"AAYK-+^3CO5TDUW) DP M46 GZQ? I+U#H=X#R@7(>\*S=KKMEL!2Q3XQQ[W\6R5VX"!O,=Z^"ODR=MB" MD*T-^>Z\W+(CBS%7&HFG MQQ0W55%R@"]TK5D,X&H70',X,X:WYLV@9TRG;*(I%K\L-GGAN]32J[>]%+ 5 M4[6:E^%&]7J7SRRM=:UF.]V"9"-1Q3*7X=5]]3%YS5EBYA/#]Q$MLA]RE%QI MKFMINI;UEDH6D,DZME<'MOK>4]\6D6/JEHH8.8Y\3T09QVJ7J]O1J/O5' Q4 M@-G12@L3WQ!.;4=%K!7TK'K]><4A+SIZ.UW^(P%5+#.1[?L:<.MY]A-VG *I MY[ 0>>(YU;74JG<'2K)D1((KG76.*0^YO')HSG0MU:3%H*EV%3"'7]@";C11 M?.$T3BZO!>=:>D<[QEU-%Q=9D;QFDA>%BW:Z],9D5+$NQ,POU(.FN.3IY5+7 M,E;C,<]7,*MT>S=*>Q^"3II'VDTM_GK6O9DR+9 MPPO!()1<2;3"5QJG8^,/@V_8#+OLRN2^UQV8QHTY,&>*':62''F)T+7TDZA( M+ CEB@<6H600$_V.6,+3ZF6F@#1Y&3IMIPN\*GI5+%4JCM]GP.C5\C!50==F M5TB [.@]OI<"R?5[J9:G9+9^/SY DFE[]Z)]E+GY8^=P5+LW&U\JF<_[ACGY M8@SN>W<]8WH_Z?'GNDH)/)M1GK'/M?2C92X'"$$@+JGJ$*AG9!F[/ 5?M-,% M- >.*F;<3,<62)M2?GGNN]0U=60JF+4ZH[L[D-5;\_+V.7 M9C"]J:4?&,>DB7J4D%I$'JNT1.@,#"4H*E@=C,YO]^;4 MY*?*3$?]F_NI.60+%-5]B1Q>>6)BF2GU'#@N"HSZ8"_L'8LB?=0A$?)YHY(#<"Y+[XD>%VC;$5=$T=X7];QV0,1P M:L /F'1, _[IEGC!AHU'D&.*UC6P/;YW]PL(5[:WAM@UV3TN:'_2=]H>1-9P MS!R/^MA9#P:= ];DD9?!%L/Z*\"^"(;/GF//H?4PAB_B%+3M<2$T;M8".O[. M+A76PR9N#_:GT:WY]F35ZYI%D(VIHN';*VO/9?./O"B8_042S, ,8;7IEXS4_>-(3H"7M8N/![E+!JN@KM_P;N)W I]X:D=T> M5=\C""_=\!"8%_&572<<5@["1\LKXI(?BOL=MFT']:!/C07!%I3/W#SJ,DS< M&7J&_'1CR@_^N8'N@]R47/(RV'(3^-A%OA_+*+N3+J!CLG+#,BB_:O*R!9UP M4Y9/"GY(Z\9!%!GV?UB$;K^,M$ L)NT9?(Y]]3PWR'^,\F^8$3::?[\)P4RE MZ+D#76A#9L_)P<*<25VF(&+9>8Y=>!2.PX#;,UI$LA3"YJW5O;DKPRLN14M$ M%/PX1>016RALOCH!G;-LT1%9V9='APIG&2+E]W%O<,N;,O?E=CW_+#.DB0*UFJRVW2(VW#%9RWP^H?2"OOJ8JP\@S.]ZN MX"[4)$XRU996;)6 Z-E*4,-AG:N79VT;PP'#8D"ED8 MC>!T!6WO:<:2_H%YI,1;!BL'_'< ?1JM0N1FY1"7P8[/TYL.;[^W/93XBJ#9;SJ M=%E/\(PM;WK219.3 ?MOY^2+0K62\Y7!.M/ES7A_8MSU6%Z36Y1-6P8KNFA. M39>-6?S(5^_&G'6-"=>9NS"1F&T1Y.SPFRLHP] M%HB*52:/HPP6&=K(109AT^+@2C63M!0VG%VL%<.X=6/ H,I?!SN3R\RMV6305 M7;2FN\EFE\!*=A*$,]O ' M#$-$#W:U:;HRC#[:S8EVE\WVW6_=$SW!+[-.((V+,;3,T^*NF09K87$2,(V^^LW2X!; M!H&%5 >.O1T=!ETXY\O,[^2E*JOJ+W_]?#+:^8C3V7 R_O4)_YD]V<%QFN3A M^/VO3]X=O0+WY*^__?337_X#X)_/#O=V7DS2V0F.YSO/IQCFF'<^#>?'.W]D MG'W8*=/)R_Q)%UM;) HQ^@')!0D1K0*8D>3)!HN>+BXZ&XP^_ MU']BF.$."3>>+5[^^N1X/C_]Y>G33Y\^_?PY3D<_3Z;OGPK&Y-.K;S^Y_/KG M&]__)!??YM[[IXM/OWQU-ESU1;HL?_K/W_?>IF,\"3 @O@5<@.0_?Y[E)[_]M+-SH8[I9(2'6';JSW>' MK[^^Y2F.?DZ3DZ?UPZ?/)^.,XQEF^F4V&0US-?&S,*KHWQXCSFXT[4RF&:?D MWY[L?,+JC2Y=W07*,$TWZ?75@W;YC:>SLY.3Q35A.,>3J[^O?J\5+^:3KFUR MP0:2:%NZ[*8T.2,PAYB0@,41OL'YE"5&<]J!84: $>7@GI82@<\I:!X6! MMWX6[L"S#CG$=T>.9A9HQHG7XX]T[\GTG( ,BE?1:1D ,S.@@E= '/6099%H M/=.JN3]N$;J3[+EA]];P&%@2+MD R MUE(4+O3D,L- 6V3!>,K!L+5'NXFB3QEN*]MOJ>MV-I^,WQ_A].3-9(ZS@W"^ M\*DIV,!$-."2(2^==(8@ KV,,64I4"O5^LE?A:-/66XSNV^K[V:6WS_%*4D^ M?K^'8897\ITO.2%'\3-K).E$($(6)L%'E4"CMI9^B9$W#P#? M6G/+=9'&AJ MB68$>8$%Z?;Y2]ZU'*JH0LNA&(^$(J.KH%( G[@&#(9"E&59)=&8'M^ U*>\ MMQ4Y6EJA>=38&XYQOSPG>$-"$@TOF,B!>?2$! -Y,7)JVN:,B#QGV7I<;!6. M=4A@OC,2;*WO+G-$&SQE+4F#$DF 8KI #"2=SE+R:(1RHCQPCGA_N9;C\1?! MHI2>^4)Q6)&62RG@@TT@A8C*R"*-S(T%6P&CIY7/)M:_3NMME=YU+G2%*24K M,)!3K6DXJ%PB.&0,B@]9:>^,$*VKH+L1];0B:L&)AJ9H/AUT2=7=<:9WIF>8 M5\B>N,]%($(1G%,59R2X0EY?>4?D338*CHVY<@]X/2VI6A"G*R-U$3H)W-OY M)'TXGHQ(Y;,Z_3D_'W#*U@(C+#(@I7(V6H@B"^!<9)2:<):DH@LAM!ZMOUV M.#T-L]LSY<:T>R.3-'LN5LAGK?8,901;1\&4KD-AGB3U.1ATP87 6D^O?HO[ MO0FR[1FQI0$ZF57)(?+$2 J;ZJP>!7WPHF1(B-I[Z[13'?K"GH;)]J;?5.7M M4JO%]. @6);0*0TQQ0(J\@@A283LA+1!&:^UZJ2_K W^J[PB!\T=IW0T2<5 M<49B1%*A-T)FFU31IO60V+V[ !ZV4>Q>EKV1TFVLW(8=(1,J2.;G!Z,PGM/S M5Y^YTQH\Z]B;*5)X81D$D:E6E1F!'",]0(I)AZ8PQUH/D-^%IT\!JX'UFZF^ MHV&"PZK&_?)NA@MA!U&RDJWD0#6J 54<4MXD)60?T!7OA4RM*[\[ ?4IB#6@ M0SOE-^/#J^&8Q-X;?JS#\_,P?C^LA>="U,K1(%V,1DD(RM;652*J2T140R)G MKJ//MG4TN!M1GR;/&C"BH?K;N8@_&]26YN\81FN"B(#"D)0N*?#!<1!11H^< M>-M\4&@ED#Y-D+5P"5LKNYG=_S:9Y$_#T6B@E0TF4S:N8\U2DN=4-"D/T6NC MR#9KP;6W4BE78Y*<&(06BTA*8^$0S+PF#AH*KF842XFYQYX M5&*C%N>+">7%I2_66"C#6!$A XM:4/"LE9\MADQE,+L@&9>^>1Y[ T:?BIR0Q6X]6K(;2IU*E,05:*+_E1.;9254M7JRD('Z>3O$8QS-*HB\ZC/8FLYH] M[Y>C\'E02RC4@M6^>D^I5(S@"^-@A$+ M]?EWW:.3U?IK"]5H[?Z7H;++A7.S@:.R5X0BP4D=R>".050^04DQJ9!25J;U M=-H-$%M79#BBC][OCO/O8?H!ERX]<"J()(J 8C.Y/AY)T#H%EFH[D$&4%&E; M5V:WHNE3';,=$VY,%+>Q0+M!%QR3>*/:ZI-/AN/A;%Z%_8A7H#+*[.MJ"EZ7 MU2@GRE;Q&Y#Z5.NTY49+6S1>IENSI%AG6"937%I:^O(S 2=+#,=A>OZ:%+@86J2_)-U6\K\>SW&*L[H) 7)?F\:T MP-JH:@JXE#1(6[1B*)DHK:NG#L5I-C7V)\:!\-'[$@)$%+6;#Q5XXPH@EUR% M8C"4UOW3*V#TR1WWA8^WSJUM:+V&#^R%-%=>0]597BT\5#"@ E*5+*0&AD8' MIWU.H?6./-<@W--CP_]+_FQCMG:SL23X\/WXHETDG1]-PW@64M7*WZ@>JDJ[ M4$ZME5,L@@4JCI67F<@=$T23+###C9&I!,];;^)Q#WA]&@[K*^6ZLG:[Y'1* M& ZFDS*LW0GHT+@$0GA*?C1)&QQW)"UCKD22E;6FV]+MMQ_C^8CC,[RR_Y34 M_,=P?OS\;#8GDT]??DZCL[JK8IWSH_]S5;FP.7E-]8".K(Y((8>0''F F))W M7' 4K2NR#6#V*3?8E"\WAW^ZM5;#N:C9?+_46=Y%8RM./PX3SMY.1GE0>! V M1E-;-Q2HZA."J6LEBS3!*5LXU\UGI6Y#TZL,H!5+&BF_?6O=<@9J10T'=?M/ M34 D"9 M:-U!<&L/N3ZR[VIM\^U4WK)%G%BWD$;9$((F^!H+\2W+ G5)*F3*;T5A4D7; M?F_ J[LWV]/N4IW/<(SU<4)ZEE1.BAZG.EG$E(<@'8(T4M-/G51H[89O@7)/ M!]8MFS]BO-045I+WB513M[?2Q4 DQ4#14@EK.7+SW8Z7/NY M?E,F/K[Q'V_">46'1;>SSW?>L/.IZ/7%;30OO>*&7[I7-(5F[[0$9]!0JJ9C M30026)1)9:H];/,>U#O@;+V=#,Z7DIRZ"VT=2P>1BJ;R.E-M)64$)IAS3LIL M>.MYR*\ ]"GQ;\6!&WO);*SQMFL_5LAW^U EE=Z+5Y?6R/]S-IM?KG!;:.1@ M,EU\,)]/A_%L7O>U.)H?89E+$,?.WF\4:GQ"2C;*%Y=?R0 M O8IPG9%VOXRYA&#<)@=OQI-/LTZ#KTW;]-]P/V&:(W";#TI@>Y$:>''(5WM MV?F[65TA]XJRM'&J([_$I(\7:_Z=*MF8NGC6,P0E(F5HADH-2WF9-C8:6UHO M45P?78/"/"'F13I[B*?A?&&&_4(6Q=F7;?1DI," Q8'+=;A3T#]!: -2)2Z< MEPJ;^]&U@/4I:'?$J!4KOAL;K&&?\Y]PKNW=FY52Y/ZQB#JW: N$%!@PQ0+5 M\/09:]VAXW%EQ$'2#F0N4O#QF"0@XI M&Y&ESS;V;SKV7VB5M14H$2ZVYXBC(W M7PP'3$QQS;D*J?7:O/71;1V<+TUR--E-_SX;3O'6[3X&@5MF-3W%UM4CP*3@ MX)0J=9\B*2V7P31OXUT?7:_&I#LBUXTXW8WM6L[(?,DCWH81[I?; 28K0K#, M04EU(QE=Q]E-03 \84I):L%;-ZK< UZ?BN"'(E='QFO'KNOLO[[YR, :JONM M5&#KD#?!RN!=B< ,9:LZN!1$YP[K.JCO(?!W[J>VLE1W!'IV-JL5S@PO%G,N M#L:\^"0/2AW'C$* 4*Z>(ES79!0K0!KE2A9&A=AZ]>1]\-US_>V/2:M6]FO7 M6D<(KIVK>D@JF [3'//EN:M?O['TS0.<#B?UO(EIW6CK!5[\_-(W2+\LBSJ4D0Y<=:,N"^TI]1*DII[4I(\\9?3=TW-;\W=-SR_M?TOX)&>%.>XA M)4-A/0@#02>$8DKT7*H8?>ML:7UT?5K6\_W3WJM+0DR=*D,"9 M(E46JENB]A*"8)HIZX)KOS;B027LH3WNI+:)61K#@&M4Q#GF((1 %&2N'EW. M'4^MV[P?,_G]X9*^5L_:C14V_:5A,]=W<>_]LHQG?[R5Y(-HD_'!%TBN<%!6 M)G#*4.1(.K!H1"RR=0]]!V+\X*EH5P_-8Q/J,7+6Q+UE,5!.S44=Q!8,(F.$ M+TNID9Y?65H3?M.<=:,5!=>(L\XY70.C9%!,&6(.(P[E%,$KE4$2I7@I/&G7 MP6*!#9#V*3AVQ+D5ZP2Z-FF[1?B7>P'LCU=,)?TYCU2"33Q: SEJ9@ ?SE=M:*^&IZN?3C$-%[H:2$/)40P9 MLJC#(]YY\/7@-<>+9E^+>:@ ME]Y>]G2"XF1R%I*I.R.46,^@7[0[9,THC(;8_%S-[1#WZ4B31V1=1R9N&,PN MCK=8@E07*H7/%RW[LX&2SECD$D0D0"H6 ]X;#05=":6.734_Z_=;F-:AEOVQ MJ-743.U.VCD.4WP6%NNF3NH>"!=!F<<8*??RP+4D07DR$*R/(+4J1D9=G0J_D4C>+41#K/C^)69N*)H6*#L[;7+F] MRFH:^!^+!ANJOL-LYV"*IV&8KQS9Y9XIY,26CH(;Q)R=JCWG)'$]9$=1/5>2 M *$I53.*,\36BQHW0[K6X"'[X;/JYD9M=U[.25U._;\+[=6$ZUKWL+>1]& % ME*@DY5K<0$3'(6JIF%&E^.8[?-V-:"U"_6##T0UMU#)F?1S."-"KR?3%Y"S. MR]GH:N!ID%B1L0@!2=<6/W*CE*$[JB.5DPQ%BJ:T/@ST+CQK<>:1UYAT$-C: MV*#,].!B*ZD)+08(6GW-QE#L%["]:&Z H/BC[KU-FL M +46=QZJI>U1_,VVENILGXV#P_V#EX='_]I]\^+E?[][??#[RS=';UX>O4W' MF,]&./EZ6B4LK:IZ4<^/&LV^1KC>KAO;WW3;/3@:B]UH1XX[C[+WQ@N3?0(= M)8*B/!M\"O32Z:2$9BK[UG/==^%I$/M67WNQ1>N 24RB/AS%T3]*\UR/'LL@ MLG:9_&X6N?EZICL1]6D&OQE/5@2\5D;IXC#*Y=D8^GV$EUL=+?O:.]88HXRQ M'I&G>=T; %'60Z9)F"1L#E8P#*U'BEIA[]7\?F?L>Q1+=Q997[\YVGWSM]?/ M]E[NOGU+H>6K\'*]_M@BF&YTGVWCY_;"-0J9KX9C8NO>\&/-X;Z^;:6CT]:3 MAW+@0CT@,PL'/EL#J2@3) LNR=:E]]V(MCZ]YO:K7_KHG+B2RE)%4L\+=SZ M%_7\:*N4C\52LOF $OC6O*WRWYUH%@Q+"#6H?M" M2K!UT3.70!K J@-AFX^?WQ]EKT+BX["JA?TZ#'__H)IJ__#UR[=;!;<;5]D^ M=-T-K%%@NNH!.:\$T$E[(Y%!+JO6!'LOWWWZ"Y?): ME8PS"O.+ V$6W06'.,/IQ\6*9!=+# %8RE0;).8AUK9+YQ4*%5/,NG7!M@:L M/H6>C1EQ[SY_OOWAR]/=C]UVZM.]^\ MH'<.W[U\L?=Z]]GKO=='%-#_K$&OK34)-]::G&^1E70%9=O4YD%4U"@_6F7?X6L..4( !':U_[PP.DWQSA8C20V6I%"ZPQL'5Q]2L$>BD;- M[=5R:NZ:!BY:\6Y50P[9IA@U4"I%PC,>(:*@O#)@+,5)Q5CK.>S[8NS3(K=' MBG%M[;@UVVJ..UALE#D;5J7]?3+*,:0/5_MK7H&*IN0@K0=C T5C4=O.ZY[+W+YKDG2A_C6+Q,OWZS\QS/"WG_X/4$L#!!0 ( M !5 "57?N1YP'2X .3" 0 5 >'!E;"TR,#(R,#8S,%]D968N>&UL[7U9 M=ULYDN9[_0I/SNL@C7VITUE]9%G.UCG>VE)F]CSQ8 E([*1X75R<=O_Z"9"B M-I(2J8M+2:RI1=9Z\2&^N$ $8L&__?OWB\&K;S :]YOA+S^QG^E/KV 8F]0? MGOWRTV^G[XC]Z=__\;>__=O_(N2_WGQY_^IM$Z<7,)R\.AR!GT!Z]5=_O'; M/UW^^O>EW_]+S'Z;.>=>SWYZ]:OC_JI?Q,>RU__UX?U)/(<+3_K#\<0/X_4 M.'R:7/WA333J]?R'^*OC_M_'L[]_WT0_F='SX!1>K?V-\A59_!HIWR*,$\%^ M_CY./_WC;Z]>S27G1W'4#. +Y%>7G_[VY7@9:7\X>9WZ%Z\O?^>U'PP0\>P) MDQ]?X9>?QOV+KP-8?.]\!'DM^L64"RA5X/SO\K37K3&=(Y!1G 8@^%T8%@6O MB''5T]MCOGH629#]=#"IB'CYV57Q-A>^7U/ 2X^N@';V('(!%P%&-:'>>NX- MG N0=Q'.'OD5!C_'YN+U#-IA,TPX74CXR;@9]%-96T\F^+$LMN,F'^.B? &_ M#?TT]?%'#Z,OSR=ES:5:T!G,K<>X,1-4F?ZP7U:A]_CEY4 %>6=S@N\3P+_' M[_;3+S_U 21-2G(5?9*!)1<\^&"]TH9ZZUEOZ]'*Y!;3&S3QUN"#LN0V5SHR M\ $&L^_VIF-RYOW7WM6341YPC)^.>RH(E72*!$2@1#(92'#"$\V]C9CET.\;J0]QH&D_'B.S,Z9U2N1S$G[?'S^@+?8#B%=[B5HR G M(Q\G?^ .?S@=3U!ZHX,PGGVOI[.62:E '+.)R!0<54EF K3W9# M:+M6,$HQ^^8EVK"E'W^-@ M6LS(@_$8\'_IU'_OE;DK:@P1.G,B71+$:A#$22V#SYY*QW>K-:M@[EZ#.J%\ M.[5JS=>RBK&V*G;8C">?\J]-D\8'PW0"HV_]"..39I"N)"( WRBO\46321*I M.1!\]02)("UCP03!966->AC5BU^"*@M^IZK1T,Y78O2K4YFYCU=A*\!VHQ*^C9CS^/&IR?])CS*<0K"(BY$ D=9PX M+W&NT04IO/%>J,HZ<&/X%__^/U:4RZSRMJQ^0C_;3W!?.D+O NW[\9464Y:] ML"X0S9@ATF9++)5 N,7=RH5 C:]M@JX%\^(9KR/F9?Y%6_Y/8# H5LDP??"C M/^$&Q)Z"@&ZAI@0,SE+BJD:"89$(&TS,EFK+=6V':RV:W6M ) #2 MONA$36DY:,&(E0R](QL405_%D(@?(**>)I>[WAKVA?QVTNU@1[@" M-#_1>X^F2L\ZR7%E*=IEMF5; MMH^'$QC!>+)8:QB/43J<% 0C2\#0$N^2)1R7'J F2\BU5_D[$%X\RVU$NLRP M:LOPNV8$_;/AX70T@F'\<3KRPS$N6BC17U$X10??0,;?*0=2RAHC7:*X?*5, M) A.;$)ES%I&:J@)2K'*[&\![\5K1E=4+&N-;K\N+%:HQ8EF?SC%E>MR"6N& MEU#GOX> 87ST'7=#'+\_]*,?,V%];/"GPPE*?#!;].;O1<]'D#X82[2A@%/C MCGBN,F$V!2\R-\[7-A\ZG,Z+U\KG0O6R%ILZ6HR0+]?B-VAIET,7E:7/(@#1 MKKQUJ #CPQ M(A*JH]\2P(8IQ(E.%LI0Z5W]N50'9'?&6FFMI2 M[N#4\2ZHM_W!= *IEV,T,92,5 >*2$$CL=H98@-CB2:TCOF*?+*JY%]"V5?Z M'R/IBJ>+MR9[2R4/AND2VZ?).8S>]L=QT(RG-\0 %CL$ZT7BC^@I+E#.OB&7LD9?)P6B7W*LRF, M/TTG)0>\Y-?,5S5F!$N>%W>9X8N26 G!:R"4FFRXI5*)V@<96P%\HD6E2\Z; M7?'5P2ZT!NRE>)8P]Q0/2I4C/2D1L_3>>4SPJ)+@IOHD6SRQK"'$=1Q.1,J'T&=AM!106Y49[2 MN3O:0HRKUHU7\V*#OQ?%A/3+3Y/1%*Z_V0PG\'UR-)@-^,M/8S@KGSQ6$\:C M2?&FTS1./HTN,[L.OO?'/6-5A, MX%?7.K!N[(I:<$]!T#U:\0@:FXKBK+B7W,!S,W7O[6SUW A4[TY54GNNEX'4 MW!?655-=TUV'HV7"*PEX9^PS<%&'$M5E4A?S1A,;J2?)6$UQJ_/ -\J7?%ZL MWZI)>Q+2MY%K!V;C); /,\NHEYT&:T,@"KPG,BI/$$$D7"L;?5",Y]I!A5L M=F?R521E^;3YD1+MH 3G-&MUZ'IA/G )#^>SJ>E%T6I_4IG_KOGYO1 M[ >3R:@?II-R7GC:?,9U;SCI<>V=3<(3"*7P(OI,@LN2**^L%#YK7MTGV^D$ M]UMQGZ^N=%!H<0UV?-H([ZT4$URKW&JP.#'I/BA"D3B>01B-5:XANK;$B*)2UK M+^>;NQ%5C&%J;2I=9HC*\ZQH1ZR*%,E :RUEP7.NG=;VD#'<.I1MM+?6@R8F M:+0XA S$@8 H(48GSJ4O32%N6*55:D9EB5L'N_) MG',G$Z'@')&4L=)5%+T18Z7+0(.PM"O%6 7HF02[MR)ZG:E+?F4IP294NG8:5TX)(%1()#-\ !CEP M#8@QU%X8=J@*:\+B3Z4)VPB[DTYB5P;69=@/)!/!!H. ,EIYVI4*(FT)LV@] M RB>8NW8PA*(W?L2%)Z^,9JGQ"?:9$9XI*G9PD%M#?3D))%W-6.M9V--:":;NH MWGWP"C&_^7$9ZT@0D"Z(1%MT):0+GN!T$^&,!LE#LLS6SL?8 M[N%]8Z&G)W M<>V*D0Y,\[M0YR=1N'&$+!@MC04UNICH-(20.>%& N44-*3:'3Y7 MG5 >YN MU&![V3[U<6Y)^+U2WMDQ!&,J>\80P,H%2N0[@R_^[JC%D2LHK.%%#LF5JL,C*%S M[WV!E"A:[DY9DKUUGDD5I:E1/K@30N\I*>J&SVV$5Y''6='T?WT^>O]^DGY> M5+MH TY&7+-H"2BZB),#7'LR929F9[2[>['"FJX6MY^[V[J15O)MZ@BGHOUT M!>70#WWRA\WHZP(19S8E2S4!+8I;+LO5B@Z_Y#9K)P18MCE=2X]_P:RU$U47 M+]F;GW^_1"*II]K;1)@2N*L[Y4@H)8A&^APE%4Q'OS%I5X]]P60]3C2U^P 5 M)+_"Z,(/?_QZ$?YC<23EM&>JY/]$K4JE64!$5A%KC=?<>V7O7F=U#UE+CW_! MI+435<6LWRM$;^$#?._'YN3GM_#EY_?X\?#GWQ>O/RCN=02*F[,M99S9H._K M&7$^Q>1PO\Y4;\SC?2.]8$JK";!BZNH5N(,XSRI$4=Y%T]Q@MFM(+0*N9?SF!]'C43^#[?GX^'\4J]M- < MG5T2943U HC$1@3'9<@N!F4-%1OQN/KY+Y3#"L*JV)=[!NG@:W,&<%.;A-$Y M2PU%D7#3!ET: H9,K*!):F-*%N)&U"T]^H6RUDY$%5M07ZT#)X/FF_^S[R_A M4'S;H_:&"!HS.JX\DX"6%\E62R%9LNIN^/N>1?/VLU\H92V%5+%Y]!6<=Z-R MH?S",$Y)IY+&[Y)"VRK8B!-C'!$Q0W%B1O.X,6,WG_R"^7JT@&KWA9XISU>< MS\(0UH(S!9)HSWDQE3RQ'@UA!@8]&J^I<9OM97<>_(*Y>JQX:G9ZGN^HQ6WY M7)(1WO4'%^_?'R[.=A)G(-&RC:9T")R@) A#+.<)8W(NWN MDU\H8ZT$M(*N=FXD80SRTHC4TML<4.B MSDQI%7 ->#"YZ:%!7BB)M<2V@L]VIR@'S#!MJ3T8()2)?S])G_S)N4_-7T7O MKES+&)6RB=!8,OYA%GRVE PEQ4 =VHSUV"3T5XHP]4%N8+J=HZC M6?7T%\IE:T&MH,Y4SCK^ MW#)#^!'H[^3]>BCEI]0$(9.D=E;<;)S%_WI+\?/>9D.T2U6\_?!/BX>_O\K5 M2R&Y+)@E7OK21M8QXM B(R;GR$WRX&SMFH&',+4OE9D];W'_7NF-_T=_E(<# > _XOS2Z(3#$X2)SP:!V1,E+B691$>)HSVJQ4I]I7 M7#P"YNYS?:OJSW*]3;=$=9#ZNT8>EUF.: LE8P7ZI#00&4'C AP9T6@HL\A] MN7UZ-^_23A.!.]61:@)_#FG!*QMY!\9B\#F2Y%BY0$, "5Q80I4,SH:(UO=& MY04OZ,*">J0^='W!-L+=60/[34#]"UU?L!5'&W6R?XR =\9^XE%!](9D87 U MY#(0#[9T%LTZ^V!9M#6J 9[Y]07U2=]&KIU?7^!8,"EG28S-Z$:7)E66XY>. MXY:',@_Z[BG^?EY?L!4I]UY?L(U$:^<,#=^P,M.&DZ%FCM7.?;&/_H#U/S MUPUH-$@:J,P$@"9T1,#CW)DA5HGDM7!BTWS:^\?9$XI;B:]V@O1M:+-2_L7I M)]5::(@DIW*M7:*<>$L%">5N!6:]$'2SH,':(?:$S\<*K8,FR;>O07$T1DIQ M:HGQV34HC'@MRU68H*A@Q@=?>^-]EA?+M-EX'R_1VFOP)9)+I3MI\N0O/[K* ME*(,:."94%K2;TI@V?J8B/BZY?1P.@E^ M^.?A"%)_!R279,EBG#(G=FL[R9C8;; M$ZYK"+-VV=)MA*'8)C%%:ZHLM22+3$E,.)$B40#+:45Q[5*";Y=C< M-\J>D-M"=+6+E6X#NVGQ988KB! 2IYGP0Q2H:1(,44F5 CDAG+&/(/1)S>1. MV'RLT-;6*M6.SE_B/!I/^A=^ F]^_ K-V_'@Q'X]E'Z#0>H$ZU_S&SN M7JPG@/+$!/4NH_/BG(A&\6"S,1%,8KWMANHX>B^\\SGB&J^X\:60/Q ;+24I M,Z>=\D+&VG!.JHSF+"^E28*CR8/O+!%"H2.JA4M\HR/U?[GH_3;Z M4R5ZOP51NX[>!PDH"A.(L YED44D+B1-0FG^J:C1X&K?E_$BHO=M=*2:P)]# M]/ZJU_CU4N\'\V"6=Y%1H8C4I1@!-PYB94")B0329!XUQ$U4YX&0WEH SS*. MOQ6]36TQ5P[GGLS5YR:D1:QY U 5@_EK@>P^F%^)J*8K*>],!;(T!AQS:-D' M1(C+)?$>-SEC>51) SIJ&]U#]+RHOR>BOTOFMQ%N1<9C,T6;YD?OMY,>UXZ[ M8#4I5ZRCT:(=00 !+9<0> +\S]W>5+?H'4/\^:SY]OKRB7.&+[^X)OAZO-U& M$"H)OFDEM8JFW@+!X<<>M=F)%"R))0XBH[7$.T&)4DHHSHPVYK[>^-OQ=OAQ M'WC;4FH=O&^'!SV*YD&40A(O1&D*PA3QE 8"S@N:'+(;\G;P5[PMIW4 M*A[VESD=34?-U\7)F1<&'09@)%D(1++@2,A,$T&5SH'Z8.XVA7O49GASS)?, M8"OY53S%7VC2KV]ZF@I\ZUDDQH14@H.X @C+2!#@=.0,O+NOS_MV[]^O;UXR M>X^46NV3^@_]E 9PY,>3@SS"*5VJ4HAH; M1==6/_\E$U=+;!6;BI5)'HS[_K./_=Q?%%IS"/CZHUJAS53 Z%!ZC @2&=K6 M'J07N48_XJ6!7S*Y[259L==8 ?/>3_K#@PNXH61"X^( N%,+6DY"CX)5!:[K.5 MG#@KT!EFT4$RE"6Z63KP/8.\9#JK"G!MY[+:(=./?C1"'?Q6H81YZ5%UPJ#W M([P3\.0JL4#!)$&]-!&700].PNSB3)!.]]8]M./0ID=GD^JL"'6\=% N96#6 M)C2O0 OP49B[C5F>?6CSL!F6FVQ&L\=_Z8__O+[:AO42]_B6X%09%6CW4TK+ MR1DCQJN$:YCBCM:^9>@^/,\P6+F-1BQ?[UE)]+N.2GK&2K]B= *31ZNEK'Z^ M^/8F29%!!\%V]1H\KZAD&V6H)O#G$)7\X/^[&2V"[O-KC[D"SWPT1)2[*J4K M]=;,&)*Y3$DRI\QF2\D#MN7RR,\R#KD5H4TUP5:./GWT%_ IW\*TN-%R U 5 M Y!K@>P^ -F6H:8K\>Z,>V]55%"JXC@O-Q64E%]<"V<7]T1<'36H&I'''7-^ M3^1Q)Y1O(]7:U1'O_>@,QI,%HL6A< K*2_1KN:>EW=ZLFB=%0IG.P(5,^NXM M[VL\R96/WZT/64GN356A=6#6+9F<;WZ1>&12*5-<0%4VS/ ML+GK!IKMO^GU(QM MQ-Z%1EQN;$L0%]UXI1 "8B;6BG+# P3<0H4@QB>?A,@6JA\2/ !I]\='U>B[ MJQ859;\;*^,-#./YA1_].3>/66F*Y%(9('EE 1XWOFYXAU, M_PKVQN-)Z*!%PC*^!;J%D[L!OEU9'G>P/1OSHP6C#ZI+!3IV88C4]@HRU-DNUN/KG+Y\^'WTY M_;\'']\>_>=OQY\_''T\_7AT>A+/(4T'T.3/)3UR-/GQ>>"'$S],1_^<]K^6 MN$F+"'S[05O&ZBO/^DY4G[&L*5?44B:E%-8;E*[SCV7K=:S]\ZW:)UX\_ MN/'XZQ ?I=*F) -AQE@B$W?$:XUKJ#."TAR#JU[<_#"J"FTB5X_PZZ@9CWLQ MHF.2;"84O1(B>>;$%<=%^JQ%ULQF>E_N;=4YSQ ]2;^RFIJQHJMD+0(Z<.<. M8IQ>3,LU9>DM?!U![,^V"?Q\ #.Q#]/!13.:]/]G]OVUD^E1$[+5UA+0%,HU M@II825%8BOIBC3A_;]'28Q2I%O:]4[DG(;6;%K>K@7V$22_J) 2CA@3<7M!_ M]I(XY2W)U.)FE!.^.K5#&O?AV3LEJB;\#H(:"ZOA4UZ+ ] MS3EH=6HW59V6O#R1"CEE@]*QG/,Q]!Z88"2D)(BF*E$!+K#-[G)Y":KSP)GH M<]"<;>CH0&/>34*&2& 9XJ@ MI2A9*(MTF3$G]F M7"C&5.W4GML(]H_X%A+NP$N^JWZ(G61<0>)%^_!C^&\&:3CBZ^CYMO,&UYHHRV]!!!1B02C-AJ3B0?M"0C/ MI5.SVV(KTW\/G/U3A5JRK]VL8VDW^CQH)I.KV*P5+N-^Y(FU-A I-25!9$-B MTKAX&1$=W#E'79/J?_\X^\-W;:%6;.EQ(^0_GHRFL]NMCLOY_AG:HPM=A,2X M$AX7)H,**5/)64V)$^&CCDE%GDP'"7IK\>R/8E27_MJN(-52(8X_GAY\_/7X MS?NC@Y.3H].36Q'YXQ*'/^N' 926RI-QB^R'1XW3,N&A_=SNY#B4/(:LP5&C MJ*0\.ZJ-T,X'S42.V?4>-6)+E[^(!=[WOT&Z.\#U^;YW3E.M!,E*:=Q]0)1] MJ%R AJ:*=UE16]O7VP17Z^..]6/,8^O&H15&O2,F1R!2*TE C3[E>[ZAJR=/91DX8.3D#NP760:XQ].RV]-RZS!XHG(4 M'G=[Y4+M,Y;[$?UK*A#\BKB MLJG81EW]'Y6L\!"Z7:4K=*XN'1'R7%(6[IG4FQ_S(OB!'\\[&4CJ;>#>$@?1 M$BEBP)<$T.?ARC/%T/^I?@*\!;RG3V&HJR";+UNMB-KM)G<-M+196)0_;@"W MH\2&+:$^39)#9]1OKF+5>'L&ZL8L1)-=(G;6#]*G1%S0D8BD#/KJ3EA;NRKL M6:C9 PD1SU7+MJ&K ^TZ'?D$I?KIZM9:;XRB(9!$B%Y%'8TSB MM8O9[V)X5E9Y>]*:BA+OX$!@<3?U6_@&@^9F]$YP+5B*CB3G!)%!:.*L 2*\ M4]8:H6.N'2);"V:_=:(.!UTM#V62"V4-*ANFT*C3(C/$@_ZC18 $K'79V)B, MKVTDW\6PWZK02N)==$RZK%W] O,KK\?G_:\+:,K8E*@1!%*YQUZ7NPFML$0E M1EFPWD'U%(I[X.RW7M3BH8,TBX_-,#877V$"!V.$^#\I12X4UE#5F/9K\5I!(+%?,M%LAF/>:7YK^XECOGJ#7J*O6XO]G@ MB,6OB;>XL44;&#>U"R7O@;/?&E*+A[4I&M4"\6^/WIS6:/2_\CDM ^D/8[L3 M*$^*R< MS0EW<9JYHY8*KISEQF9PT%OYQ):9;_TA?,J'(TC]R3L?^X/^Y,?U M@;'T&O#5MT1HZU&)6"3.*4F$58SQC$9F]3J)>P&USO-;\? /_GO_8GKQIAF- MFK_ZP[-#_Q5_,OG1]ZA+ M/%@P90,M_>RD(#ZCZZ81K*911W7W3O(U>:1KA]@'LBL*L0/7=]5\?QM.QY 6 MB]9AO4RY*AR>TIKQ,EH Q7BON\/^U#U$?#78? M]&BWC'51J; ".%KJ,(+QI"QS!Q/$VF_2T3#U$A4F@5&$SL^+\:VPI8[.VG&JQTX&/?7D3GL/KQL_]1OEQ@[CF3LK9*$:$">GE),V(M MTP2TIN7&L6AI[1/]C8#MD]+49Z*#DHB;T^^!=E:#8T1QH8@$@3:X59'$G*Q+ M"651O?CUYOC[1/ZCY;JVN*&*9?IQ6@2"P)IO,/3#R;@7;=(B!UJN=<3E2@LT MK5(IQ@)N=(YH7C'^"/MT::!](+>Z0)?);G<+ZFUL"TSOIN40JOSLM+EA55\Z MX#VC&+>R%-Q05%&9$+4WVI?:3)>SS]Z"?80&;#;ZGJI%!Z)?UA7;@:Z4[Y[ MZ%L_0OG6"$WB&>(O\,]I'V7V ?DIR+UT.>FH"=4ZEMN>2G]&H8D/3I?6N%:H MQ[BU6\+8<^WI@HQE-7)=^"SS1% '&7B(G*!<'*Z (91&B9H@J& 3Q"1R[;CP M6C"[RM3>K1>RO9R?2T;VS<.[6;*=S3&#=()H@3Z3S)"(-0&(EL8X)ZCUJO9Y M_%T,3Y5;78G9NVTWVDBXBT8K-_!<1C$W0=112O0RFJ?)>F['TCV4MQ#Q;LCG MH)B2-A 72LTWDY$$KA-15F@P06;EJG?:V1'I#^0@=\WY-I+MI$4?2J+ 6>0N M*DE3Q$6,,YJ)I%RB_ZLS"<'D+(-TT$$OT%L0=F\HMF5EJXT7:09#T?3,\ MF\#H8N;9+-H(6BT\F*1)T+XD*);NQS(RHH%YB#I%=(QK6WLK<.S7)MY:TEW$ MP^Y@6NPT&Z#J:#-?C>AI-O3VC#V@ BW$W<%BOP:=L52ZZ 5)5DIT=+PAOK3Z M211,-DGX=/=<\44IP0,;_*YT8!LI=\']C27O]S]1PBWBUU_Q0XWKY,+@?&@<7*I)(UZZ5#' MG20<0K8Q*R"JHPN0& MZM&:AH[WB94X<_#*.N9)\CR7*#C@UN@LB5+3A.N:4K3+76-W:O*0W? D6K*- M]&MG3I["=S_^[$>3(8S&;_QP<9\S^ B0,R.6E;L1@\,)A\")L"()GKWS_DZ3 MLC4!IC4#/)/0T:-I:"K+L**Y,,/T'R=O#@N40S]$E;T$I+G3D8E J+6IU!^5 M&5(@D2H:2VH4YVDC4E<]?9\8;2V]#A;Q%:L2+CQ.!!:(,S(2*1DE/L9 F,K6 M0:(AN=HI\/MN\;64<@<9A;<176KV)IBZNJE\!9XGNIV\)5?W4M]"T)V__(L: M1!,M%0:UVVCT;J5RQ(&TN,ED)\!&8V3U>\=W1OY#=XWO@/MMY-L!YU_@6S/X M5DJS;A=NS748P5T\#7H[I4YTUPK=[GMZ'Y*3;QFH0\R'$+:=9VN._#1T&5ZG\@ M+'MO4_L/4Y>:]^]JMU+KF^Z^-A, M8/S9_RAB:-G*Y/Z'5NAKL@7J.TU./$P\_ MOF8!Y/NKS.MHN-*ELBXZI8@T49-@92 Z6,I 619R[5LOUD"I4>+Y!_3/SDO3 M_WE9P,UBU)Y+/J/?D0D#5'U9[M>TN'"12)T74M+D8AR?+6N=H4D!NQ.."& M"""#(0;* ;=5G/C2(YZ#C0&GS*C;+""PR6A/;0D^EIBF2ZFN/?NI=O#\[N#X MR^\'[W\[^G!TY_7\KAY3,?XJ/'XL+D(_>'L9HI# MM'+[P[-90QM9/1 ? 5UH3QTK)RJY>L__ M1\!\@KL .M2NNQM9U[QU4GQ>X%YBC#\.8AQ-_>#0CT8_\%LSP!K IAT""8(%(*H"@"8#2TDP$7#6DLIA)\#'B>V(I<=9JE!*30).3#JK?P+@YO)U=7;Q#M>J*G>=RPG,U MOS<_KC[]CSXNT*-X_N-]N31NGHG,RWT^1I&,?DPI_ GE;%J0[&P(VC C=>W< MW,V0/=5)4&=ZL4[_ZO'3Y1KV 5=4G/CLBJAEO(L*A W =G5M\39 G^C2X@X8 M7Z=4G='UY#HF@I$9T*(,(DKU.H_? >4+; MO3Z1ZU2F)0L=.(8W7I@;8G@W@G].9TY&>5L\C3)HZ8E0)I3XSVSJ@6B;G!7& M0S"UKSS; -:_D%U4A9D.'G";WAY'3BM!-K.$V M;'0?Z3LX_,_?CD^.3X\_?3SY].[-;R?''X].3H[:!/L>>F3+>-]6B.^$_)2 M'"& + N!I-Y2Y#HIKKR&K#GO/?3P.C&N&Q'AZV-+385+4D42;''#O$G$>>?) MS/(51@ +M5W8^_"T3BF^O-AF,0;,1QE!Z@D3G'$&+3^#'Z1DY99Y+HEC,E,O MG#50.XJR'LWN5Z%J6K"495Q'Y!TX5BN"A)]'S;=^V>;]X'B8F]'%[+O'1?A^ M.X8A-I._&YFMD=*^@Q5H0.[K.XLCX<3/SSKHQ,][AFF@K3)D"PT M&K0NHA?M="96Q:R=%E[8VBGZG4WF_ZMU9<([.-;XM6G27_W!X/-T%,_]&*Z! M7\,=]SA'P0'*RALFB60>I:8 B/4E$JNT,:YVP' C8'ND8?6)J%A5-$MT7#'U M%N_ 6Y@OY:?^^R)SJ(^O0\ 57*H02*:NB# IXE5VQ*A$4W0\P=VV46O23W>! M=@_4[WDRVT%IU.:); E/IC7-,_^X B?/QQ# MCVO! DA&M-&E0$(Q4GH8$FI<-H(I#L$]P5J] NH>J.XSY'198Q]]%_5";(O. M+]>G'#>F.G[SX\97\Z@C9&,D,Y&87.Y'YTZ4>CU. D\:6$XB^-I72VR+<5>) ME)VMEIV2\EQ2)U=,;19A4B;01',D3"1'I !+ L6W@B=AJ:-6!MC!N>U3)@%T M2_^:G;D-#1T>^-R$-3]\7=2/;0*PH]C_@^">)O)?A%A,MG=?#CX< MO9^DR\!QS%H'+11NSN4@D&5+<)*.,)!@,TI"Y'!E M;"TR,#(R,#8S,%]G,2YJ<&?=>W=84]NV[Z*&'I$F($2E-T&**"T@(B JH AN M$**BTD0V"E)-$*5*$1!05$(O(D:E20U(%Q$0E$X"*+TDE+ D[2WV.7O?<_8^ M]WOWW7?O=[_W%AE_9&7.L>;HOS'G@CG$) *[3IZP/ &PL+ EZ _@#D*F )L MK*P['^ABASX<7!P<[.P]LD?*O7;=S=W#\[:?_YV MP*#@^P\B(J.B8V*34QZGIJ4_>9J1DYN77U!85/SR75EY1675^^J:#\TMK6WM M'9T?O_0/?/TV.#0\,CDU_?W'S.S<_ )Y;7UCD[(%_MS>D8L%8&/Y_?J7<@E" MU*.O"/:;Y+]QP0+_T])]H=@_R;7",#'Q@(9CTT00 +T2RAYXJ9O&L=>1, MV6W7XI4+/MI47]F3T^">[Y??=@?JTHRLB#@Z6Z@Y$PA[R 1:'?J90'E[H[,D M)18T*P7U'ET]'0[OC=U4ILDR@7!71G\W27WZJB,G[LX5$C967.V@+C:9-VY*Z6Z4 M+.)&L,-*RPW9.(VCL&QA8%N)TWTF3#16^:ADEW,+>2)L[R<12P61-42;-:A$ M^ /9^C5DTKI;=FEGJ(HM:YYC9@KL6?(:1T<4:%^G_4&'V*:3B").;S$(^H, MR=##^%\,3 \\\3_M NMX)R6AV,$$TE[$,*3-7;"/!AW.H2Y:&JQIEUFTCH]] M?ZL@FV*,J$"1?JJ'XS<$R @&JSH3$#'?L5N5MVX+!N3"T\ZC%?J,$96(?SGH M'XT[=5>8A7J9"<"3014F8+PJR 2(!Y@ V0[3_+V!APGTZO_!\$O1F"_$DXW! M*T-RJGSV=ULTO*"_8 +NAOJ4!-(S,/UXG\Y==3.U=Q/3=@_,*-AS>SKES'%G M G$?>T"%69K0ZZUILTUL0L.^X2XWHOM%2R_7?'A.&ZC ;!E9?'S*&EXN$,^SID6QJ.8!_GYH^L) M[BSN.<_N+QH+Y"3?SP 4\_-V;&)J!JC)J>W/8DV#?CJI9]1GS6EI9N /YT$]?XGI9^RSO M6QES"-O^2^(ZX;5NSN 9I\KB8F@&>#&:KML+!RL3@3(^I4_?IE.?L16?>F1] M47 >E;]IZMCW:G-9>=T:'ZY?HE*4H92=:JI2PK?+9.&0,:++^N3);17*#_J3 MF_CKB'C=[5."%J'J167.:PB"]FBMR.A MT$NI0^8M;@(+RJ\N'T&Z6]^KK,S([TUO1>^U>XOG0P?9\9D?VAR#*0Q(T(1P M:'H,QGT1/XR;+DA\_=2)RDF.2"OE/",]WO&SX663$X/5/!A@Q"J^=#0J]7X] M7YD1\;C+U\V?IX>O[WE)+G#^W@J7CO>H9\HCHW) .[;>NA[]*Z;)#$/,L:4= MK:H'O4G3-K_462F7.V:6WAP6!<@_<@,>K2<;K4IM7X!""_)WTQS0QZ,H5!?T MQ^QM4$TZI9=6S,8I$9ST<3\3R'QOB(E:["?/4+;OGEAP>O;4,23F0EURQZU/ M[<7R89+^OG(_6E*Z9:RTXYR_WTZ[;FAI^-E363&+-7:'E.Q$+\%D>X&73F&: M7AM6#.Y%)L#^_=G4@TKD+H;LL*7W9.#P]?Z-H,!NP-O9/6^[U:*"T)](70]1M4OPZ;7?(3MR:H: M;=EGCPQPV' "@)\PT*UK7?5EZ5)9157"R#=VP58^3Q%;XT9 & M[3.#W.P? MZ.S97A8S89O_-K((/@M%^U'T&+Z,/WU9AX2R_9(L:[U[_N-@C5D?VZU/63,& M3,!_4&5S'P4WV^/8MVJ +''QR'@ ][[KIF5BH,FGJ?=\E_F P^;!CY*E:%,F MT.2$N5I!:JC#BM%TKI6='GAQ^5M.!/I"X5S9)3\^#?C[GF" UO]W3P3R\W+" MD-R,<$G1C;F:U$5_G7[B]=/H2 36V$)#B/-XCUSWP^6J:QX4R?:%D2\/3P.&U M->]C*UXE3UU"8IYWRKX[=/T.E"O'4FS^L(=UK%BF68*VAZQKQ?D3ED9A-JSF MDMT':EKB2IG 54,8'=#2>&3V;>DZ5^T8WF5:ZQT M;S[8A<7FW[6D I".CEXFU4=4M2)C1P*]AG*H]D\GJ7E3NS@G51*:J2<;&!2=&A#(F20^$/2G6T+PY!NHB(QO;?/ M0H\/P<0C2!3X,!-@W ].9P"ZX. D!Y3,ZZ%D?HF.90)S1XLQQ'I\6R(8 EMB M0BLVZ;9B AS+#!T0RH_H54SS$-*-"6P+>*) =1]R[F_,H8R_P[V1DPE(T/9# MA@UTA6($A^YY-:1'R<&O>JR>@VH'QWDZ5O:(D5R=]=8K*#_QT/:T[LF"STE" M13<\%?UYNRX62WKCO33\GG7AFS_]C@,N4)]R'_0AL^KX"("C9E^M_"Q\=B'I M:Q;(?(R6OUQ]R[?;JF^L9#6+/W9*BES>.!"&+)Z;M136?'/-D.LH9QYNMH2( MH0G#IM4;J46B/:VZ$HP4:3:/X.EG11^W.6_48!HM<%]QP^H,GD-$U,@O67WJ MXJ%JTYKX-=Z:1S?>[[MU^?96_1WZTIVI,*/:G(S2QMF,B[VP.)H__76#!/JS M1-JSR].E'ANCI3(D7!QYU1A13R!MK [/,B)K ML30@G:8((9I"= ]R0V<,LC<[?A(5?F0K5WJ#A3K^YP]F MF0 @!QD2.3E/*.NA\P<@019UT(&88#C77@^@MS#-_7@W[+;$"H;$BB+E_LYR M\/;O++FF_\3R];_/1(%FB#6RCC^0S[1;18 :(84#C5:LED4M780S M+1P-/T7QAXUMOEXX,:3E J?RTO11D4S@76%SO5)_U_N44PG;D[[AV5?L7R1'_9!<5DKGTANM$&#($_T],;7^WRHW?'8G==_58L2K0JZ[@_:[;VEN-AI,U7XDX89")M=H6O0T(^FY M"52ZED=7T$%SN4+70SUT6ONDR^(_H!*"QGG+BE*C"1]YI\7 JBN^BA'TLJ, MQ=P+7L4R ;^9%]"8;X\4SL7^Q%#BH&B-#%6B/U^]]J5"\B?-9&H/@Y&:RY%F MD9C[=K\P]69/!7#7S Q];1Y+IXR?J,9:54L[#R!6]R\@1RXF!@,4/266,4TE\?#- M+)9GGC/O5Z5"KY :>R*I#75/^DCIJ3BQ?VF7H%]'O+JWM (4U]5:7@]_J?$LO>FXSB@->>0; M_-(=4K3?'=JZ?A1*19[-E!\@?_$$KQ,FUD4J**;QG'\5,D9D20\1H]TC=*$Y M)(\PZGGX5GRGX:N5JQTY.:B=BU$P6#KN*S@HBSX3"WE"0@O M87S&B/GC8)XONZ7J(JU4DC4.JG7JRR)L!WN_.Z0.KK33A&LIUHG36Q\#518^MB .Y#L4S@U:O^B@N_GJ\)U[=A4\R)!?Z9 M7LW7.,^487Q<+WNK_?C1'#T5SGYP[= 1GJQ;EMI E_[13(34ZGD.Z7 :_0TY]-3J_U?KSZ2?A? !@8N M!'M#I<@(0WQ>B>?V]F,"T0A!U9Q:\N-HN7?]>2S]I]G];[9=Q! ,2S:4[ 0. M&4OK4E&!6PP1S%+?-!/89;8OTLO[H 51)G$"V?&>YK2!FP62SUC+XSTPQ+<$ M03@4\V[UB&:;[A]C7B,OTVW0&X?VJR)7"Q+PHG\@X;]0B>/U0O]<5%/(-8.T MJE^/)"ME7WD=)V#"[J=C#W67Y9#3>S'&5LGK)M("BT^<49:9)E*O-WC M>!+XJP7_1BIO07UB=8-,J!VI,')?1_KY@:P*#G.9VV'6/R[ZW\5 D+841!OX M4"^Z.YQM;R .#KB=.) U3UVW[9Z$>-& M1&IH*E31SY+)).NEAU.\%_+75OP[)_MM39JN7O]TG_&3LZ'>ML(7]1CJQ9W@ MT4ZOC1"!RDK5QY_996J$'%KKQ;9*AR%5YWY?X!M0?U+<((3L],%(.H8OOM@S MC?+#?.O4_8#YC.G%)750#M7< YY!>GGOWIP4<@+17^Z>,6[>%]IP%MN4?VYG MC94/"UMSYP_?V:5HX7W90M#<^&6V,2W"I2"K50_J^G)^(Z0.5/4*L%4-%22L M/28"2JX^$9$U?2H+-:\NB:NE#MYJE0[DLPMW>F-P:8.6.V D$XBS'WAF4T<^ M6.H?VOU^S"I$QNCN[9KZ$ JE:@#R8*_$&)FS_+,OSIXX35CO6$=,EGF'0MTP M(@3=A"39JHO2=,G?4HD$:<\MZ?TD=*'F2+MOZ(SEDNP55HU'SQ]_9N%_[B:S M9Y;RCML^\*S9I8^-NYJS16AE\[[=APO=TX9U^36Y*)OC[UT1\9@S>+[INON3 MN A7_#AEXTNI_70 2N-8=ADX$V8$A4_X(W2_+JH,VU@M$*.>.A6//G?9==\B MS[*\I7E-',O*%)Y]D__8HEU#YLK:E%5)\?-.U?Y#;A#*30Y^/CB_11.E\!*6 MK2,TP]H:38N*V\<%' GB6XW()%Q7QHYE;,GG6E"AX-Q7/["^M)%QG("0LCU]2'MIHC MYS3B5UYG$ )HZ^MO \/!%BL1?7P(W^,B'V MWG+(0Z_[P[SC \DW[V0+/5-6<&_Q;*C>Y$9C&2@CJ78#_*Y0S;1AJI7G MG1P#__&9UTA'1F9YJO^7I1;L(KNBY&+Y]3"%#)&G%XZ,Y5VZ_P4/QQ.+4.\" M:$K(V-/3ISE[VR<10B>_I,:CG9S*/B51.8]>9I"E2K9$ZPB4!Z!*#@T#GBL% MM9SB0Q_.6:<8]3I.7/YT"^Y_"8X_"3#!::.+/SG0W+ M&YPXSYH0P_7"-;R>_KU_W2%E2E2."YARX=V7\M$[-?BZU$OA(@LK[0"\+4S, MM'>USK+DE_E@YU>#(Q%C)7RBI/T!29U0LVF)&[$&%59I0@W-1.<(7'R=O[= M[G1UKX'H9S;S J6]@'[GPGB-P/=%1A."9!VO0@GH\PYUF!JZ-,#8[WRV@7TGT$1J&YG [@;54!=26_ID(D=@ M5(O$P?B"\O#9T_W7,A%Z;C_;?IS59/?X.=@$)8>/>''\7%H@'K)_%8)FACEI M9K=FA_B0J(:I02H##"_,9"I:"].G2L8PN&\BP5CDG[XS'M=5,.9H16N#U-PU MJ#Y6,<0=IG7INWO$H&!/@]PK.O, M]@;F?!P_X>@4+^]G8]CIR$@WV'E>\3N3O;'G<^UA;UG#D&G89@SN*M/H!ZRX_L]XB)MJ=TEE9Q7>'SF:)^(&".WA/ MK8J=+@HU(#E$5LT03HH%F)A,WVV)M9Z7Z(4)_;YUX#@A3DJHFCY]VF^9S;+N MFS_GV:EO;9P9Q[*NOGC)W?@J@RX/)2654$/G *'Z3(#O!]F!$4.(P9/.ZS(!(7.:5GHK:EL!#4UNLB/03F.L)HYC MUKLQJTGF20C:.HKZW0:V;OK_[#Q4 8)DGA@6O!IFG6AP;BJ>E6I67TTUC,CQ M%.WA779>W<\2UJ&?POB)^[)Z /ES!K_54:BL?/ 4)"Q"A=DZ=]D0(N$MDEOS:M.]M1?+,"4/6 M'%&%-1%:9^@I\O',PV#,E#/:7G4[+=?7/SG$(,Y\SITMXW?X@_O*!, #/LW] M BF0\TJ<%N#[8EK@U)7P4G,-_DD.;>.PBJ<)R4Q2 V$44Q+FA5CZ[5>PKQ>3 MPNU=JY'D\7*6S;O_L,6)8/EMFQH[2"A7^P"N-\;P@!]'6$3&X^)D)!YX:KQW M#9,% ,U?C7$?#5TIKF!5]B)__GCH8;)-+?\;U6##EMCV(S]_L0DW;&K%6/%I MV9;S=">_M"[>VPO[[K"T4R@^D@T'X\JQ4K2S_4['OV@/VR_TF[T_DCES?E]V M4G#._<\"W/M\XP87ZSQ%-;(N"6@H#92SK".7?U(/52WKD/063_8GFFAZWSF7[&8%K5!<,##A'RJP.RO,ZK"MQL]!-Q=2P]-,UV?BF)G8) M1M[0]3KD-&[)E51(B3;"/ S5E_2\?.=U\94)LX^)6V'[H [M7A9\]F ]@JC> MB!-B]&(%M5>YP>MM5C&O]][-F?58*[W2,2X;WPL@M<*.'L [;A! &523OJ'M M3;>O=0XA-TK?.W:&<)U;:CDF8/0$]ZI!D,9.TFVLY_,PXB%M%L3%O@EL?:0*_C-85F(5 F/ M1W'0G(C5C#N]Z(>#VK0))E4?:'Y2UP)O"IY>EA0 M =$H28AG N61$;QQC,]#3)BC7'NX@5205$^BSV1+R@E3?LW#B+NU00\0C^\0,X?G,3ZXT1(K M>D:=RL%[6:=%5EO43AY0R^JX]N[8H5D+0TQ-?<\;7+/U[L"4L^0[U2&O%L52 M/"5>+)4:MGY:^N7[G:.R&4#I2T\'Q\^YM^^&^,J-C[?$JY9]:GTQ]#S9U5U0O[U2_55J9FOX]H2>J4%+EVZ1:7XRH\O8F?G,Z6=>CWIZVA/T"J^DI8ZB'7GOIZ_2D3F!0? M>/*+)^GJLL;;/2G214,^63+U&).1O^W/UT0\+C','[#2ULS^6*/1L8]ZWUC, MDW=TT?OPB-7#VNA2[VGQH.N_1N<.I#06+TXC0!58BRL1-6QM^R;\>N262UUX MF[Q]T\A> RRXD 3VPKYB2.\,Y)B Z9F'3. ^UV^G;E<#K1B1+Z!"R+F+"9#/ MTZ#U>;@P@9[O3&"+C&]+7%8A_*1A&0Q=:/[&)A/@E?F VM">PX,:4;^=QXF: M/\#/>?1A2)?A3$ $]4F=DKI*8U@S 8PDS9WQI9X)8#N9P.HT)A[ 6*/^?WO^ MJ_';T^9AH;JN:A/YTRCXT&B6;*=1,6OBUY*?Z?_T\,-6BT_3;Z3O[C 4[Q1F MV<+2A*F4K[U(=Y5EF29IGO=Z45':(9$UU0-W4JV>Q7G;//W^,IRV-=Y^$A3] M?0O^NEK<<^(E>ZA6AZJKQ_H''3C/!$Z45:9MSR>2FG:GW]YLG!Z+;;IQ\\B\ M,?\?A6($#\IF/LL*-:(_3&\3*"W,P]##$71 MSF,T4"-5A'6J+Z1K)TC77QL@<4<3J=N$:6-$_^J?1B-(;PS4(=7+)S&!>V0, MI.DFC"WD #):IUJ5$\ M36B]:0LOA/1"LGA\L?95JR@='B@86[+C$OZHU7.L S:-ZHTE9=G /C.!JJT6 M$U(_Q1J\5ZRR5%/]3B(4V"OJ\<+UR+;*(9K*SRG.=#A._\?9TP>H)M9-5DANKQ;^3-2;V%MZLB!.(R0 M%L"!.8."TQ1\B!BV.6E$Q9ZJ+TN7R^($C.R,=/][).2^\6KY=K.C=YL=CBN35;$3 M.@E'OFG;1IS?PYJ7YQHA'R:DW/!U;7:YE>KICG^'OS>B\LO^@3KOHK:N0H_: M>VO4H"\"'^&S\8Y&:V4Z/:K)C1E& _"61/8_=Z801I MYXL#$UMTUSV#&[)53OOZ:ETM$\(V!@M\O6\F#-C^B2JHDA!V2:>7X"<-2:<( MO :F0;47>UW7M3OE?#)"CJ&)"L6F6) ;=9+F^WJ02&@][4;$M;R M^D)+PMD MYX^I-MVZ\S&+UE?U\DV'S$08LH#VXS8J!;&SNQ(^VY+)0CKE\]YQU/+EJ2R2 M^%!;[N(#Y MT6J@H6)T;>A.\E@VV'WMZ]]Y%^!CLZ^N-$=CN=1C!&:/3]"U%^I[-A3OE.UW'(@KVK\:QXL-3&[ MW7[;'UC;8\1K34)2I+_5W<49?\O<3_XQH'<]E:^D\OA;>X+,>C^:0/VN7AH: M@RI DASA$DZF4_ H%^#M*$?E4U?Y+.\I0!GFH\0).\5E/8MZ.O#O+A$BENW3 MT)HA:!BT(2'^$%GGW O%NE M?.];PK9D/!X,3;ASHDT$2CG<-*]E:G%$_:ODJG$S50R+,2(:3W(@1"-)J8S^ MOCE+>2I&8/ZM4YPT>S(+A% UD#S@]7HDY3D81A V0H);+1,^+S@8N%\IRYF/ M?CXX@>0 ')[\ 0)@\TB:(&J20$ELL98$/U[]Z3>J^$IM**%4Y1"FXP 3()S? MIN']'%I0) M"E-4D?/BZVA4+RA@8=38#M#"7E^/=G5C@Z@IF4/U\C7G_]R>_ MCX&**7R%[K+A9.(P9K*;$%U1G7;WF''?_(BCQN[Q[@1@P[;-J<(;W8Q?3[*Z(/@7>ZZ!(_TD8O)H@T6NJ9'V5[2\W;3MW,@G_B4?+X8QN8 M;14%RJ.64Q!-SJ8N)-T8GU"<@*=HO\L%*Y70RBT/R<.$2T3!3=Y%E%#@8DM* M8'M;!J7^5NN*CM7\JE3BJV0MQ.R%I]J/_W"^ZW&#SJ2HQK70DV#AI#5/RZOE M5YYW*"CUO&0.A4T<01\UI$ \-MJ"(XV>4!5F/65(-D9\IIB)B]"%($#+0>-@ M CE>.9 #9%B#E_!A^(W3?BCJ.C3F\W]@3+?1D0G[#S)'-VPS&+'+F,N8>X=O MB!N)SZEBYO-?XM=?EYC1GS!V!_JG0L4ILD&X,BG8HD:G@EI.CJU_(G!F+Y56J^ MKRQC3C*!,HEP2XH">>*\KZ;=7;:$R7?F":#BVLI!;(@C_"7,>! M\IAF1-C9D86M-U5QH>=$OSF;GHWCRK[\^&#&1T3D MK@1.M]B YDTU,]509]M_PZWNCE%2F].V#8SH0Q/VFMH'QE,O!HX$7EN_43[L MVN_].9@KR321"KHTN)7B) +#42)@\\5O!5?6%L3ZG0\9O?Z!+[WRMS#S/R8@)1MQ@]J(TSVDR .L\$VA+! /4E" >GX; 90.6 MYC5_JB\#^(G[,W_DY!B^;) N%(]D;&/(N'RM$^YL,_@_37;_"_N&Q]WB6? , MJ"'XQ^FY?^:^?4[[II16-W )E&SF*B$:17&#><=&"2W-I-5;_B#,[/R$ ''EB#!]P!)?(/:A9P4HS]=]E.< M&?;%+22UEAF4VX:O@E<+YXT1,:JW6E*2SWC\C@"2)V UF4=Y22Y4%V6FGZ'D-TG/2#ECAD3JMT]):-8K/NA\AO(L&6.@LZ,]HV,-)?".4 MS -OR7*I^A4)ANWY^7'%AQ84'VQHZL,SVI:4]>% A.T,1XJ$Z)(5&O<2'!N>"*X/]> M:SJO$]FT@Z\_+GVRG-V#L)=)'N]ZEKTLEA]WR&WWPK+8PLP\8$5)MF$2WFA2X(!O>*27M^BV15V7,\^(M\EG39$/ M4UI,X*[@3X=5?K03%,Q"#=)U>N8M"(DNL2X#LH>-A?F6L 4((?J'/QT6S "U M/[^;%]H.82%I,-9("MW!.)QYU*"V^^2>C5&T;XIJ[&ODZL3V]DV\!A,@5A $ M)08_H%E(=F>F0%W MU0J@!9W NTO)6%>]*R,O]3J.YK0*6[EQBA@WLGW?*$&2UGI&5!BQ(NT,5A,F MT.+P"8(%4(#^Z?;."P&J]!S\7/9%#%$603,+;8*8(_]\%_%?RNUN/!1PK?0" M(TU&'T):[_(CP @@4^=UP?EAXPP$P<1(5JU9GOO/NEYA3)=^;"6/A&LZSI?&-"28R MY-A?_3 MW=R_S/M)^<^PP]/)T%U!U#L\R9KNU69TD/Z$IC5EO=?+P7&FZI7VH,O=(9M% MQ)..AQ& *S<6%,$8!9]X=O!MR2\7C/-G:U[LBS<_^ZG)F-:-.8V"UTVH*DU"5K^#'.-='G?ER8[_' MRD$W[Y>Q2-R- /E7X/T6B8#(\I!Q:[O:V';K\IC\S*GK/$E9XK+8?+04Y+C& MF)N+JR/Z+?V!KLVZ0HZA1OTS1F=+1+RVSB7JM&]A:NK+>@R!HSVC.,K8-Z2G MCWA%PC/9&DS8QO#)H:%9SLE[,CWI YF-I%R"?(.=@FS&R7\[=<<5,X'+F"&< M';V8=K/*H4LG\9[?L,F 3YC*K"NL(_[M5G2;Q9S 7944^B/,-;@@^BM"\-(7 M5=<0:[CCNZZ7GA&W'IEA:QI>CP/;F5^IFR3LI$-4 Q\H__#>$ MS'[[A*QS:8<.Z SYZ1%ZJA/1O'60?#CFZA42)B8O:')M\'OE^T59E\99%7#; M8:4T"+FL2T*@X8N9 @/3-EN"3V^L' [_ML4CT([Z='^I+0SY3$(EB[QU M;],GDJ'YE:;U>J0BLZ3@8GTY67W^@>ON?SNR5/%10'_3X)I3) M+O$YHZ_G=]ZU$#0O>6]+FV/;*F1PEY#&: ;TI#KI,O,?+IY=!POUIHN3AO9# MZIRMVGP;/EF'33G#E"$UE2]VFQDG_Z.SMB!CQ3J-F'5I/:""Y/_04 MV#UM+?R4+^;EPJ"N;?+M!QY[BK8!XRP!@7^1M/\@?$[BT#G(%VDJF&&GR97' MY"!=38_%H%_S+OU,ILTBG^ :40_0?"E3ZJUPGD 7.=7MMD(?UPBIO"0[[#=\ M0;U$FZ&Z95E9O.@18H3K>=M&@,5X#T*DSEDL#"T)%K:D:%S8>'%P9FO!->8) MO%A&A-:Y./(XXUMUD:?FVZ";*[(OGFS*/<$NHFJQ)#M<-)9TC]%I="!A2K+3W_593# MHQK2?2#-:UL]YLYK0Q5R%8.KF;1./R OD_>E!L(*"3#: M(N5LF.@_:B8EPU&1;18ULDJY3A:#FK-1#-\(.(/B#@S1QZF5EM:UU=X@2;TS MLIWOW<(EXB<[TC ;YR#XUG1K9X]Q.]T,0#MBFI-4F!F4N5X@&;SIO^UY[HUQ8P)F>AB:V,X; M_ZAB/QO8CT+:T=T]C%@_)@ >1#&4D_#$Z$JK<+3\F" 3N#3Y&[=KPBPSF++5 M1B0?^C-!X(:!W.0S6^%=88-BI[*L_ \:>>S=4MC G?I'MY9$L.2Q>& M,"_IXLX_'>3W&2/2L*3O5LAM):CL$:M_VY;]+]78ZRXB@;:;UPIT(ILVNQRL M)H^-M#@:3DWK+ 9/C;,W5/EP11>=5RZ)PYY#6?29 1CF\/\"4$L#!!0 ( !5 "56= MYC23KJ %F-!@ 5 >'!E;"TR,#(R,#8S,%]L86(N>&ULU+U[<^,XEB_X M_WP*;-T;>ZLBC"J0 $F@YW'#Z736."+3]CI=W;-;L:' T^:T+'DD.3/=G_X" M%*F')5$ 1=*='XD<!J#;WHVSZ>3?_TI^A7]!/1$ M3E4^>?C7G_ZX_P3I3__[W_[IG_[E_X+P/S[2KXH,#^J%SAXA?L)5I=!]RL8Q1!'O_Z8JY_^[9\ 6,(QFX[U MG3; _?>/NZN#(MEO[HK?)OK!/=E;/$_7:"^BWIN]C5M07E"G.OV]*Q M#M/KUM2]M_R@NU=X0\S)*B]?J,N)ZNO=78DZ6?7N-6[KM9@N^+B'UV(M9D/E ML?O%9_NG4HP;J(9,"SDE=6^HJG\L]$3I)5MN#0UR]:\_V3^-7N;P@?/GT8>7 M>3[1\_FY_*^7?)X[\C[_D<]'6:(8041#GF0&$A*GD$9Q!%4LDT00^X%*U&BQ M>K5'>@+_^%II48CRDO-3@)V+ _-UIN?3EYEQOL^7_;+Y;YU]+<)?]+S M9U[>8)5UBX*E_O]6J0DV] 1_.DW__W_Y;6U;_@>XWQ40\)N6WG:=\/JLL MX#-YY"&45_PFIW:-]+R 6\_#K2F#3%U,@UZ0) MSJ;/>K9XO;6/>G$^49=V\&>W+O[P>F]'+%Y@:4@D#4\AT3B#)"($TE0F,%8H M-I0KH@T-(08/F4,CB4KE,U H#?A$@97:9\"IW8@S?.#WXX^60>V82SY/)P_P M<_[-^EWW]O>Y&&MP/I_K1>N$$H!+2^3B([%7H@F X"WIA-S:C("NIPL]O^6O MW+X"(Z:%S"*)88RM&TSB*($"*?LO%4=1QJV/3;*1=?+%U)=K-H?\WA70W M#3[97X-O?/RBP=0 OO%=G3B]P?-2\3!.V4+4CSR:HM0Q2Q1J@=LC( 13PCYK M6YK[6T/W.LGW&?5V-N^])FS:_GBVK].]_L'M.+/%Q'YZ/_#)W[_H)Z%GHTC1 MF"J20JPILAX$C:'0"8=$88:D,!$ES&>A4"=D:"N#0DU0Z0F1.?#P9+ G17%JR&4HP* M9JN]MQ>&\]&^8CJO:YLM5,[5?[[,%^X5F-]/[[13.A_K:[VXFLCID_X\G=O? M7_#YHUTS?_YAK=36YL2LH^]9,'L[E(O]F/^]Z?B[FBQF7BU&:$8R0 M)4O.4\>8C%G&-!(B(EFF5)30E(>X5ETH.33&W; 1+*9@5ED))M9]R L[W>_= M3]):"IY+4X%X!=/*3+O8JNS\2]CRJI/WP&^9]MY/M^/OQ9L'NS(06 O!TD3P MLS/R%_?7SDYPN_%L?W:VVA?@%[ R%ZSMM8YE:7&+SF67#Z2E%6DG*O:ZLNT2 MY+?ZHU[^]VKR=3&5?W^0+U[OIN/QI^GL.Y^I MD4 846HTS'"<0")C 6D4Q5#2B&=&,YY)'/))"90_M*]%I3[XN3+@%\L18-.& M_P665H _G1V@-"1P)R_T,?DQ?H?@=TSF'> >3,\-T6N)>4.E]TJJ#:%YRY=- MAVFPZ7#)9Q/+K_-;/?OZR&?Z Y_G\GRB/N;CEX56-XM'/?N8S^5X.G^9Z=7* M*B+VN<@40\X4=J>:=H6-,859:G^KL)(+\([<%>3%]>IK:6>J,FP?XZ T?CL0=TR$E0' 6K $]@P41A2' M2*499Z P!*PM\5FOMO8< K92NG\>/>VT-'PN+>W&G 9C[69-PZ'[V\LYS?:M MK9X3AVI\9F[RA?,%1CA.[;HZTY!E7$/"I8*4F03*5,0FIJF6"1LM5G$_/J>X MY=!!'XT#\4NMGL6L-E>"3[@WP.(HD1%,"%>0""$A32UV$D69<#%&:80"XPB: M@-7#%[8%L+Q/_1M T/6QW=OMFC/WX_C%Q6*#V^FL.. \7RQFN7A9N+,HMYUS M;8EC.EE8_<;NLJN)?4YZOF@U$. -5.V=]U<#]WVL_\:@/:?W;Z]HS'C?QN=23E\FB_E(1BH67!@8$Y%!DDH.J8AC2#.$TC2*,X.\3OU\ MA UMHG_@"B@M%D#;S]%D'C[=#\/J30"M@-7UUFZIDMO4U?DW-^G/7.:%RA? MO9_@_CB^#V-=S'M]^">_R@? M] <]T9:;1@DAQL4/0I5$%%I?'5GR0"E4*HM2HJFF2 ?N5NZ3,S3>*#^/"_ZC M&7,<@M-[5_%4D+K?/73X6!77S%!JV2(Q',&AO7W O5+ZWN^K,W7/OE[MY6$D M,)\M1E_U@W/J?]?3AQE_?LPE'W^>C3K&: UC#J>_V'P>$]\+_/KIKT=8&/* MVY_6T[U^[%XFNY=YU53WN[C9U_ZC-GHV<^>B)8U\SKG(Q\6QJ/4.1RAB B$= MPS31$22$"\@2HB G1F4)BZ20,N2K?T3>T"9_I6[Q_1^7JKZ>N9"5L&7 ,9S] ME@,MHM>.+2TC+AF+1>EPN>IK]=-OC>UHQ57!:Z M>AGK&V,=%?4B%W_CLQF?+%XK*:_WSK&\US\6'ZPQ?Q\IG!FAM8*,(FG7$Y1! M;J($9CK"2"*>"1(471>JP-!XI]+?G?25%H#*A-4\>@VCH."'XL=)74+=,4GY MH0S^+ P S@)0F-!BX$-3]%JBLF#QO7);4W#>DEWC<9KNP9;D6D18W/+9S>SK MPJ65_]7E#U4'8".,$LQ2C:!)+/&1+$HA%XQ#8S22J6 :I2)L-]9'[-"8;J4U MF#NUS\ SGY6)5C_G$Z"FXS&?S<&SGH&YT__PIL(IS\)W"[=MA#LFN#6X7Y?@ M6IWMJPR66H-"[?6I>IO[N"% M;:CZR6TY[W=$"!V=WF#[CYEO[<8UWF8JT@3 M)$V4)BZE$TN[)%.(068B"1'.E!+2X(Q%X?N].W*&QD>EO[+2,SBZYQBN(1N_ M)Z'5S\9O$% -]WT/PM#JON^NE'?8]SUHZOY]W\.7AY&!TOGHQ; M,K^=SA=\_/_ESQ=3990YGYO"EQ!5J=9/^5S: ML8LJA9_L[^8CF6'%L"(0&9U (NPR@I$HAB315)LH8C+VBAZIE3(TSEA5KEUJ M"I:J@D)7_]7#85"/+QY:@:KKHZ(F* 4M'(ZBT&C=<'C4WI8-1PW;7#42-?S00?X=;U^V("NTA94ZIZ!4N%V M,0Q(L&H7RYZ2J4[$-"QWRA^AVCPICV'ZRXGRMVDK_RG@MF:^VX7U V_,[].I MFI]/U%<]^Y9+/?]J98UD*G2440T39.R2*U,2LDQKR&F,58(RGJB@>L&'10V- M?(M"SD!:?=T9[YR/?7-E/5#U\]7:P:ICHKTH 2K4++(J*T6!T[0])^TX&BUY M:#6">G7/CAO\UC?SN*/!.LTN]Y[X[9@O]*=\_/3Y\T6YX1";5&8B0A CE4(2 M90D4AD0PHRI+$64X]:.&.B%#(X6UFL#I>0:LI@&+B$-0>JR^6@"H8R9X@XV# MIDDEP$,8!:RN6L"JIR75'LQ:6C\=P:!VT73HWOY62D>TWUH>';NVY9KIJ]-8 M:2(2122!UADED#"DH(A-Y++$C9 )H3@*.N4^*G%P9%A7+[WQX?=QX/U63ZW" MV35UGHID>Q73.SHG/RYO&-72CYV=^]_8C':JLCUEU9YET9X;4Y:Z6);LN7E9 MN!9=+M-^Q!4CBHD$TEA:$N*1@33*!$1<99U6UH_:^(0V1:^F+$BJ]U^]+ M0VC>?FV:#M-&\/GN?$*24$$X@Y1CMQ<8T8]+Y+WM8 [7S!^R:Z?)>PN@HI[YJ7CDE[QR!R;][QO:UA MJ)B4+T\OSF%7'_7S3,N\V&6Q?Q[KHN/91)T_N0I2_RA^?W#)/5**$XX4@XI1 M2TA,&5MA<6VKU&V'7,I@[ MP7AMCW]JSO;5Y)L=;CI[+0^FWZ0%9R)!<8(5Y#S+(%'.6U8JADBS*,*8:QH' M-9GT%3PT0M[,'EYIWC0E^PCF?CS;!9(=\^A>$%=A*#VE7ONAU7K*]1&Q[Y1J M[0?&X11KS_N;EJL1BZO)?#$KSO6*IJM*(HG2C$.&J((D21P=<0VQI PI;>(D M"2H=L2MB:,3C- 1K%1NUL]T#I!_'G 9/QVP2B$R#.C.'C&^MM,R.@)ZKR1PR M<+> S,$K6SZK_7WFJBPG0E.<1@1*(ZV;J),(4AQS&+N:E G7&:=!T[Q>W-"F M_#*.[;G4N7 ;]%&WH0G,)Q[+!H/WGF>R9Z!0MX?SV"U8NCZ,70H;QDGLEN'> MQ[#;=S6CD\_YQ"Y&EH6+/W%95'GYPG_D3R]/'Z:SV?1[/GFXX/:UL;\?92Q- M,Q0+&,=(6W+A,:2**1@G6BI,C8GC+(1<0H0/C6I*/8&H% 6RU#2,:((>@!_M M= 5KQR3DU"Y:]BRK:%>:GX$*ZI7RX.(8U,&#M&WQH M7.34 X5^ ;&G;P&KYY938>B8.]8(- G#?0M%0/CM"9#T%';K\7*$1=L>,+DV MRO;M/?U%UQ[0=BNJ]M US994U].%GM_R5[>ALTKNU#Q3&,<0D22U;"0(Y)% M,)9$IU&4&<6"W+(],H9&2M7>Y'/9'\=^V2=.:Y?4Z=0.6R;M U52K"*7)Z_B MS%(\30FDU((JD*$48Q2I*!U-](,[,N@65K:$=5-6;\">CJ/?JO+$5Z[C#T"A M'2C5:S$_T\/ZEI:!^R3TNMJK,?'MHJ[NTL9Q$D57EG)0=Y@GY>S%3J9UP>55 M[K%4*A,:P4135R1#6S>4Q0SJR/XOHXH(&=2?*4#VT$AVU8:H)-5BYX8OM5\5 M8L]#LSE#'@;1!"%NGX/]DL6N82""5#($M4&492R2F8E#&@9V]3!ZZ"CX_@_# MC\D[@KACAE^A>[N!;JGX=LW\ULF_ 6#MA8)X2^X[VB,4DCT!'<%#-,WY=TV@ MB_B^HB3L*+8+QB1V2\68$4@0UI"I3,$LU2IS33TCFH1E^F\+&-IGHNR"79:. M_I_H5X2B=07I?P810F=H^4\5ZLM?%H_36?X/K?X9Q-E9&L5G";F MWM0C?M7OR M>J-LL7KC:74;!S3?WU1L!.N*C9T7:FQ[@7% RA"*,QY<.!RYO(V8J6O[],L& M=)K(-&-404U=2W0J,DC=^2>AP0-C0S>1 F= :=J8&N_H^#Z M,4(;D'5,"0W1.C&V:A>*3B*L-L2\8YS5KK'UT59[KF]]>YOE$S^<;QOO M3^+?RW-IBBE+4R4@U9Q#@HR$G$8<&J$%P9C'1)*@F(8=$4.CE>+PNM02.#4# M3_5W,:QGC':0Z9@B=D!I&O.PBTY@Y,-)*/49_Q"&5G@\Q$$@CD9%[-[9;VS$ M0T>8H=&A&O] +<*/NEBT^&YJ$X>'-GN [O?RJI],#OFSJ]NQYK/ MECO8ES\6>J(LE#M=34M#SEQ?YIGFOHPX\^/N;S3#U92^8)G M$564Q1)FM&!I@Z 0!L.,9%3PE.,((V^6KA$T-'(N5 U@BSH,/1BW)60Z)MI" M2[!6$RSU;,*N=7@%D&I+N/7$I8WQ"R-0#U!J>;/N_O[HTL.*+9;TN3Z,'.>S MQ>A\GO-;+G.3R_+M1'&:D@BE;DN008+L"E;H1,*(,!0+I"/,O1AQ[^A#HT&G M("@U])O=^T&KI\"3H>AZ@;F!0HN3M=;L.B?6WKCAP-J?UL[K_C%[F;6UYE13 MM?ZBIEMBZXI\(V-0JH7)[#(%\V6S$(YE!F.M(R59RF0<6&IJ/?C09N>F;LZ' M?%Y54GE>55)I6()F"].4L(PRQF#J.AX0E3'()4V@EIBIA"O&(AU6>[\IJOT4 MUM_"5=NORV0>O%FX 9_OAF S2#K?]/,H8-M@2V_7V-:V[3:&[GEK;M>HW>VW M/=>T5T7^?)4X,5(1%:FR"Y/4F @2+6)((Z9A%$M.XBAF#)]<1'XM;FC4>*"& M_#JQI-T2\ANX^YY=MH5FQ_/_4 'YM;+=UH_?!:7#\O$;PMZ]>ORNX3[%X_?< MU3!MC<\?W3^NX-JPOX M @CKPTXFKN:46]PU"+Z0%JEZGX'H_.[R/4V\/H^!OE-#L#Q9/84/ ,K'4'RTO<CZ2!"5) M1A*8$.1*:F,"&=4II*F1F=)IFL:BJC]T'Y[[T;K"7G2Q7I'%GZR/,-$+^UBM,;E9!K?D*Z-<-*2NH8V>7PD_TG_?)]QS'LN&D45GE\I, ML&&GB[,L+ 5K4\':UC.PMM9=NK*W_2R8SAY)R]DS[>OY+EDWG<%]*%NG.X'- M2Y/DQ9AS^PV\F!8B]43F>OXQG\OQ=/XRVVAPH@S!(M8",AP)2"22D'&:0DV0 MYHE*8AJ6BQPF?F@[3!C6_5KQ8L&^I#M:Z@S\[:3G3#+<6ZZ $".^]2DHX,/MJJ#08 MI6F!^;?%G%:][8G!*8W3#,984$@PH7;]S#/(DRP6,J.1H4&9/8=%#8ZXCE0H M"T72CX[:P:=CZME7R0W\62G:(LD<1Z.U^NX'!?5<7)!MN6> M>9ETEN$D15AG$&&)71F%!/*,"7=^AA$E5,1$-ZS+MBEG<'2P49ZM.B8K"ZTU M/B([!+'_RN5$X'I8HJQ+KBV5[+3FVCX?RV#U[3BDB)H$:B.B6 _1DU+(AP *[ NPNF@]5D.V. @K] OL>;,'&*67&6,\SDL1^3HADUNE$$AJ5 M42%58A>;08G9C4'KXR/2#F1^Z\;&0'3\D7 8+!4#/SO5?@'GB\4L%R^+XCQI M,06WO.6&$?N0:*M5Q-;8_3:)V&?63GN(O1/%B7:0G/:O\ MTM=5)QA.TLQD$9286QI,4+I,"-%84:R%X$FL&L0Z>8@>9DC3AU74DBQM:-Y_ MP.\!4)-1DS"H.>.0Q-A H5(.$Q-E*4]%BNWZ/#1.J1/XNP]'NBQ*HO>%O$X2 MAB,B(9E+!CHH-FUYX.[=[5WZ'0 M08VWSH(.7]6DL&.412E%]'QL!UKPSPMUP[\^6<>V)1$][30-K.@9 5%_3T6>@'FLZ!MBU M7=,QY,9FCK++8ER\7DR?GJ<3^S:538NH2!FG6, D8@*22$K(B$H@CE.="F$2 MPH/BGO=*&1HC+Y4$*RT;MH3:CZB?,WLR3AVS;3A$P;YI+00M>:'[9?3J;]:: M^=:SK+\X;.(KG8_.[8=#N8_'IS%_&$4Z30A5&)HXPM9]E!HR$2,86?91+-(Q MBKQJ .V,/+0)OE(...W\9O4N7/4S^200.IZ]GO9[3]F#MNZ9IG,M?WV8?OO- MWK.H+;0$<)K'=]\G]A/]6/^ M?/XCGX]4%L5Q0@3,&**0,&/7#@G-+&F)*,YB8F+NM8VS,_+0U@XKY<"?3CU/ MGV 7L'HZ.0F&CMG"&X&@TL9[K3VAK/'V>+V5--YKQF8YX_T7-,Y-?)[I1SV9 MY]_T,HS53OT;XPY-C4%(41-!AKF=D(G 4'#.[(J>1S3!6L8$A2P;:F0-;9UP M[V0 N:EPHZCR.GC]5@,M@=;QA-[2B#=BZP A- MM2(:Q1!G+A,Z1@I2BEV5,%PS72<&8D_!L*_BF MD0[]AN&< M-.0,Y)@S5,#[_@$Z[X9F:NR9B,8RF@(-Q5Q*(1%#06T&0$,ZI0 M' FO_=7#(H;&@D7.[E++1OG@NQC6DU8[R'3,2#N@-$T WT4G,/?[))3Z3/L. M0RL\X_L@$$>3O7?O[#?/^Z#F.RG>AZ]LMEC\?3I5W_/QN$@=MT3Z\<5QZ&V1 MN38R/#8L233$E"-+=5I +A2Q"T.:1BG2TN"@OCIUPH9&>N=*%8GT@8NX6CS] MUFIMH=0Q 59JGH%*4;#4%-S6ESX/7FSY -+2FJI65*]+)Q^CWZZ0O.XYT:DL M5USNFW$['>?R=?GOM4,BJ2",Q0F4V @7"IA":F0$M8HYPR3#$J6-',ECDH?& M(&N?!6RHWM0I/(I[H"/8)IJ].7^;0)Z!I<;@S_*_W3IZOGBU[=P=E?L^#ITO M' >=..\!&E=Q[6A]Q$V-%;:U-6=OE?:!J>O'X;7=U>]'= ZWU;?CU<'6:8^B+27G7Y8 M5-]9Z4>-WI.-?OR>\#BZR\EBG)K:O*Y>OJF*K5% E,((L%<2Z M/@F'5'($42JE8"9#6@=5$PZ2/C3BJ)0OZOGO%FG8K.E_O-AV"P\GWF.S0AJ+6]9>,E^WWV<$)@.;BI$S3("35XEF-?6Q/+,E2)(@E-+8\Q MS"@DTA#(TRB#6A(D))$2QRJX^LY;*4.CKV5QF?T*CJ M8]F>^)[_V#BF'YF$*ON/=E5O.23$NE TPQ@RC45$C42(A13EZ4UQK^DVQ Z& MJNK@O> _PJL4]O=BU%/AL)YSSWT,-ZND'VAC6-_%<*.)(:C,=B&@FQ%40WL? M F(?AO9>]!1*,9#W(RP\H\]G51OMT8LB_06/](GK5BQ*KX+??55S_N3VE/Y1 MW'!IQY_,]8AB&25)XNI.DQ02$V%(L<@@TB23.*,H(UYUD/M1=VCNU?$5#-\P M NBE%>_VM=KW O2^=#GQL?ZW7+=LV@PN!_@6O-N"Y<2WX;_U:B7HK7C/E4K- M0^IQF;)/B_^N:Y0:1#MU>+GSO]34]>]-UT//XTG7WG M,S6R*PN>R#2")'.!*B3+()5$0Q'))*%8:\Z#ZI[["!W:2J'2V:T)5EY*J3;X MTRD.2LT#CX^\GH#?5FW;N';\J6X#TN#-W!",6MK;]1+9ZU9O" AO=WZ#[FU& M2E]?GBWQ%6N)V,7I M=2!0+9&3K]1>^2D0BK<4%7I[,Y;ZF,_YP\/,';?806],28-%NN^(IQE/J;0+ M)2&H73>1#/(X41 A1TY,I2(+REFJ$S8T/MK6U26MKS[JA;Z!"Z1:G/TXJ"WT M.B:>YL %DXT/(BTQ3*VH7FG%Q^BW7.)U3\.Z?2\N4OC&W#SK&2]B!?5#D9LS MLHZ5.YZ!A;C M.PBN'V6T EG'?+%&:Z4E^'H,K?":>L>0:*N$WD$Y_5;,.V;N3H&\HS[^F+ARE1?;$Q]$GK6VW?*KOB>="C6$=< M922!AMA_$6(D9 )I2%.4Z50@Q..@W,?&F@R-7IPA;KK(PA1@2EO.P$MAC76> MEN:5R:%L5#S9^C'4KT\F8Y9K'HH2RO I]5#61H"+E8/96T+ ML,: V^,/)9CL3@:T)3)LKD>O9'DR7&_)]/0!FY'MG7[FKP5KWYCKZ4+/;_EK MX6#@3* ,"0Z-3JPCEZ8$6K=.PHC&D924)(RQ!GW\#LD;:*3?6ETW4R=.8?"\ MU#B,$ _B[,=W)\'6#YUM0U4H"6Z/0!5,4\=P:(F%#HKIE62.&?N60XY>WW!7 M>F%GFQO6\E.YJ31?[84*C"/--8*4T0P2I!GD66(77VD4XS06FK.@([(Z84-; M5:UT+;[BU7[IO'%"52W0GIO.+<'7]4YS<^3"MY<](&EK3[E.5+\;R1Y&[^P> M^]QSNDLWBE(I$T6P="82UM1+&QI%G#^YJ 8P?5G, M%WRBK)/H%VR/8%MOZ<;%Z9#K^3]' T?WZ'A1%WG<9\K MY:HY%&1P,RMB=JRB(YHI'O&$08DB#HE((\@EUQ!S:B=O$DDAO<)MCPD:V@0N M"PJ4RIX5=03LVSL#E<*A%1@.X%L_M]M$K>-YWARP!C48ZM$XH0;#@8%[KL%0 M;]YN#88CUY^0E+RG7+HK;5^53%_6N+._GVD^UQ_U\K_K>)7,%:4C!*:9L4Z" MZX[&M*41P0E1L3990H+B54Y7:6@TLTSF/;W;0@L/RV^5T>\CZ)BSENA[=G#H MQ$EI#\XV\[)/4ZC_).Y6 -R;\=W.R*VVN5L=NVVT5Z-8,2&L0R4%99#$C%FB M36.H(XH3' M*7<7@D]O<[1$=1*A]MKG[^:7JP/:\T9=M?E=#6+=-KW;)W@(3>]J /%L>E3)4>I2IC6*0<4A19)L.<01IK"A.-69(@A3/C5(DR"&M M%3I\<3:TY]L#<&N?<75DJ;0=-T/R\7IM%Z!RPN5 MMER^>F']NG->AN^X:GYW-:.4HK'5C5DGJN[O Q#K6*H$8Y@89JF%1I9:XHA MP11FG&D3A>UU^8D=&L4L6\!-C?4+]+Q*BE?10[IID5@&N5^^FX M$(942]3C*;17"@H#XBT5!=[=C)(NC=%R<6,N?\A'^_+H.[?O/W$.G/OG\K]> M\F]\[.*![O1\,&Q MSC+!91!_=:#CT,CNTW2F\P=7)6=I(LB?[)4+UQ2SV()R-8&+/^BU#6%8E[NF]^N7W'Q=01 MP(M;,I8+E+JV9L&$W>$3:HG=N]"PUT]!AQ"__6YT*:II[-;*+UR=$6*)4Z4U MAC3!J?.?->12(8AI(C*=242B(/]YCXRAD7QPT@[L.FK@;XW7XTF;S^G;F#L$6K[?VJ2XL?SC&>';AG]=Z,2(( M<42(L'.;2DB,UE!DAD*D->(I9P3QH!C-.F%#F^F5KL6775>*GH&)/KRS$XYP M(EF4\H1 0Z2&A++(]3+2D&9IHIG@B&H<N5B'Z/?DK+7/0U77=/Y?.DX/.B)?#V7 MBY, *K4/7"EU_B9>:X'.WT$?:4!S.=@PPA06G%6 MMJT&E>[@YTK[7UI<4YZ*8%LKS\9Z]+L^/16NG57LR0,V;$?+GW.WK'%#W8AQ MOBQJ,[]:-G!1HRQ#R##FRE01#DF*.*1*4,B43JAVQ6>X#.I(6R]O:"O>:]=F MR>U;+4^"33[A$QF$I5D:KDRO/.$%# M8X[/>F+1 ]?V$O"G4S PY?D@H+X[9*?#U#E+>"/42M&63?,[K,E2B'GWDBN; MQOI45-FZOAD%G(_'T^_V\Z@_36ORP>I[/\'W9Y;R),1,HXC(Q, M(&%V,<128J BJ4QCI)!(@P)':F0-C=B6JH*YTQ7,"V4!7VD+?K9\MOSMX:V, M8+@]O:EV0.R8GTK\"C7/P%)1L-:T17_J.!QM^5(UDOKUHXZ;O.-#>=QRN4)M]+6M,;3\\X-W" CS" 1I.R:)+T]7$=63Z='?^Y?+S0GW1KJ#O**58 MJR3B4'.)(7&9Q,+UFQ>(I50QS8Q?"?^#$H;V^<[7.IX!J^6O 1WN]B)8/TE; MP:7CJ;H#"?ASJ:/G_LYA; (:]IV*44\]]OQ?G[!6>'7FUW:OVWMC?PWGZO3> MZA%7>^')M2J751K.)VI/[895()Y&-(JCE%IR#\9OG=,AW!T3;"M(GU(+,P2O]LMC>DE_KXJ9 M(=#4%-$,&B:,[N:SQ5K2[WKZ,.//C[GDX^+L!!G.%=4:1LS$D!ADUVZ1]:R8 M%"Q!)$ICXU6KKU;*T*AK4[^@HZAZ+.MYJ#6$.F:;$'"\2<7+^#KJL -LT(;] M:4T9]6/W0@Q>YE73W^_B$VL9E)UOYR.5F$B33$ BLPP2G,50N-AAG!$M329E M1F7(ULF.A&%NH*R+-I7]Z)L6*E@!Z;?*. F>CF?VNAS!Y3%,FE&MWVP4' M5N._3XV!M^8=+"NPW]WC> MHTN*>I%%"%P^ 7J^R)^*)%H#'DJCNG@.?MS=^EO?]4JMU/<,5!IO5( &SJW M1_-!$+5$_7XR>_TWL(TQ0@A2&*96D\P MC2'/J%THVL])1&(1)RKH&Q*NPM ^*!=5F_ Y* N#VO^7VK=="[3NR?BQ5[=X M=TQE1VJ#KHS8J W:R:97& M708^$#\>[!#FCDEP$^&@,O,M!E\V Z^M\,M Z?T&8#:#9B<$L^$PC0LW.'?K M;WPVXY-%E41W6[;^&VG"F'$;!=3$,232-=M 60*3#,<92Q2G>)7_ZT=R]0(; M^*0=LUJE67 M@3I8_8BJ!:AZ.W^<*#Y3RT("/Q8N2T6!4GU0Z;_.SJT2,8N= MEZ, -RDYX(%;>T4'ZH3U77; P_ ]A0=\[FI:FGTG /1FW;]NQ!3&26)B&)/4 M0(*E]2D5UC SFD8BTTDDO.*\_<0-;<54UA/?&[%\$]KESQ/Q>NII'\>.J>=4 M"!N48_=!YH1J[+7#]UR,WJ7_Y[KF1WR\?7C](GGDY$RAL4, M$TC3C$$B!()"(N4JRY,T12E!*&@+/TCZT*C0Z0D*1<%*T\*#N3[_*_ASJ7,@ M[84]#3_.ZPSCC@GO-'B#R:T13"TQ6YCL7FFM$2QO.:W9($VK*Q4%B-^4'3Y? M;-5U&D482X2E@@89#HEDPA*9I329I1@EELVR-+#&DH?4H1'813OUX/T0]R.K MUG'LF*16$.Y66N?NP'&I]9+&VJS$%(!2:_68?&3V7)4I (;=VDPA-S?CHCO] M;3K^9@?;+OQ2)I]1'"O,(PI3[8(B--.0(B*@%AE%5'&<(!3"0;72AL8]*V6K M8A^5NF'<4X^P'^>TAEO'7',0LN/ID,$,XX5)2\Q2+ZM71O$R^RV3^-W4,*1@ M/M>+>5482&B,N.(&QH))NVHQTJU:,(P)E2PA*B49"0FUWQH]B"%Z"[.797M M7J@:>/R_!9[GX7Y32+H^NB_TZJ(:TCZ#VSINWQJ[W\/T?6;M')7OO:CE#@;K M[G ))ZEA,H4B$A@2BB)(!<\@IQ%33"=21T%%B8Z+'-I7?W,3L[:(?$N5]T,[ M\[6+:,>44 M@N?O;35L^?YBZKLS_3NWX_ 'PKM+?5AL^NQK1DQ?]R>KLBEN[ ML,:_Y8O'BY?Y8OJD9V\[5F88TTP2!+,,:51#%,="*L T(2A%6@$Q(@ M?FC\5&KOZCQ.'R9Y>)_00/2]'92.,.W>8RG@=!,(5*J#[U9W4"G?;?_09LBU MY]>$"._;T6D S![/I\DHS8AM&;IXSW_H^2W/E6NJ@[7*I,XR*+(LAD1G# HJ M$<1<1SP221(E)H2\=D4,C:"*;<9GJUL1^I8OXW473N$PGMH#IA\7G091QWQ3 MQB\7V@&G7LN]B X;WQ)E[!'0*RT<-O#MU*^YLJG_I(UV5?$WXGZNYO,7K49Q MJB(E#8$T2ZS?)%$".-MA?4M%V_2&CH'1FA=T4%#/WL\Q@W>]GJ-WA(<'?RPKZMW; M6T_EN=J M(B$B1IF=9UBX,+#$N$ZA!"(>8VS7W"9E7@UF=H<>VG1SR@&K74@5UFVLZB?; M:0AT/-TJXYN46]T&(:#.:F,P>BJPZ@]*6('5O7;75E;=OJ._DJI[-=VJI;K_ MBJ9='G8W%JJ"TZ_E!L3=;VRO"8AO]C1=#XB97N8 +Z;@N4S3VNIWLWC40.B'?#)QT0:"CUU' MC]!N$4&/S<_MZ.!1]-538M_>YQGXO&[V6CVFM?YM=IIH@EMKS2>"A/?[HJ0R.?2OTS MH*P!8+ZT ,C2!.!*=D[MNFMIQ!EX6IH1X%"=]N0\O-#>GD?7FT3N :P-.0/K M9U/\56D-J,P!A3W@;O5LOO3\; *44_.=.?/*LP';P7>6I_]- G]^?BM M(+&U)]#.B$V+B'Q]XN-Q]5$=R0AS)70,XRRED!!A%\P$$4CBC"N48*:%5_;7 M@?&']G$J:UP4.JYRQT.+@FPC>/P(X41<.OY(A$'2H,C'7L-/J.JQ/5[/93SV M&K-;MV/_98VW_:1V;K7[ -WE\[]_T!/Y^,1G?R^3GV7*)%61@ 0;URPI2EW; M) I5AH5*I9+"KS&HM?8%3&*PT;IA]?A1S[UVZUI#L?E_N!!";[,-Y M(=/>SEN]N+[WVKR,W[.[YG=? W?X2Z[46%_R^>+!TS! ; MN)R!I8Y-CD,/(!3@^IV.5$\^72/$PORT>BQJ'; #M_;G6=7KON4R';FTO8(_ MG]S&E&75JK!,FD2*I4I#@U1L^8]R2*DF,%62$AI%*%9! 9<>,@?'AVM-P4K5 M%JOZO(7<;VG5,I!=@Y X%.%ED<:8PYCQ.(C>L0*1B#-$H$U)9X3"KL/RJH#D:] MN*$1S5K%,L?]#$QJCS[:Q[-C-ME0>+,+=Z5R1^P2!E-;G3[\A/;;WR,(B)VN'F%W MAS'3?+:HFK#-SR>JC*>] 5Q.Q"B(.VVVI![6>8UJ#JF-*:822-X5XH5#'&': #;:P/ZV9HG[L M7HC!R[R*!_PN;AS=_*C'8]?GE4]>1['&UL&P3H\Q^Q3PIHWA^L[ MJGF/*7N"FO==U7*)Z'U.L"&,C.-RV:H-9U+>EWW]YH HIW?>GV-T+.GZ:S1?Z/(ISTQE2;+A]B.K5@'LF*$V=77G**O=5*3\/.QKUJ^S/+%:Q2+^WQAWWPI59:(5$&-<.1:!@G(DLBNV^)$)#3-THQZ ME_YY._C0%FB%4F[K)(I_%K^ 2EW_X[$=](X?CIV"2T[#2SZ-]2';>UU;172URXRQ33!@#E5T?N%Y #-(XP9"B MU- 4&GF[LOY_=7-=1@_MOXL_2CT/9]0QRR[ M:9JK"+MA7'&HL6F>6\ZM# 1K"[N/8.CJ ;1$UZVKURNC=P7N6]+O3$ZS[\)? M]6,NQWI>5@%*6>[3^#UK%B" MK?=FRW1VT,D:ZP20.VQ>=4R#=^]@Y0F13QLKWZ&:=^^]U;-\JBXGZJ-=5XV, MU$P0K6#*$8VG<; MR.,[]2?#TS%'!2/3J._O7NM/:@"\/6+OG8#W&K2O)?#^"QM$1Y7);&6CNZ]3 ML_C.9[IJ%1P3+%E&8)8Q8Y<]1D#AXL#M:L3+*,N4?'54G:6@3N](N(+JG M%LCZ"=TJ/!U/["K3M-3S#%2:-BFL78M90$146]CU%!%5JAN"75A(E \>M2%1 MM0/T%Q+E8\=62)37#:>U[KR8/HE\4NTS+9=8ZSY_@6=I88,.B 96;2QU()C MN]J@&!)$$&0RR2!),V)BG"1Q6#O< W*&MO1XTU7OA":XAX#UHZ86X.K:QVB" M5*,*734XM%BA:Y^4WBMTU9BZKT)7W>4-$U.+LJ C&B,I)5/01)I"DKDZ?"9- MH$$2<4P3@3 -*7N^'#9HLO=0WOS>R2@KFPEX M-NX TL27WX=,@ M_(D(]>>[^KTZ8PUYC?:V?ON^^_MSS&JVWO/*ZZ]JHWKN. M+W;+ I3&4&)LF4R*"++8$EL2)SRV+*9B$]3Z:K^8H?'93J7:AL'"!T#U=Q=. M@ZH/;R$,I1.K^7:T_7! R#O6\CVVG7#DZF844&4_!N8?'[M]0&_L*G$V*.\X M^*4]AD1+K^U!,;V^N,>,??OJ'KV^V)1SW9SYHK:LJ\CU[LV MX01!J70$"4H$%!)3Z/:_4LI0)I*@+ME>4H?V=0O) #T!:S_6:!W!KOWL7?# MGTLMNPGZ"0*H)6;QD]DKS03!\)9SPFYN1D!?\LG4I0%>3>P.Q*LE>Z-NN- MLQ]7/W(Y&:V.R:0I4,$D4@M$2Z2Q7T:O)%%KYEM2J+_XY, ?RSFY6^B4&SF!/V\P:QSXTQR[O@-__+$[)?!G/QX!@3]O!GBOP)_]=M0$_ARX MH6'+H#+1X<94:[';9158%Q(AY>Q%JXT4AS?Y""3B+#;"0,V,@41B!'E"I/TQ MR3*228+BH":KIR@S-*[=S"!9.2JE.X%ET MFCW2!JYM-30Z195^VQRU -I.\Z,VQFQ8:<$YP*Y[PTP_ZLD\_Z:OK ?RI#]- M9SI_F%R\S&9Z(E\WLL^L3L5/XV7,FOK/E_G"?=>O]>+&W/,?MZ[8L?V+Q6*6 MBY=%H>STEMMA%B.&,Y.E*86I%M;YQ7;ART1BU[RIG3T9SI0A056(>]5^:-Q> M&@ED:258K T++-'0ZTO@1_J#?;0=?R4*N\&6X6!I>5G<\PQ4#[["8#,WM/B0 M;, UCB< 8M$D4K*?YR!$@VP"0=83,$2D!;+0+S' 3LPIR"2T\[+WZO2=AFRR&S:S=8 M=F[J;U/ED+Y;&RD'+VK 3'O22&YGTV_YW/Z!CZ\F9CI[*GY[-;'. Q^OFZL6 M5/L\U@M]_>*TN#'56'H^8C'%--8$(HDR2%240HH3!>.((_M[D67,JUY:ASH. MC267&KKUE5CI"*QIX/MC+A_!LY7SZ(HO/\_<%N],NYX+]@<]SI\L*#//JK-= M/G0/>G[_1]DQR>]+NK.+Y;6-8,-(1W6%F9O]IM>&V@7W\IVX,6!M[/L_YX#/ MSOL_[YX^7N_XW,.^B-T^D=KO:D>B^_LZ=XO=UC>^8U$-&X7QUZ(PW_VT2#&= M67=K4?9M*G.=(H2)H2J&D:L935)D(.=_8C'FLNW/!YX\%!2JM/KS^,=?J:E(6#9T\G,M%_JTX MW1B9**41(QI*=U! D@P["E(P,T)FBF98Q$E(5JJ_Z""/HH?,5;==*ZWJX,5J M# IO86D#$*_@Y_*7OP!360+XRI0P8@IX.GX,U0WF'5.5@]MI#6XW8?ZC@GFE M/#@_#G,P<84CUA*#!0CNE4:5JXZRY&H#]^*@=V#KFGX:(A2?R M'P6CK>3^PX+Z3?@_:O!.$8#C=S1M^O?-+K.FLU=+3B-",JVXP3#.#(&$:@5I M)AF,8TP$Y0+I+"@58'/PH='!2K/@Z8YXP0E&B9$Q)!HA*# &,.4 M9S0AC E&4DJ$TZ]TAR\)0Z-^:QK[=)YP+AIA.UQC/VF=ZO(=3SG*UWA;*GL9DSL M61GXU"(5>$/35J+V47G]9FS[FK^3NNU]8\,-Z]E4:JWFGZS*=_JYW*2Z,9_= M?OB-N9AIE2]&V)(*8SJ!.$D0)$QR*!#BULE2G%!)TE@'53'TDCHTFG&[%V(Z MFTV_%_4,IA,PT]^FXV_.G9"%QH _S'31F2=PV]KK(7AN7;<-;=?;UZ6^P$T: M\/-:93 UOX!":WTT]%CE^0+HQ^FGP=(Q_VXCTD$SQL/6M\1G M>P3TRCV'#7S+$S57-HS%V DK*V,^U$@QCC*)(JBQ)G:"ZQ1RRE(H49R@#)/( MR*!J:(=%#6V.[XW>YJ6R@=$4A_'UF_KMH-8Q!:P!6ZM917BUN%@ZCD5;<1"' M!?4;]W#4X)TXA^-W-#VL=,EX+NG4^="N^V$^>;'KCYOGXT[?F0MG/(=\]\NQ?9L/;38BK__C@= MVSOFE_:[M7A=1\^93%&*$8QBUQ*<)<0N1VGFCG@B+>)8T[!R(8=%#6TYNJGI M__T_:!QE_PQTH7%@=:;#X/I1=#N0=D2LGWFN+G\\Z\E\7=*W2%JHXB/2B"8Q5AC&RL209(A! M%AD&>:P3DU*M2&K"#HB/RAP:H90J [W4>5[4B9D6M6:6]8,6S5*:/-#W/1EN M%=/.SX67<);J%F@N*_X@1B4 H-9.A(]+[/D\V!N"W=-@_UN;]LM9[KAO MK*!8A.2+3&M==HZ(Z[G?CI_Q MNYUW/.]KHW7O'_9M<26N_J&5Z_;C#@1'*2.Q5A $9D,1MPU M"J8:2QIT[']0TM"6+9?G=]=7U[]_!;>7=^#KOY_?70:&[Q^$U(]%6@&J8_;8 MUT:MDY+51\'HJ)/:.Q6;/FKNL5YJIY:)GL\6HR_\/Z>SBY?YPBYO9O/S'_E\ M)#/%[,0W4*5,0I)95X8INP(A"*=)K!-*L5?YR_W##XT!*N7 GTX[S]SE \C5 MS_G3\>AXHOM"X3VQZRVNF\WVSHV9;']:S^(#@_8R=>L-JN;KD:O")JG2^>AR MLL@7KY_RL9Y=V)7VPW3V.LH(28FD$60919 (3:"(4P1C9A31-(LE]LJ+.3#^ MT*;I4D50Z @J)?TFZR$$ZV=K"[AT_5T.@L1[TAXQ?,^LG6OYZ\/TVV_VSN6D MM7]8S]=#X_4R88\84\W88Y)'UHT[U0"OR< M3\"\T/>7L&5Y&/):JRPU7$.#8@&)U B*-$;6&:*8I/9/2/*1'4E,WQW[32VZ M0[]2'_"E_D 4CV/Y*/IZ*GX.5&=(=TS>*XA+Q<$ZY'*I.]A0_@P4ZK?G:35" MK27O*TQVKQY9(UC>>FG-!@G[PA2[078)\\?7D30O@5_3'(W4;XN[%?9\P1[ Y]Z&FEF=/?46# 8Q-;["?IK\$YM!(,A.MP],'RH M4Q)#BJ/N.RUU_JWHP"XX(1F/#$QH&D'"3089(RUK"#\+A:)%I-0'@KXQU2!PZ8N3_H M_]#%S>:^:]?V8F>6"^(M"N.76$H>/9O$1@J59[TW>/K2U-VYVF>TQZ.S7W7=+XD_R4%U5@7.3I,K?O04]J1I%PJEAJ8,=?0Q_7R83A* MH#:,Q3&)$35!-:9K9 WPTURI6H1,;RD+?KZ>+C2(HL #BCJLO;_9;2#8_7?[ M,'BM?KF/@='>U_N@I+Z_X,=,WO,5/WI+>,C(5RU?9OGB]?*'?+2/7E_;UV&D M$LFS-,H@PLPNXU,90:%1"EF6440T1<:DOC$C^P0,C20J'4&E)'!:^D>-[ 6Q MG@C:@*;K?<0P5(("1^I,;Q0YLG? WD)'ZLS9C!VIO:YIO->=?LA=%NUD4;QW M,J6*)!K#5!19\IA"RG@$.36(*H;B*/*>O/L$#&WREN%-:R4#)^]>$(]/WE.A MZ7CR!J+2(.IKO^DGA'V]&;#GN*_]YNP&?AVXKD'7[NTTCLL/5_^-BB"\:NYNO"\J?GJOT(V/53O3T(.Y[P.[E;)7J%GJT %= QNA7 >FKZ MW RXL'[-1_&H;;E\^.[^NB8?M6"K\?'QJYO%,5UAIK9FW7VPO_?G5]WE[.8S\,TI_,^ ORP>I[,B MUSE"9P@5__PSF$PG&N3S^8N+A-]NX8GX=CR-U]!^74); M*'@&K@K,6JU]&G#,N_3R<.]GCU]WJ@U/<(( M1XC:SRVCFEE7)$H@%22&L> X2Q1-, VJ5[-/R-"XXL-6!Z5Q6>9<-BG\O@]2 MOSE_*E =3WJG'G3Z%?V/UF7@E[5*VX[KJ0.CK5KP^T3T6PV^QLB=>O!UUS:L M"*\7Z_J@Y]]X/BZB!:?NW&$ZV2S=]S$?O[C$A:J(I!!1ELJ8PH02"8FA$HHD M%79);K 2Q(B$!QTO-M9D:$1R;=V?F7NU VO'-WX2?M32"[X=\X_K=+==4WEE MB*OSN30%;-IR!DIK.JG^>3*F;56P;ZQ'OP7N3X5KI_[]R0,V3 N9FL5W/M,? M]3<]GFX&[ZF8:DY4#$7*-"1:$,B%B2##J1$RE32A7N.H$:,($59E$*5(;MDTI1!05W\I(QU; A- MF) AY. O>FAL46J\"C((C*GTA]R/1KH!LF->J90^ Q6:E=Y@0W'@-"]72RW& M;08#UE98I[_@?J,^@P'9"0H-'^'4G%9W8/,F5=+$2&F$#-0,"TAV6P 5ARH]I-9 M>AB3UE-(]XAZIUS1PT8?3@JMN:?IL=+T6<\6K[?V-5B<3]0JM\3M2!5]8D8D MRPC5J8'2\H5K6&T@S9*B8;4P,:.)$4%]!(^+'!J-5!J?@4+GXOAH(P6JV#DM M%/3Z1\ =@]H/*^LV'&2UDU M\4XO%T7SQ_QY7NX9")0D5,0)I)9R(!$1@S3F&E+%)4VU3*@,6KS4R!H:Z;C, M +>QY:+EW!215;7.V:;N@0DO-5#[,4U+ '9,,:O*IEMJ=I&L>AR.ME)>:B3U MF_)RW.2=E!>/6YIQQYW^IBS8-=!@:U]R[A%M++(4A8932Y GX M44W'N'9,0:7VZQ:A3G_PW1H *@O.P,H&4!GAJFNT1T\G0-@2;371H%KEF#JF(T:(=0@F>@@!B?D M$^V.V7-*T4&C=K.*#E]ZWE,C348&CGLI"/)THPS8 I#@')7+*9; M>4IGX&EI3N.4&\_G5<\NO3R%CKEG)S'G8O4 EC8L=YKOIUL9.V?@2S\/H'$Z M5/L/XKTRI5IZ(*?D4H6!&9!FY3GP>V5@A=E=DYP5.%"#S]'M;*I>Y*)E4"V G0[CY_$- M: 65[C?VG8Z@5/*L;*)\=-7J^"MBFFF*A900QDS$DQG#((\4@2ES+5D00 M"VOFD=EM/KQMU1 M<]]NSQV_(7P3SJVZ9NL$FC2.3(0YC!.=0*)H#(7"!$8QE];[-G$JD>_6V];( M0YOUA7+@F3_H7_WWU[:Q.KZKUAB!K@\7"^/;G,$'K6VT:[8]4F][97L-V-PA MVW]!&XW4BXBHD6*13%'*81*[XK7"3CR:R 1&G$=))(GK:QSR#=XC8VCS<#-< MK\CD7+A,SC?^?=4>(C X:1_$?M_D$X'K>/KN8';?"+,3NZ3?=U#1?I^$=^R$ M?E]7S;[NTF:4\(GGLR)]_FKR_+*8?W9)(;CR&K,H0T8J*+!&=GG.31E&1)*( M:XEQ(H*6YS6RAD813M55)8="VS-0Z MP&!_4X>O'"RVAUC$_U #600"1!R8M ML4.=I%Y9PL/DMVSA+&W.FYGGW3 M\Q%AD4BTE) )8Y?U-*-09%C!%,>2V84]$82$]<(Y*G-H+.(T!?D$/"]U#>V) MM1B6&9F]U@5W'Y.,1?VA]G"[2ND+!ZB?2\)W2O4+!"(PI;"L-K&BV MZSRQHN\@G\BJVV[ R6,E'6@3A]]GTNZ6\Z=,SG[R.),FH,3R#L3MI(2:-(6>Q M@<)$E*41X=+/&SLB9VC$4T;P5KJ"I;*@U#8TRGD_M,?/9%H"K&-*:8A5@WCG M6B1.B'G>/V[/<<^UQNW&/M=?WB#@[*]\EKN-X3O+-6ZXZ<02SOF/?#[26FF5 MQ9'UB+CUB%SVEM"Q@C&F/),92_]/==_:VSBNIOE]?H6 !7;. <)>4:0DJXE24=*8I88?*5NC;>/T[.S_,0^/#MM\'W.SLX2T.3EQIC M7=_"46!B,EL\3I7ZR,JF7(FA2R RBD& MF)<44%ID((=<&'%62&NGLGY!U@ \+ MTUAD!RU0O4F+N%1UM]W[HM6;EF/+5_]& N:8__[E]OY^*7^J7]9%R4E)) 52 M$ TPICFPVV; )HF#O&1>U9MWVQZ:4%ET5XG%YS'?V:/+88H83D+'VK'I?\C$ M;X\(CTE>."$]3>A\B/&;PAWO>NMT;>^6_J9FQ['N3,-.7')A*,M&WQ8;ET7! MT@)S* &4TA8DDMK6(DH!A&;.E2.(L,Z"@EF.61N:4GVZOON:_'I]_\MM\O/M M]>,O7V]_OOW\[3$PE.4HOV[3I&BL=2QMFW"6K3G0HB/73R=28L>S'+7U/A$M M;=T^&=/2>M/%6V7;R5-2QJB ) =$$ EP67+ %54@A2)/LU(7:>[D.M5N9FB2 MX9NGYS1_WKM@P\S3<[#Y%9RGYS15P3M=P\[3D"#A%M-M\*CI]'8OH01+%!G)28[;1PRO47>40 M.$-2)UD%3ME\QSP#9VAHSSQP[N;0/?/%\D';^F]VRZK6N<7C;+(I\8QARC$U MRB-RJ %F"@'"BQ*DK$0Y5(R7TJ^RR5F30],>B]B>XC^RB6_6, =^73>[8[+6 M^0[WBK *;K7'W0!.+.*.-K9="8JVFWW68,];V*X$'.Y;.]\9IC+W8\;'D_%R MK"H#6[6Q;8VFY=LH+9%&-G%!6L@48%YH0#-: EH6:0'+-!.9T1A;^\--8\X9 M]%*8M=GN!LRJK,ED@[H:-(LMW/_S?Y ,EO\G415^/Q$Z2[^;!,4DM6,!NM]C M\K:=-6^Q<:4BDM2<-=>KT+AV?E]FG._S#\/[-F>V7LGCVS.?F2\RXXR5&H*, M4P@P5@00FJ< (DT)QV8%19VS&^ZT/+2)20TN6:%S#ZW;I:M]]%]$0L?#W+'_ M7N%R1_L:%""WVU)O(7%'.[ =!'?\@M#8UT_CB?K\6FVED13GR+S( 2G,:,,9 M+C5D9L68+)"Z!O9ND7<^1%X"1T=#T(/)@+B M5@^[?$&PZE9C/4>H'G;C,"SUR#6A00Y+\X#&?*)L :_EEO/)YNR0EI"6.18@ MRTH[XQ8*,)XA(#*)=)X*G>;0+\KAK,VA#>&[S]^N/__C[L/];7+]^'C[[?$J M^7S[S3?>X3S5;K/KR 1V/.@W:),5W!V_M4Z.;#T(BA;R<-YBSS$/SA0S#'7S.I^KZ7*48907)=6 I]16,M7*S,A+6QVY M1 )F%);$2VU:; U-92IL]M3" O7^174 M>"+BP$M-O)V< MYVX4^>_DM7 0:_?NF(E^=^Q:.GFP2]=V;=B@MR<+?XXGDZ^SR>33;/XGF\L1 M%05'D.: 9\2N/W((6*8(*$F1I9@@B*F7;^@1&T,;\@W$Y'<+,JE1>@[W8URZ MC?8+&>IXL/N2XSW06[H?:9P?L]#K,&_IXOXH;[LT,"#ETYP9E$VA142HH$B# M7'.;]RH3@)<< DC2-&/F-2^D>]ZK_=:'-K MOF0%T#,88X>S]F%\,1,=#^ M M$D)#4W;8\ Q."66EQ_"46L2ED%M?+Y7S,7Y?5VF96_>X#6RA9NU9=SPV"[]5]BU&9494IQ@#* ME :82@A(D1HUHUK C*!2P=QOG_122$-3OX_CR>MR_$,ERBS31.7W8QW3YF-A M,RU5/@S)Z]3&UMML5E4&JX5G"JL(S]%U$[;/I]/Y'NVZ,TF3#*OJ3K+='UM/ M?OT(;]>/L+H25+UL_$23[7[&W->-Q7FT;=^+ ?6\*QR+P,--XV@M^PEXM?TT M?QO=7(\TD5(BRLUS*E+KS($ S7(,-$HS2KA.B79RYM@T.30!O6%3)IF;(FX1 MTZYH8=WM6)%NKC]??[R^7#H..]=R*%Q?O!KY]0^;0;_55"^#]A!Z,^B._"6X M1,)4F@5=75SZ-V;'X_+MRVPR%F\CG,(4$B% (;493Z), =<8 U6P A-:9I@Y M)9]RLC:TH69 _A@OS$Q_Y198@QW[GLNT,^PVU8C&6\=CML&9U$ ;TMZNDA76 MY/?Z_YV<^CK1%*_R08NMODL>G._VD5H'#C>%BF%3:ET3@@FG&,@RDP"K,PGDN4Y4*6$$&&>0>B56S,* MJJ&)U':GKI*=;E6JM=VQW5(DF[X%)VJ*\YS=)+#WI]>Q5/;UX+Q%-"K1D<0V M#J9>13DJC?OB';?Q,)&W?O@OML$F#4/.D$YI 5)E'7J9)(!JKH$65$F$2TVE M5QVMO?:')KQK>'Z2N<^:F_A=P$7',K9&UD$5X1.]CJ0I^ZWWJ@XGNK8_SD]= M%C9BZRV7Q;?9M3 -S]6'U\5XJA8+M7<;-O)A9PNLN M7"73509O83J1L+H7?OK@]8S?PX$A.J__#N3;ZJQD M&Y\I":\S4V%\D3^Z&2 MZ6R9<*6FR<+\=J''KI/,"YZ>@ZAW_DRZ/G!LRLG_MEU._BI9]\'FOEKU(OE4 MU9^W4\^F(YT_ 8]70^=/HJ<71D=/Q.]5^U-?AHO M!)O\AV+SVZG\R)9J!"G/!$YS(& ) 9:< (JU!*D43.4%Q5 YI?AN,S(T::YQ M)BN@B46:&*B)Q>J>/N8DI>T2'(NHKJ?L(1QY)98Y1T)0@IF3C?:6:.9!,+.%GC#4J><99Q-]&+R6/W.Z+!% ;DY';C M)5I&[C/F>L['[=;YPVS.Q2<&I?ZEWCPXBE7QS<5DOX7?/$@XJ/_F!<][QLZ?HM9-8"(0UK&F- AM6:-5U/I54J.,Z+;<3D,L]^435OIU M8V[OZH$[\YG+P_3@EX5ZT+>+Y?B9+=5B5!1ECFD* 62Y,C)@YB04:@4RAO)" M0YX2[K7NV6U^:*/?H+-^?&M\?N-]CSJW81Y.2,>C>Y^+?H).C],1:93O-=[K MX#[>L?TQ?>*JL*'<^ +?S)[Y>%HM:H[M+FHIA%8L!;+(J%EQ* %HGC&@BHSG M'*=:8*\5AYO9H0W]ZYM_^^7N\>[;W[S[>/C[Y[O(ZDNXE# M?"H[%HT&<+*%N/O=6C^:(HF)H]%>1<:/B'WQ\;P[,&QJ/A-*R87U3[)5_1ZT M^8V982_?OIAOTO)Z*M=A6B..LT)D)08R4X51IDP!BLV/G!:*%3K'C'E-/CQL M#TV>&NB)?>C)PH"W+^>7&GYU4*+"8BA]'HB;:G5$<\?2M4 2ZD%)(HS5*G=#^G30Q-I&J0:]]B'S?NXQRV"TX<9CK6 ME7U20IP6CY/CX:1X,4D].27ZD^7GA]C*0ZO?X?$[^_,S;$6^XU?8?F6 O'V> MS9=/\)L23]/99/9]K!9W4U%_!Q$7")%AG@.;(.A7E9FG6E)(6[ MR+48&IK455 3F&R#K>(G?O(8UFW$.BA?)+HZUK_33(4H81ME'GH8B;J>5#'@ MR^8GBPYTM(ICV_W]2:1#+W:$TN7ZP+(;;#R]GRT6#],CL\[-ZIR(>E]6\6\M^3U9;(C?W6'J]?-X.IM7H81F)F5FD@]_3LW ?QJ_?%%SZQ_%OJL/;U]850M/D[*D MJ$2 DPP#7"H*:%H60&(DM$T!(HGVV:+SL#VT*>$:JG48J+'Z290/\6XZU1&= MG4\9I\+&N,XF$UMCO %_E6PHWN!/N)$M%K=680!MD23+QW*ONA5 R;YXA301 MZ&G)QO-?V>15/;S85]R_O=I4TW:6_D-M3C06WZR#^:AD-,N0A$"DFEL/!P%X MD>5 :5':;!I*:"\%\[ ]- 6ST),*>[("?[5U=K=(?J] ^[I<>CP*-TWKB.". M->U";OU]+_U9BN6"Z6&Y7T],?TH.'#(#F@@])QT_JZ]FU55O;O!"Y1(:72IQ M:A/"<@Z8]1 7C!=%7N"\]*N&M-?^T*2H@I=\=8[./46;ZXEE,!F=GTHV/'20 M$O9$MZ,=+.ZVWO/AX=&N'1X0'K\L4A399F(#1R+%4""! 82Y+;4L,\!Q54V' M225S26G.+HH@VS(VM-&\&_HTMZ%/H6ND5H[=1GLLYCH>^H?Q8E=;RYX.0\6. MT-%5F-BVJ?<-$3O2Z;/A8?-#93Y1:=2#BU1" MA0OL5:^YQ=:P=:,*F0RNUMY&<:!NA!'7NVQT4[[=@8WN@DO?IYB[0Y<=0DHC ME7;?BH>O@L+XK1E.#3A M)1!K0]U]V;]9&XFH$]=,-GC]M.$(EVZ2MC4T; M)G+TZFH/8BO/CY1FFH#,ZJ-($< (Y8"7S$PB&-=F-J%1!J57[<'8"(Q[FT_NBV\R7A5 M"ZSI8%4*8]W%J^34;:NMV8YJ+';U&&+598R.K]]:CEW1>U#_L3-#P5$VVW4H MJQ1*;#+" M%"<&)+SJ8 *YP"GJH<4)DBI4?( M'",SUY2K'!8@A4H!3'D).)2&UDSQC!>I-F_:T8N:CV?R<_X(<^V#/@(?'8_V'2I"(@J.<.(12' 9 M-SW%#[A]7?Q"!DYWO#52X,AM_04(G,:\$Q?0ZFN.9KCC?'NHS)2'.P0!"]SM$N(VI_#G=A M:V&J:6ON_:;&WY^62E[_4'/V737;K]9C9Y3GB)20:P3#- )65 \*Q(129RE2HOM\5V>T-3TW4&FT-_/$^_Q3,\ MN\W-(K+7M=">)JZ#$ A'7F)Y,IZQUJ\WHUO7#SP:'6\+]&J<3;]_4_/GS[.E M:A:7(Y$BC@JA0:I2 C 3'#"9,3-'$U(AQ3G3Q$=*CAD9FGY\GDU!X]?X,ILW MF1JF%G*S]>7IY'B,VC+/9%JR'$!EZQJ5W*BTICG(D-1Y64C-)!R9&3B?]47N MMK'NZ%TYCDX,5F">YG,BS8HC IUN8GPI11TK< 6KV=.[2FPT?G3GT18&8KF/ M'C/1KP-I2RE/S';"87G]7R07]5"S7_H18C MB7"6*F2DE%,S_ 5, 9=9"D3.!%$IRE'NY1;J8'-H0ML@3;Y;J+ZG!N5/?F8+#'7SW6P/7 M@W,EQ\M/3%0.2A]GSVP\'0F"B=(I AS94M.:(T *7 !*D$82EA(JKYG;,2-# M$Y05QJ0!F?R^@ND;KG:,3L>UWH4D=;W \^7'?U'70D"LE=PQ$_TNWUHZ>;!F M:[LV8!.]]NGZJHRHO*HOIK6E^=525=$0G\:3Y\8MJX0HK:I+8XT!IF4&.,<* MJ%P2S3,JB%LQ0Q^C0Y.#"JA-8U@C3;2!ZK%3[,JUPV9[!PQVK!6-UV8-^2I9 ML;E!G5C8(1OPKK1Z[,1W0&]/6_(U\F!Z_7;E/7EJW9YW;:N_?7K/WNULV/O> M&S93NWZV^TG_57VG; C*;F')D6*$:"DI4 JE $M" 5-Y 1C*;44#ELL2^LS9 MVLT-3:ZWT=J%S'A3*Y55@/VF<6>X=IO0Q6.P8[G>)^^@T&R\.9X;)Y%F>V>, M]3KO<^OX_@S0\:Y+PY7MJO+/\62R"4<5I"AU#C&0!35J0J6P=609T"3#$F8\ MI<@KY*S%UM"D9#N@M $;&AU\2*R;=$2BJV/=.,943W&W)VF)'D%[:.F=8F%/ M=OET5.OI6T+WIE?>7&:*(S^KY:C(M28I+$"60;-:E"H'I,@$4"E+F: F##=L\92\&&R)GLWM%*,"Z[OWO$NAZSYS,#&=[RG7SI<6VE5R^Y>8 MO%8ACC?L9;QDD_%_K2K7-ZF@7Y0]>C9_OS:SXQ_1_&C5H8V M]BM0G=277Y'JI@,74]6Q&ARK+5]A[*ZR_ X%'=657]EXUZKR.]T\5U-^]^*P ML5_O9M@:C#]8G;<+!.D3C'(2*H 3E,S V"B!(PH6J8I*PCS MRG+H9'5HVE"#7I4@;6 G?QKM';@ M9.C%5R3E<;/9JQ)YT;"O3'XW!YQI7;_,OBMU,YN__-04<.49*BED !:'ICTK@$F%T.,@]SBX>0@Z5# M0CR.D"XBIJ?#(C^"_(Z&3O:_]1#H\*[^CGM.(MXYV#E]5:R, N8W1@>_L;_6 M[H.5<\_6K[\JH<8_*C=5A3C%B% @IA9@CLR+#2A3TLLP"/G"& MIH0KD,F2_97,UR"KV/8@O^L+GY7KODY?3Z#S;:"CJ0;J9U+AWG)-7CD;[OQQ MTZLNTPZ$L-M9^@$O,.^J<:C6UOMY^U:2O.-7]3_NQ]/ M%1R5*4$Y10R07-C,BIH 2E$!="$53%-=XM1)45NM#$TH5T"3&N)5\R&Q8).' MJ:-.MA/;+G_1Z.IZ.RN4*6>I"$,S:Y74Z#OGHJD['EJ7WK=-QV.6S=3J.W!+H M'*.J*K;74_DSF_^A[)'EK5D33A=JE.N"T0Q1(%)IEF&*:L!A617MD#@3G"CA M=?YUVM301,-6KU[ET']ND'IZQIQFU4TFXG#5L4K4("NBUC"3&F=$;YBS7,1R MACEMJ%]?F+,=/G"%.7]'H#PL9^*/I]G$W+&P>3J6;R.FN&)20,")32?.;-1$ MD>< $96E4.8JM[4ZW,OX')KPDH/>RO@LMG#^S_]!,EC^GT15>#VUX9!2B0JA M,EL*J:#0*"TSY-(B XH03CE/D<3:/U?[9<3VEZ?]PV4YV8_PB1CA".<,0,7- M?!>G!)@WF00,8B)47HA,:M]\[#'8[#X7^^T%>=>/$.GXLKJ(FJY?4EO@_CE9 MP4NNE\OYF+\NJZW3Y2Q9E76/^,HZR4BL5]6A@7Y?42<[>/!J.GVEWRMI,5\V M$2@/\T9+(]M$>@YZ.QWH ,\Y#^USWVP:VN7=K4)N?-@/Z9+.]#.=S MG6H&\]GK_(?R[>M\]M+40==E20F&!8"088"Y+: ""PQ*KH62E''.G/:G]QL> MVM"UOB'CJ3T$GR0KG.Y#=H>P\T,UE(:NMYHK6!$/YD_U]8+QN--<;^/P6">V MQ]_1OX<69YVJ![T;=F]_=[=4S^9]*A%FN7F+4D$XP'E* 1%" ZX*E1%N5B1^ M67=:K0UMA%I@]M#V( U$]8<*LN>><3O9;C/L:!1V/+HO8B^@QJL#*]'*O;;9 MZKGRJT.W#XO NMP4EFQCJ?ZZ85,FV=U4-%YEI:*H2*4"2*;FC4YX;N1$$L!% M"E%>L ()IR.G%AM#DXX5RF0%\\JZ??AX*I[@L5T?(K'3_;1\GYC G!C'&/)+ M@7$A4_UEO/!GS#O-10L7Y[):'+NUUR06+=CW15?1PO MQ&2V>#7/_IHO*K?O4Q69NQH4F@ MQ9I48),MM&8-7N/UG#JU\NPV:7MH\K"I M5._G?G.,MO,[(!>0T?%H]^#!:Q_D1(\OV K9;[&WW9 37=G>$#EUR64Y'QH_ M#5&4*<)8@[(JM0.)!!2G'' M"IH27DI1AN1\&*C+RSJ_@3KCON%$GMN[^0)* M.AZ@:S:B.[.#YWL[%!<[O)QKNV?^]O7N'+O!GK@][B_\\GL[F3>-&9#8; M[40QBIA@0%!A:PE(9(-A(!"V7+'069ESK_?Y24M#$P1;(,.&I,]6SIKK5UOX MB<9IDMW>^U&HZU@7+F+->U9PEI%(\X/3=GJ=*9SM[OZO"]R&'T_'2W5O)A!R M/V7LM1"OSZ\39BOT;N66'14JXWD.&[58_.]D"VS"MM!Z[M?[/Q#'7?Q.:>YZ;[\"#RKTASFGKW:XOW;AWG_+ M/YB^6 J-M]>FFDU).2M5S@!"S ;HYSE@9LH%8*90CABC+&-!A:B/&!N:3MU]_O7V M\[>'KW>WCX'EIX\QZBI!<7CJ7'1JF%O.FV9FU$5I(!=&8A>8/F;J?2I+MW3Z M9$GIMGM"2P8LV7BJ9%..H#X!,2)0,,TPD"7% !>0 :K+PJS'D"J+%!5:.'F< MM)L9FCPT*),&IF_B_Z-$X;S"XWSMX2ZJ'YC?]U)T_I8CT5UYO/Y MM7K+"90Q(;D D.>V^FA)@=4*0&&JB-):%YGR\U$]86EH@E%[71JTR2[<9(77 MUTOU%,'M>A&5MH[5(IBQ $?5,VQ757/=/#05_7<#8%'MVSQ9/^S M>[$_V,2TO_BJC.2,Q5))^X?KJ=S]Q=:57ZJ,$M9#4DA;W&&%T>XO M"ELRU>[?5A_4II^>9]#]?B,_ M]\O=.U8L)$1FC0')88ES#..=>;EV'E@86A3Z!7 MI$+H6\1@GSS']\ EE'0MU5ML=+#'=K+KT6H3[+??JL7"M,O'TVIFO4J1^-VHBOFT&$NU*GIP7Y^+OXURF"LHRQP4#&5FT8PE M(!114 B%"Y5B33(O[\8 #,/3@@9O&]U><" B/I4PB"7A7L HKV->Z2IL)4\%J(V:N=1:UJPYF) MEOG-_%7)K<%:O]G(Q/J'9EM=:$H6&=-",9!#NVW*)3(K MR]1,/_,\S07A/'/S_3IG:&BBV4!=[4:MP7JF[CI+;[ORQ22M8T7KB2^/=*>1 M>.LIY^E1M#:*)F*2-%=:6M.?MMW?7PY4AU[L)$)UN3ZT1IAI(L!;A,(> X5?8?1DN%-(1>OK*[S0]-)=?H L.+=KESFP:&,]*Q!+J3$5!1 MZ5B?HU53VFF\YTI*QSIV6$7IZ%5A _;C>,&^?Y^K[Y6B/^BOZH>:OJJJZ8V' M=BJTTH4TXQAA"+ PDQ^:8@($R14O1&%K@/J,8R>K@QO>=0"5+6JPVP'[F[H+ M?D/>C7TW)8C.:<<"<9+"6C"23GSFO5B*)"EN-GM5&B\:]@7([^90O_JJS4\& MN=UQLXNZW\;+IYO7Q7+VK.:;&$(F<*9Q 6!A"Q-GL@",YA2D>5XH23F'#/LY MVCO9'9HV!:F/*\=N^M,!;D3P,Z:5!WLN7DR50TMWTWJSW[ M\7M1<>C8[W=[X)Z\_$_3H)UQ+;[-KJ4<6]ECDR]L+.^F=>3AXQ.;JP]LH:1= M4*GIHM+&ZG3TX<5^7'RUGF"+\5+5-?-6?A)?E9A]GU8MCC!$!<.0@-P*&N;6 M/8]9C^""E;#@!8/$:[74$^ZA:6$%'G#;IT1L=J]>3U?&X=B.SGJV35LZN-.YV>S8V6+Y;)5K[7_]LKF1GD21G" B*(3G59F_1(V/4Z;"*FA1G. M+!4Y*!!& .N4 HY9!G N()(%4KC,?":2ITT-;: ;I*"&ZC?=:V'3;886AZ.. M!_H&9+)!V8&/['DR(LUL6@SU.ADYW^']^8/#'8&9D%_G9NI@0U:G\M/X+_NI M^28S5,H"Y@IH0>P"$T%@UIL4H))A06S==>94B/6\J:'IPAIIY5ND:ZR>&8U/ M$^LF$7'HZE@B=IEJ8':@$>?9B)5P^+2A?A,+G^WP00+A\W<$[FA52>9N]AP/ ML2Q3)M,<:$@)P*A@@%$E 2E97O(LAZ7VVDL_:F5HRN!5"ZF=/\>MG$M9Z7KC MI4Y%7B/LQNFRC8-8FQY';?2[1='6S8,-A=:+P\;Y.C_>O=T;6_NH;QPF1SG) M*.S KL5_G*5; #'$Q%G;B()RGE[O8J+<_?WA<;] MQL&DLC _GTQ<4 J-\@*6H$"T!&8.(P'-% :42DS-=*; .'WG5!8M\+WDL(=4 M%@WDUD06B7R=VW&^?%+)2]7C=T]MT?8-<9/:X3[WCG6[G]06:R[^^Z6V<'B, MPTUMT0;^OWMJ"X<'TT-J"Q<486_2^_%4/>C=6B+W:FH:J - "BA9IF$*.UL?:^RC9EZ5J ]XVV<:7=[H<0D ML^-7P,4\>LNT*SF1A/6LN5ZET+7S^^+E?%^@W%@U>YI-Y-WSRWSV8^<03.<, M"VFFU4C9HX."<EQV*\'$$I,!0% IHB9N9G M60&(@@P(R7">22YSF&4($.SF5.ED;FKA8 MO(E4R0IQ\OB3_<&"MO^WL#TRNIQENEUGHO/7L<14U'WO2JCQ#SM_ M_*R6M3_0"&:LX SE@*&26]\\!4@I2U#D,LT%4]HLJ$/2.AXS-C3Q7><'G*_! M7B53Y>NSUT:OV]0N%FD=*^Z:KZ];?#%M'E5R/9G,_F1F?*SB)%?;_?>SQ<;? M+WYFQ3:V(F=-/&KJ73(BMG7Z5+;#UGL"\W&MBWY_&D_'2W4__J'DG7D_3;^/ M;6+%RN>PSM6E2U0J;I-H:&CF=X0"6I82D%QSS$O,&?&JQNUN>FAZL[T)M\(. M*O#)!GVR@A^8Z,O]H;CI4C=4=ZQ2$5GVSR#F35BL[&+NAOO-/.9-R$%6,O\6 M0DOHW2B;ZF-R-Y7JKW]5;R.DBPQI*@&6* 48B=Y?4 IOO\6>2^"= MZ-!AZ;M3%UZ8*]1Z6)G&FT2D"YOH=:19460V' %"D@%,J 8L3Q5(4XJXQ+DN M4Z]8Q59K@QO@%<9-XF";^MS #$TH>I1@QZE%+-JZ'OB^C(5G'6UC(G82TJ.V MWB3%20M#DP>+,;$@DQ5*CXW3HP0Z;#A?2DO'PW^?D9 ]Y:/4 M>.PC7TI13WO'_E3Y;16WT="Z/7STQOZVA-MP[VP#MUX8>L#_LDINMGC0CTJ\ MSNV1'E^.5 Y3C% !*+3YTU-L/F$&@1":TZS4BG UFMI$K$I^\SG 0QZ)_PQ9V36)E?'"SVFP+&G8*#7# >MX;)S;QWAISJW/YQ/7G?A5&%+&^QY\NOQB=&ACW&).*M VP+V&&CA+:./:$H>5VDAO.@)?94HC>IH^Y?E;SL6CVR3@L M4(:0 33%.!<2L P4X!#6B*6LX(@IZ32QYL?FHI4"),:HIMZG."M72\;#P8Q_E$-W1W/:V(R;3_9,.?LUAS#@_+_4X]_"DYF($$-!%P'ER7 MS:A#,^^FBR6;3*H#-*,.LWG]DBT59*1 !$ %A5GX4 UXQLW"1U&:C;B2W*U0WU'4L3#7>)A+?)C';HK'"''+0[,:GQ\ES M=%Y[.HJN<8?QZGFW>:1T?GK7*CWJ+M*5F"3W^O_=Y*7PXNF6*Z!3C;[=1'TH>' 5=#K MYH IXK'"H.NDQY]F6XM/XF>@4]$37V9+D![S$Q"GU4#E//+IGO*4WO MT0+%.UG6ZWXD34>2;[T^!H\9:P^/HZ/Q6]Z>R&?K1/>T+;[FP)?V/N= M2?&E;877Z?PT7@@V^0_%YI_,;Q8CB:$J>*D 983:TO8:4"PXR(HL14)BE>5. MNQ8M-H8V!5X7HESA3"S0I$+J7ZASG\[VET0DDCI^!P3P$U2I\P0#%U7JW&^S M]TJ=)SIUK%+GJ4O]!G<5U3]_&_WCPRA#,M.*49!*I&VB;@U8@1$P$TP,M<@H MSIS<-#=-#FWH_F+W>V7RKV8*+V?/;L-UBZ#VT1G6[8X'XR^?[[[=?DS^]>[S M/SX^_'SY #SL9,MXJR]>C;GZA\VXVVJJEV%V"+T954?^$K"&^S*?R5>QK'>J M?AM/Y>S/3^/)I370S1Y^S9@%&[)Y?X8ZCS50/ I[6NK4@#TI]%O( MN)'2NEXYTT1_RQ*WONRL/AQO":P8KI:VH(FQ\6,LE?SP]LO"GLZNZX%=B^7X M1U7L;EW2,N=,2<(8$)QG --4 ::@!B)-MBD5&DXB;%*G/L#Z+?T>3!!!R71PUORWW6Y&2_?;*;NFYE4(YA+47"C:UB; M:2/FG)H)9*$!D3E.YFT7:U*#C3<7<&0ETHO_G+5>W_*.7=]_I;O> M=F$&L?OQ5-V9CXM144)1J)*!4BD*,&0(4,FA+8M!"YA#J9B7BAR:&)IPK!$F MOUN,204R-%/8AD@WG;B,GHZEP9.9\(Q@!YV/G09L8^!]NXNL%+R1,LP()D,-,VV%- !<$ Y)2R@L!(6-.Q2>.-S^T(;U"YYG>?)

;&9?\YI_ M6#ZIN?GU_%7)QFW"+-B;//M2RY1!+H!4L 28$ 68U+E9:$N.,)%,94YAHJ$ MAC;2*[3)9(,SK*:!,_^.LM AJUT+1U/[H,9>K0M6+-?PDRW\'58]\.4N$ZT*J J09%B"#!"R@8L ME(#34A62L$Q0I[RC[6:&)ED6):BR\%F<5XE%&EIH_3BO;B)U.5L=2U%%U#=? MHOPK(;?R$*L(\G$C_=8_;NWH0>GC]JO#A.!7-A];P?EJ5CN-")0$*8Z1&?5, M 4PA HR6# @B--(Y@J3P*IMR:&)H M @3"S$P)%_A$BW47\9/1V/>$]FO(?Z MZ&Y- MQJ*VM]W*"U@-W\-T82GVMF:KS??9Z72AX>3FI]/-%^<"7G_\OV,U-PT]O=VK M'X8=FR:F+&$I>5Z G$@$<"HRP%(*089S+C*ND,B]JJ:XF1V:0&WRU"5KL-5& MP.?K7R]-#-S&OILPQ>>T8V6ZA,Y+L@0[L!,_47";T??*%>Q 1$NZ8)>[HV<6 M^\=\MEB,.">EMBTEZ=<.,]UG^EJ9&TIZKYW.>^3TVKTO3$T^ MO"[&4[58W,R>^7A:Q3+88-SQ]+N96IE/B[&L'$%GT^OYW%A?936]>;(?[Z;7 MSW9'^$&?N&4=P@M'J>*P*#4'FB C2CIE@%', 2<,%7F1E1RA@*(J/<%W&K/O M4:3%QBW8]$WCJ1&\IA/A1UM]?1O$WVA[O5MT_.CV']I]6T^T#EZ-I-_ MCB>3C^.%F,QLRNY-RBY60(ZYRD!!4P&P*"#@G&+ ",L@UQDLN%>)GQ9;0YL_ M_^/AX>-O=_?WGB[0+62ZR7TDBCJ6Z 9ELH&9_-Y)HC,'/F(Y/;=8ZM?A^7R7 M#YR='6Z)&KEI)N1L*HZ'"*8YR06B% A=V'-)E ):9@1D*MGE3^$ MH8G)?N2F;J#'CMQL>RQN^M,MV1W+TIG(S74GWBERTX'$;B,WVP ,(7+3@2#' MR$V7EL($L8Z3KY,NI*6D2' &BM3,BS K*."E9L LZ"FFG"GLM\VXT_K09*P& MYZ=4NWRYB5 P"QWK2Y/1(W[=H:,]CB0&NVWW.LZ/=FM_"!^_*&QTKB.V[Q5; MJ*_C[T]F"64DH=HK'+%<"3-@S2H&$VEF)@4"'#$.2*HYYT@I5$*?T=IJ;6BC MMX('9AJ\+E0RL8 3%A#MTI6L.31@5P<$\23 B91( MDM!NJU>)<.KVOF2XW10<6?+Z_#JQV]>5:_?-[/EEKI[4=#'^H>ZF8O:LFN1? M&$O*- &<9F:A4R(&&(6C2L@6\CGC8@9ZLL"=_NY\M M%G_WCC-Q?!INTM,)QQW+T/7#S5URO5S.Q_QU67EY+F?)%S:OXDNC3T6\&8H7 M/^)HM^_ $3\ZCD2,>#80IEMV&?1I,OOSL^F7^7@W_:$65>Z:J3RR&MKL%*TW M" 3G2F:*@I2G&F!UA\&[.Q8_.3?OZ?" =2V*URV/[P[1.+WTB">C&<7G4V%GG[\ANMW4#G_B?SGOY@)JG2ZKX1_55Z3I%+JHH4 M@CRG%.!4Y8!#C0#,J2@H(3(ES,N;_ZB9P2FH]5$&W,),Q!9.3U?]XY2Z:>#E M1'6L;!5 4"&TD<256_[6^?!&[Z+G&&JG)I8'_G$C_;K^_>K+P_DJ M!V[$"Y*E6@/$80ZP+ NSJJ0Y8#DJF"Z)0-AK\K5O8&A2L!>P%N 9?T"AFP!< M0DS'0]^+DXM"^#IP9#]H_MW"]]J%[C=;!=T6T'_5IOK?!=89@5%J@09 M2PN H=* YQD!@A9$I5(()KTVATZ;&MK0KC.+K(/U@QTQ6]AUW&>.PEG7F\P5 M73NI038X(VXOG^4BUM[R:4/];BR?[?#!KO+Y.\)K+%45F\9VZK J.#C"".>% MK1610IW:HV,!> EMU%RF84%RA*53#H\V(T.3AG45H0W0NG*F?Y6E T+;-2$6 M31VK00!#07663E%P4:&E@T9[K[1TJEO'2BV=O-9_D-\;SB=?GF93]?FU.HP0 MF--;;(#W5C>W!>?*:0&^MU0[*XMOL6OR_U_%< M?9G;LAG+MR_FP2VOI]*&RK_82T8IXCF!@@#S6D8 8R4!142#G*&\@)J1M( ! MP5GN")R^R/W'5WTQ#3U9;Y&93EYJ[%?)BT5?[;2K!K^G7YC[DW&;[$/ MLAJT/=&M82=?UB17R*\JEF_/LNSO<^9-6"R'-'?#_7JK>1-RX,KFW\*%?FZK M V3K6#'2*58L9QG(H2C,G"/'9BVA2Y#3(L-2I'D&L]'2QH4[[C@JPM M=;AV7CMHK3 &NK)MD>BXL7 9-5WO*.RQKDP==%V6[7Z?(QYHPC.T )T28N0J2@.A< IG2 M-%5IRA1W*COI:G!H2XY=O'9F4B.^H!+!6=+=I"$FE5WO-5S&HK=LN%(324/. MFNM54%P[OZ\NSO>%28W1K+GUH?VH5O^_FUH/B:EYD&.U& E.:*D5!XAD&< ( M:L!A!LV/)]8KPSTT[Q? M)2O@R>_U_SO)<1#*7K1@84_S/8<*AY%S&"@;5S%^N.LAEOJ)36XZL$6)M%'2X4!CQ%&2@T2[-"2564PLLQ M- S'T 3R<2&?L3Q9 U'TZ^IZ&54'OK 7-A=8!,>L=1_TS5S)\?(3$U7:J[NID1VU M6%:.?$N#8CR3MU,YTF4F$"M*@'26VJ,\ GA6:D )*U5>Y 7RK(SC;GMHFMG M3.8&IV=Y' _&W32P(QZ[/M"WVV V@V"%.VF 7R5K;BM77;9,5N@3 S]B?1U_ MSF(5W?&PW&\E'G]*#LKS!#01:V_MRUR]L+'\J+2:&P!U",>ZB%B5CF$DJ2RT MK3C**)\PJ3]J0I!:! M3RITYRX:\>^ZI=<\@QK^=KW#]D<089_/A\'.-@"=0+SSSJ /4>>W#+U:N[#< MR,.+/?#XMU=F5NS+JG3[)CASL3F54USJ0F8%L!60C%KB E"!S-1/2\:(@#9V M/:CNB)O]H4WZ-A4SKI)5#ZZ2[3YLQ4 O+C@L]7U*;DK9(?<=2V1\VL/+E_B1 M%[N.B:/U]REHXD?-R%ORJ8U4O+ZAYJS[[4[[(.N5MN+A]?E8FE> MN&8)7J^X-P@JX^O4$)0QA&Q=)J69!KBT1[@<8U#P3 FJ599AK[I,<6 -338_ MJNGLV2;IGCDZKT=^2F[ZV#_W'0EY(9D>O51;.X]+-E_VR_N^X>[8_Z"^ MCZ=V;S[AS/Q!J([X1C2E2(L2<%4R@ N! 8&$ ,GR,N4R5YR@FN_;J7P/MANS MW7%]N_I"=TNTV]P@%G4=O_%K;:AP7M4O^:OMMWS$=%P.C,1*M=5FJM\T6@Z= M/DB1Y7)/H!N$FO\8BR9%9TH9IE@4(,]611ES0-.< 8XH5C+3+$V]ZLGLM#ZT MMV -SM,188"4!:Z=AI8X>H@1>G1'LRYO1)"^.CX;7!VZ 67!HO\ M E@W^RY%OT[)_L'?_13_KQ?SK7D4:LK,E_[;G[-Z@I$+Q@I1$%#F!36")A!@ MF:1 RSPCI$ 0:2?=/][\T-2_ 9@8A&[#[P1M[8/P[=7JF6OJ:0H+5!:R=&)NWH1I7;$C32=NBS>20/^F?VG[/YS>MB.7M6\X^S9S:>CGB9Y40*:9,H$8"E$H 0I@#B60$5 M$ZSD3H5[6JT,3:X:=,GO*WR.0[2=R7;IBL9/U[M(SM0XCU*GKK=-,4P#6],+ M\]-F:M'>=B]#VJE[S,RZ4*J!7W:X #$,3 MAZ8+UA&OZ432U*=KNI'4_4A^MSU)ZJYXNOJ$/#"W54K'CZ%C#>KD"7@O@B[@ M,-)Z*01!KTNK"RC:7X5=TM0IN=S^+MR;3__R3\UOS#^V5L*__-/_!U!+ P04 M " 50 E5'IR.7J== !%_0, %0 'AP96PM,C R,C V,S!?<')E+GAM M;.R]V7:<.9(F>%]/$9-S.Q:!?:G357VH+9JG%9):4F9VSXT?+ ;*.YSN*G>G M%*JG'X.3%"FNON#G#\U,9H1"I"B'P>R#PV__ON__,M_^3\ _N>S]Z]_>;%(9Z_ MXG+VZV)Y\IM@3/YV^=-_N_CQOV[]_%>Y^6GNO?]M\Z???W0UO>L'Z6/Y;__S MC]RR_UOW]_?_SCDI]Q]FM:G/Y6__"WYPN"PKMP M4DG=_-7UM\_X;W];34\_S[Y_[],2R[_]K?Y%J#)E1K*ZX/]Y]9=_NUK[\Q)7 M!)?-7E_3-RX^HZZV.QWXUQKG&<_W=KG";)%^^*%9Y>QB>?DW9R'B;//=2<;I M9//)1W&U7H:TGIC@B\&<06,LH&((X+/*("0WF4GKC& _;KN2O"*:-X)88?KU M9/'E-_K@WRHKZF\V/-GPX]9RYWS9C^[+<_>1?G;B8Y(Q% W<*T]DIPR^% ;9 M"&&LLEE:>Q#9UU?[D>KK\CQ:IE\6RXQ+4AR7RX5ENBW;'T![\1._?0Y+^B!( MGZ:S?/FWJP9I(:OUH@'GSL5"Y/[M%]IUP>42\^MSJ=R[N3%>JJ!T$^'?6'@K'(C^ M<7 (/SN!Q#M<3A?YY3R_H"MXDDR*$36#F!P'E3A=H3HYL%9GYB5R40Y38G2M(J/XA<1!'1T;%R_EZNO[V:CK#-V>G$9>36+)A*15 +)DL9[*R Q,: M5%:2<1LR5_$@--Q<<2L4Z'Y1SR95B;,UV_"*4ZTT%QG+4 70[Y3 MM F\UY9N.>FUMEXF)1H@X,=5MT*!Z1T%!W"R"R0;5\%$&<_.MH39$N- #&@T1LA1/;.T[:\;D+ MV'P,?QUG8M^T3,^C%)>:4.5L,Q,@#6-D'2E%]Z!%4+QH9YFL^VD F'N6WPHJ MKG>HM.!M%R YRIE$L+KXS^OI'/F$*6&4Q@)6U*O2: \.F0.>AY?>"AR^=W @/&'0<\&S$UI'!4;7>T1+#AFX32XB6Z+8R55=< M2X@.%920ZXZR"O[ ]YIKJVT'@(Y#G'NS;F21U[?1V;M/B_EE!,9;EI(H":3B MY#9Y6\ ;8H!7,1IC0^$R'R3VFRMN)_J.0YD'L7!D\7_ =+8DZ'(1/T[7,YRD MH'5).H'1->QF0@(G60;.4R:O2%C!#A/_S16W$W_',C(.5UV$O67:MNAX&.0Y(' ML[(+=^#YV;*RZ_P%KD*:9'"VFFBK%!KE05L30 5!]YC$ -RHP(RWB5UY; OOATTN@]!-F!M%Q YGM.G$3NF7_!%6(>+;4V4YYX%PR!F5W,%G04ODH&$ M5I5BDI;&-(#(W:MO!Y'N Y$-6-L%1.HS[O)Y6./)8OEMD@KI/6<\64&:@6)V M\Q!3P"GF0WVDT;+%2^@/BVZ7-M5]#')_1G:!@P^G839[=K::SG&UFCCC+!J7 M0$1M0$E!?I#4&GBT3"9#%Z(_+(7NCD6WPT'WT<;]&=D%#EZ>XO*$KKS?EXNO MZT_/%Z>?P_S;!&7*-@J$Y%""XMI!-#H#XRFA,$*+T@(/=RZ^'2ZZ#S,>SM@N M\/'A$\YFE]1[PVWPAJXWZQ11SVOB3W2 1DLT%HG\U$)-7%MS.S1T'',\D(U= M@( (/ZUI'(OTYX=/Q+?5V[-UK>"HGO7$6&_H MCULX( _0L!U(.HY.-F;SR* Y.L5YKGFCKV:!"'<8HF1D"VE;,X@9A\B" ,2@ MK XNEW!8S.*'Y;:#0L>1ROV9-_:[U+E+]&JZ2F'VOS L+U/(;4!REI6D/7"R MC;.TX*SWP%7&*+*7]L!TR_M6W@X+'0]KIQ[]+;X:+C4&8;IO9A;](VEF%V/,_XUW_';Y/@I!!8 MBQ2KZZ1"J15IQ0'S7F>5E/.^28S[QV6W0T3WDO5C]1O6ZO]Z*C?(#J[O/5G 2 MPN?))A&N:H:WY=5T3HM-23TLSNNYOF.,K DA'6$A1U(49&C*:E%HP(A<&8W$ MK(<2B4I8Q0T$+A8]/V7M/V%>%C"?)$SGDF9$R;+S+'RD8IW9\,"1<:IL&[![QXOF1^@NC^_LF'%V2 MC*0*Q!:Z/9D@[:M5 E]#_I[VI.U#[LO^F+E!R+C0.42R=X+D$#9W@)7G8?7I M:)[K?U[^Q]GT2YC19E9'Z^=AN?PVG9_\(\S.<.*R5#$+"X4Q#\IE3997%L 3 MMQBR]'YUQD+,% MD2D0R\B <\HC^*!DJFS,X2'W>2^M] ]X_3"& Y0S7C? 8Z.YU^(ZL7R&VUA MDAS3G),'Z$RNM,<(L: #+V-&8>C?!WLA[(.;Z^N/TR1C.)SLS=L.?R.N\SJ-),$ESF1U$7>I[I5&T)=H7SY',1!9R% \5N.X# MERW(&J>OQG H:BV)#L!5"\!/\6/X"Z_IT(GTM4< 3Z!S,J TXQ"2$6 %C?YMKG#D+&:[':-TZ]C0(MF;^[N#XW%.LP:756+S[A:Y&_N<:R*C7+NE# M)8U#R"I%4)'VXB+YHIY4(K<\FBP?*HG<[XZZGYX>3.$F?GHSIG>@6][23D)- M[7Z-887O:__5M^7O=-=6=DVT]BKI0CXA*48Z#2J2HM2UL95*+"C,HKF;_B!! M/5C)32#4CNT=8.C5=#Y=X^OI%\S')([YR90NV7-FU1,1-:E?)2V0L6]!94'* M-9.:UK2Q'+-6UCWT2+4/B!ZFJ UB M)D)5+5SD1'?4R4/&PB5*;WUL_0AQN78/AG 31.S%S Y <,Z""3,Z(@8/D><, M*I"U[D7,H+E(I10O,;?6$.O8R,]J'D3X)Y+&T=H[O(&-<3V?PQ^Q#&=^!ZKBVA9NQ!)O0,!,R M!*PM?$,F!X[1>2@IAJ@US^3"#0>AKMZV#Q;T_< YA.L=X.?-8HVK=^%;#2=> MAHY22%*2\P\L9>*,(LWIA2M0@N0^IJ*0/U0$M ]P[B"C&\0<).%%6W9W@)@? M/?Y+/EU6V$\<-VBDD:!-C6#6L^4%#R"]D1F%)>/\H<+"PR,M-RD:]PX;"$<- MA= !I"[?XB\.QM$\TW>69T3'+>Y-'!H?%+$IDIT(*O,$T?&JMNN>:\\?-U1: MQ!;DC1O7&PAL0XFG ^3=L0,E"BL8R7E(-I!=$ T1KQ7XY+TW60O#6WMA>^)H ML,C>0#@ZD-D=>&HO+I;]_AI[;4LU4(F)Q<1+!#H"->3$:P?2:F*BEL43]HUY MJ+AE'^P\0E(WMU\3N[LE_SO0/IL(YO4M7(4Q)JB M-,2WY@]6]U+3S:W6!$2-N-X!?EXOYBCK'M^4Y$3 EUA2)CA<#F$WM MJL\"$#,0O$$7I):.-4_HNHN.;FZP-@[_H9SN "WW^ S7X:]L""72#FKRF=*. MS+B8 @264G %14RM@XZ/$C7NZ/MU4\\QKW6S5CCA/ M=2NBML1Q/H$B/0BJ3BQUV:7:!$,PGI5+HO4+Q@/DC&L%#_X8UDH0':B938.E M3XL926157!$ M-1)#!X!Z=[GN9DOGM8:%Y4#:E8,V2-9_L+0%RP7XB$*[PIR,[9.2;Y$Q=KEY M&PG?KI8YB-T=(.9:I[=S^A7GUFEG@;E-::IDX&2J]6-6&Q5$L+%YH? -&L;. MYA@$*P\,T'\^?A\]3LJTF"JVT%BUD8^N\,^9J_48&@QQK M3Q.M'IQ4NM<[U]VDC&WW# *;%FSO 3TIG9V>S6J;F4U8LS8@7>(GG*^F7_ \ M2OYZL:JQ\;?E8_AK$KU).HD(7&/U%^VFM(@N=LLP<5;HCUIKH1U)'-LF&@9M M XJI Q2^QW68SC&_#,LY.0VK:]M]@66:INN)-9P;'VL_PQ!!"7(>8NU0%KC6 MK(B2.6M=._$X5>/&%@?"6F-A= "OVXR:2,.\,DJ#<;$F":.#H.I<4"?H3X0* M$EL_TM^F8MSXXD#P.9#9'424K@?7YOF._9C:VT.3%R$%IUWDE"'64;+($\\Q MB1QUZU*+QV@:6Q,]8:+UP2)I!K$G;5GX;B.)3[B>)C*I?]A*J_Z%/R[Q!,T, M']C34W8VE#J@E]:0GR=2[?HDP6.=V,.%K8U95'EP^E&OG0U_C((0K]\N-\OF MC9_[#I>;%O*3S0L0DJU([FX&Q3RYND$:D$H7'S*RDELG1&Y'V=BAJ<;(>3A( MU40\'=A:/^[J?$C!T=GZTV(Y_4_,DU0O>T>[$:'J:7)*(#I%>EJQ(,AO9J9Y ME>+#%(T=TWI2D!TDCD[!=;Q:G=%.@F%)H2RU1J\: %@/C%.0'9(-2T9F\:V[ MEMU/S=@1KQ% M8<8.@74]9$JJ>@2-M.?49.C:^HP)E:;:SNMT'OB8&H==7B$ MI+'#6R- :U^!=("O:X\+]U[P-3&K/H!#)I^;='#TX(N0H(O5-@DIT _XL'.0 M\36N0WD(SEH+IB^LW;KG=42?LQ7 A>:@A*[S 1"!>96*5%8/BK&];*X!XUY/ MAZV#!-$CIBZN^1BC8%QJD#5]6&D\?1F"%=84SEN_5!\\*K#YE)_Q$+6O*'Z: MR2_?6;I:E/.WTK_/PUF>TA\UBZ,^M,8P@=2M=]4HDGJ^QO=5KSJ.)M2&UQ[Y MS$M0T=>6^46!#B:7U.A\PF!X$[ M"^3%\Q%;+=>UTFL_2FAP%7'Z9)CSZ M:[J:>*=0YNAJ<@^QHI0 P9)6SB'YH%G2(FU5*4<+7$,'?76%C/O6[B0VOH<< M%PV9V@,V >/ HXU,;P/D0 9W8/]>;.0//(VXG)1:X.EB!(TAU,:2Y 3*D$ 8[5*( MFI,^;1Y5O$; Z.@X5*"WVU#OR=T.H''!APOB=1WA()'.A[=T4FSM64O7*TAI MDS=.Z%)<:Z/C.@'C/(<-!XW]N=L#-"ZO67(5\)A^NYKH*'4V.0'*R$!Q%2$2 M!\"(X!(/R1G=VMJ^344G;Z;[&Q^-&-P!1-[C%YR?X2OB4JVXJQ;Z/Z?K3\_/ M5FNRWJ\-B"U&9:TC>.XRG:$:R^:9TUV<<]!<%X6M]Z)@%NYL^W% MT3_*7OZ59F+U?IMJ<@Q.@TREEB3.D4=#4J\ M23XJ&6P(LG63VVO+=Y*>UD;O[,O6#@I-OC=SNACK>-7+A?$2I/,1#.<6E*OS M8YE"$(YN9!\CLZ&UN7XO,9UDG+5!2QN6=Z!-/N!L5JVV>?XC+/_$:UN::(R( MRC! 2UQ1I'TA6O*-I8LV%<>,$\W+&>ZE9MS+J9&X;P65FO"^ Q3]CG-BT*QV M9,ZGT_FT,F<]_8*7VT%N9!1(CD>L/:4*=Q"-3W1S>RL1K>'8?*C0PR2-:S,/ M@Z>64N@ 5+>8- G*"322@U.0_-[9Z]F1S M!T@YGI."PM7Z4B=RD9+RQ 2,E@S\$AP$GQV(6,N ;5%86M],-TCH)(NY#4(. M86\'5\ZKQ1*G)_/SJ0#IV\=EF*](N9(L?@_3><7[,RST,S6XJ9VURF=6YPX4 M4"@%N$S +W6FK&6V3B%HC)P=R.LDG[D-JH82R^Z(\^>(F^-)S9W\V QX5PKU M,L ^G9^1HKW0N(OYQ0Z_#QS UC-(2!B()#,,K'S((1S4>9W$/*5LCS/Q7R#F-W!Q?V>M.9XA[!Y,9V=D=4_*2G9%&4!YE&#DBR!,]Z"BYSG.O'=BM:]V^\A M99PH]M-"9Q^NCPB>'YCS _R/YOEB+YO>JR^FJS1;K,ZNL0T=7;"^U 'Q6M'Y M$'0^4GV!-L)+(XTKW.YT1^VV_G:*J/=$HJ<20 <*ZI\X/?E$VSGZ0N[B";XY MJ]GI;\NM>MQS[O\[&J4/6_S_X(+#=P+8?K_M&ZR>+[>9_72+B._HSK(DR2U9F*[F@@;+ MP:-G8'..V6NN'+:?G[03B4V&\C[2H)]4PG11IQ OZQC'%WC^WRLF&6:4(:[$ MR$RM::);(W .4J/DSBI$USH]]'"J.RGD&0"'=PX ?CH)=V 7T*ZNI0XD%D30 M3H,H5H(208!#1QZ=IEN$:1U1M2Y"_(& D7,*GUCZBU:BV!M'9$S$1K6M1Z,?%>6?QB>=)*5XC M#KD._3(Q@B?CJM91"652J7M\(D4ZR 9'SH8<]R3T"Z4.-/8=?/D^'<@X5K3! M E+4%^9 MZ"3*@&:9'AAVEK>.D'\ 7)&3LP<%\.MQ/33S+3XP5GY%.8GN)K. M;P_T&-A)VV;A)W#6=MY_>Z?M@2E (CDN2F: T250T05P)7D@A<=]R$H+/5@# MM(<(:]SGS9K@7$ #-AI2[%*18D=7@-&.;0@ZZN:)*CWU>6N/A4>ZONW"[PXN MTN_4GW.D*NS%O)[?\\Y610CA50:&WH-BI/8C6DVW@%.^((O2M6Z$^R!!G6!I M#TG?!YJ#V=X!AF[LX:*OD5!,&VT=:&_(=],Q0^3$'HXE"H.TE^:S-.\DI!/, M'"[HFP_2!W.] ^A<:]=[T<0*%9?114L;**2*C:])7<9559S(UM0BI];7\BTB MQH5, \'>WQ1Y#RYW )-[QA%_[WMFC+#.038BTNV=+41E-!1NA5(I22Y;!^P> M)&CSV:O%\FM8YDDT9-FE*$$S.@;*,PY!"07&VQPDVL3% M .5VNY#8B:.V)R)N%S(-)IX.T/?@F!7CM6,E(G@7;"W.,;5%=80H(@]9B!A4 M=Q-OAAPT,1P0=AE^LXM4]D;8Y\U;$IVEY;K117C'+'01HB!34?FD07&GP7.E M0)9,K/&HBVO]Z+WG0/K!+L*GQ-2!$N@&23\FEFC.F=:RU,02TN]6"/#,,S#* M:Y-9<.A;6U.[Y_@,YN4])7[VYWL'U]S3YF ($[S+,@#&VBLIA0+1%P4Z:*=D M*$8TGX[07SK/8.[G4X*^7]QT<*BN-K?ZN+@GMGA948";+%=BX88M&X&]_;SI M0/$>26*KZ1HOFN:>9[&\Q[0XF6\^<6+J_!WM!63&:\\ 92!DMVGR$W)2W*!N M77G_1%L;MWO74QZD'K'2P1%ZT-#W:,DSU0*XM@F42 C.&$7:0;N8-<]&M;Y& M#G:_!FLDUHW[M8M4#C2:7\[S4,X7C5;?%T-G"AY>YDG2(M\9&_MDR"_KW@U MLB"A5LYRT(*1!T_P/)\4%JW/&BUY]+QUCY&'Z&G@V]?/?+=GLI.( M^*$(NB,D,*2X.K#/KG6JLBJKR*,#&VLEGE8:G$H&+(M,5%YE;'W4=NW_-12 MAI;S_>W!=F%Z!W#YP4TW8BX%H"BSHC B*5TS>0(@1D' MK@C'DD\E;3=I>@<07U]_7/TY/AH6C433 :R.3FL$]3\WM-O++3Z9QAG4P MX'HU8:B-)QZ S([]AN+K (R7_<'? MSC^$&;XMQ$7BV_K;NUDXKQ3X7%D_01&B%S5F)$L Y60&[U$"EF!ER=Z;TCJ1 M8CO*QGV^[ Z< XBSGQ[P=X?7)]9D6W0JD&K?715$(M\O!O \,%$'CJ-I_;IR M-R7COBIVA\4&XNI 06ZXM2+"7RV6+Q9G<5W.9D+(\D@K /2\U^3/GT+JR["%ZQGV-ZPZ S437 0Q?7"Q[;=!!?:@/?SVG;TZK MW:&XD5I8*)EONMG1L8J:0?!""$Q2:MTZNO,83>.^MW4'QZ8B[ "2/QK"+S"N M:Y/%>KK>+?%T>G8Z$>B1C D$VA9QJ\Y'JW.(0802L?@BE&Z=V_8H4>,^V74' MRK9"[ "5MQ]%O[/N(DOC.]^*CI*I;(&,X-HS5I(1(HR#I)&A-2%ET]JIV9ZZ M<4%-Y[6.#ZB:7Y_WVR)O M+6?GN!;-W^8?)*BW4H\Q&"95>D)-.?V%/=6$/%DJG4@H79M M5UYLE0XJ?6=Y1I1-0YS.-L;ZA(XD2T*3(:-C'5?MR9#!1!>.S)(YF6-0K9\? M]Z.TM]*#)[8]FPFQ ZANG]LRT\_.JAV^NH^1T6,4-H)WT=>F>09"8 6$CV3A%!&D?R)8 M/D!E)SU3GBB)MY6X.M"/I.LO"\_2?YQ-E_C#LSY= 5W.*MS-$8=>:F/O\+C>2TD;_F>-1@N!=9T;%CLKF.?(RH<>-"8Z/P(!'U M [WMV3CQ2#Y@$@&X*N008O%DA$0)$H7)R1GS9.[U'=2-&_%Y8C .)+1^W>M7 MTWF8IWL8:53,2A4(2AI0F;@9I.: ' UCA2FC!FB2M2.5X][83^U>MQ)7#V;C M-8OX/7Z^N 7>EM?5!"%V;M+S)DE:8J'A(!0=,"6\@B"(D4)@,(:K8)J/8-Z* ML"Z=ZF;H>,!Y:2.J#O!W?2,?,)T1!341;V*49DX$"]9H"TI;"5%S!"F,MRQP MEF/K6,X]I'3I( ^%L1;BZ,?XN[Z;-XOU]X?.B72R$#MQF-M3UZ6G.Q0&!Q):!\Y%W5;]M\8POX09;K(TB6/31*C?A)'F^<=O M7/O)N^>/OOPKS1ZA=JR+UE$ M%K-O/F/C:7/JIY"?/PE\%@I:1]0GPG(78SDN.P+?L23/ \0=!U=F[&!)%%!S$Z M#!@++U=D2 MKX40:&=2UWDY,8.*BM$]4RTV+G4V*O&,0Q@AA]"\%7;]3XG=)Q-E%];VID;B M=;5_WL;9]&0CPA690G4@29Y$Y60T#,$+:4&ARG0N@P;C=#$I>:N:-T5^A*1Q MG]F>%A^WP-E.6!U@[\/9Y\^SS2D.LTN^'L_+8GEZ+LY+EIFL38XR@[!U6S(5 M\*YX0!3U_\HGV3JVMR5IVV&1_71:< C)= "X'ZH,I_D-$I>X?7V_1]''X_?OOF1[.V&F3ST<0T!8_)VCJO*\M$2D5;\AMK;XZB0^(^I21; M9^HT(?S@J92'$'%EI7XD83ZCS_US8EBV:*OM2(>.N.GHE#%)5FMM#NJ+%JGY MI+S6>QCW5GUZ/-^:.#DF)GI4OQ^.?W]S_.KX^=&;CT?/G[_]^YN/QV]^?_?V M]?'SXY&+G@;DP[XCM*3K62Y&"NF\"\"DS=6=L. ] M#Z!9*DII$;%YX_'[J3G8\YR>S*=EFFJ9W:U%K@#OZ9#%4A-MM J@.-D;(2H$ M9EW1VFB&L741QG:4C3R$H@U*;CF=[87RTVFAR^TVUT;?/WA8K70W_<-KI^(2 MY]J1,YEM]0QT!N<# M<>0XC!NN:MYX?33L_":KIZ6VXL\.W\UZN#(&.NM;\( MJ",9"+XZT#PYR"I82YL/P;5^--B.LFZUTRXHN:F=!A!*!U&-#WA2S;WW^+EV M'[YO4S[KFCMD@(DH007MP$G/P2340DAEC&T^V&$;PD8>B#,,T-J+I .<_7V% M;\O+U7IZ2@[&:F(9RZ(&H[.-Q!]I/!![/#"5D\N.*=X\>/8C!2-/JQD&.0

Y=?;J5H2- M/')F&$"U%TD'./M0QZ^'97ZW7.2SM/YG6"[)X[A0L)-49(D!4QU2T:4DIQ,A')6&227-W27!JFXF9:VK>8!>@M.9S$@E>'%:"6]]8QCN M1N'( V*& >& 0NH @J_"=/F/,#O#/S#4MX-ZN.X^6X:[&B>,D)./Y"?+ !%I MBZ3WF0C,EI)*8_1M3=S($U^& =XPHOGI JP?J^':/KQZ\;'#!E?OHOT)0JOH MO%%9@'.BEDSZFIG-+1C-K M%2*9:%X,,^/"3/F$^J[T6SS,W-[?_<7T1/=8*=/9M+K0=_[T1@K7C 2K(BEA"\+2251*,E+.*M&104M'153NM788 M6F^BWX#M#MB[Y62,*NH.+N.K+=WPLRX;U'^[L;_L3 Q1>D"=R)'7R, 7,GJ= M5YB)UXRGU@\*N]+8;\2W"5('$-1/=T.__3JGE3]-/[_#9:HKG> JS/,KS?,0;=[5<3[X?T:._IJL)N6DE<%['#MJ:]1PU M^!P"6!D"]Z8(R[;*'*)/OH83^NH*([<6'1<7#02X:,'-7F#P8G$:IO.)T04Y MN>L00B4],P?>:P38BQZE1 RBPR43]5?H+-0&+>I>&M\R8\9*W=\;@<2WD!W1[3U\*5XR7$AW?7M2W/GX< MUZ>YQ ]C6P^"?_;K/RXH5RPP$UP&KFOG/Z\]F3[6@%6A),4D-REL+?#O'SM. M;DIS0>_'IAX$_#LN3\/\V^^G\;]=[,!X$[@V"C"96OG JXWK-%FV-A@1@G8W MIXH](.A;'S].[DAS@1_&MAX$_P+_P+^F:?'AUQ?X_M?7].OS7_]QJ:90BV 2 M,C)>7 "5B@6? @[)G"S-88>&BE<5(^FL.A&3-[0,9F#LEJ>EY*=75U MZ11%\46"XZ;.5$8!02=>QRLJ+;Q3QL2M,7'W&N.D8C1'0P,&CHV#=\O%&O\Z MMU^.Y^D[E(TT@IQ<2"H1E!$3N$2;$2H6GZ)VELFM,'#WYX^3!=%4_@T8-[;L MCSXO3A"O(U=:4XHR6$%;,S.,!V=C 2=95L:28YO55F*_]='CI!\TE?AA[!I; MV%5??9@MOH0_I^&"?$9:*9E@0=;,5B5K'Q6R:J$XHZ3BV>GBMU;T/W[V.(VT MFBOX QC6@[Q?+>N3\*7#DK/)2BCP69/=&EVJ58R"=L M(T98(]+6TK[^R2/U M"VHN[+VYU8.H/WRF_5]Z*$8*KE&!"4)4.S2 "^2A<+3DI@;#[,U70<8L."IR.9)5FZ:HY)'JJ.D7 M[[ HY3C?SI&_9X'MY-YWE*X%[\:6_Q%_.\>CY>EB20;G!?W>*E&0*6!9L$H_ ML88E#P$UHYNJ#@/8SH&_X\.WDWO?0;M#>3:VS#].Y^LWN+XBOIA46'!D><1, M-D@)6&LDD7: *+7U5O"RE?&U0OQ[K"$EK5T&EBS9J+C)2' ,$+DO&E&0!;.E M[G]\M>W0T7?,KCE71X>)<59*S\_#4-?V\^'3%&?Y8DQD7(\_S)=35^]/_KC)6WG$NJ.G!^3 M&3&$E*'BJ4"P)H#AQ=>7#.$DVPH8=WWZ=CCH.^1W,-CK'XS6> MKB9,AYRY9V *J\WXO*(+447(4BN?2M$FM9XL<2\QX^; M\OS:\OU#N%S1];V MLV_O-ER>9(P,$YE4QJD,BM@&M*-,!A>+2L3LN&O=3F\'\OI*)=T3$(_ K)5T M?KH"BYL-AH:JHKAOG6%+);;:W?#U$(RA,TCX-%*'\_H@W9_4V?UO>?L9EJ M<,'DU,0&9\3D",B]K21Q"T$(!5R+1(9)T+Y8O%65R7L]EM3I]7RZTGQ@8Z M1#Z!--79,7'CE=(YM3$P7XQ.K/G6=R&P6XVV"V9N:K3A1/33:;G-V/=5'>$4 MYOFBZ'? LM9'EANX,_ .>QU>Z7F;1:RNJI0R@G*& ;FP!G2,,J9@64BM.WL/ MI_1N5(W30LNS,)L4'36K+SA)U)B;TPR"1PLV)<6"B3R4UK;9W91TJ\9V0<%- M-=: Z3V$+!9?-IV CN?W].2[V-?[Q6Q&^OHK_<#$N6RBS0@\T,943 JBSPD8 M\BB$,#&EUHW#]B"SVTX1AX!N:'%U@,A[SI7F(@:-$K(QKHY-%!!S+1'D5B0M+K5;N_"M_.8#B]6H(H>-%H$I07Y59*\ M'8DA"!^"HD/W)-B[I&CR.-7^.M3F>A#6VF4M^C_:6P8E0+5/A MH@+%,8-+(0 7%@-C=5YL1W?I8$W3^T#73M)H.N^^893C_3")G+21);A\I#6^P]:O/EJ0- MW%SZJC<=QEQ'NT8PGGY1(6]R C@X(X753'-V,_UR:!9TTN9R" SMV%UZ/RGU M&%:]..S[=_/]\0-:*9\!._1N"Y_@T:.C*TF)FG*%5H'SR4+@LI0@+4;=.K'D MB530G9^]6N'ZB*ZU>SIE,BM9LM(!,SF#*BR #U& UH8ENK1UP=8]^_8@\^=0 M3+L@ZZ9B&EIV';AV+Z:K<'*RK.;[9JCN!5MO;$H7Y5F4!5(LM"GG2+L;U!"* M*CX[HWAJ'93?BK!Q@PM/ <'V\ND =-<8]Y+NF>6F%>PYTU;/OOV.BY-E^/QI MFHZ6&&ZVLS;:B"!J*5]!^D5S#IY^A1)9*9)96WCKQNX'D#MN).(I /I4LNS9 MGB//>!4V/8U7E;_3^26W+R^)PY[']UFFF6VX]]Z>V(+$(GR*R4!F1M1Z?@8N M% DL)^V1A^B;3_I^*@OR4YB?X/'\KC6^6R'?^1"3SB$7!=Z7>J C)T>,T9?& M1X475P=5^%'U]<$'#!TNOQQBA];9A3(*;Z MO"%8ICWY"%J:P% JC*%U0&D;NL:%WH"PN/>]O9&,.L#=@UR[3+N3JFBE$ED1 M)2$H8VO)/ZOC+(IE@@7DS7,\MJ&KE\?W5FC8PDL^2#3=O+T_N+-++F):G,RG M_XEYHE *[T6"C%K5^O,,#C5"RIQG09X_#ZU?J':CL)>W^#& >)BX1GT8W52J M/KBYXWFJ[M6Y71-6GS89R9_7JXEDTFE=(A3..*A:R>$S=Z!C1C)H=.!ZNYY@ M>RW?RSM\8[P]D3S&KBA_<(?$/YR>S"\F^'S;N(FSC6@GT:).67H0MJ99"<,A MY)! NR3KMY*3VW6KVI. 7M[GGQQUC61RJ*[[^+1>O9!!41.&K:6N(>?+(6 M=)&!>3(TC'N*QY*]C+[!1J#W8?3M(IK.DT1^C,,O+N/PAT?U'OG@5G&\7>A_ MXLB=E4&J+,1YLR85580@>&W;9)@1R W#GS1R]]#CS<2A\-FZ&E-BD0X'&@B6 M'"0CK.))!.6B;KSMA^CY.>)RNV!EEZ>TG:0Q\K"NBXR\M\L/N/PR3;B9614Y M3S$4%E-"=#RY%B/^[B5@O E@A\OT-D .9' ' M<=6+C5PV3N71YE(46%<,J&(4.%&#T*(DD;%$<[/9;*L?!2=VPJ+BD6F"B"RVGL! _&*6W!:YF"D ME]O.(GMXG7$CW(/ XR!6]H6*M^M/N+SLKY<8-_H\"!;V96 'AL;%K7K)#Y828\2*S(6L=A>'8!1",:B9Y#;$ MT-K0^(& \<:2#F-H[,_=L37$!>47 /^P*.NOQ,/O,S@YLB@*,%:'=]06[RZD M#"'X[(*Q)N;M^M<^M,JX)L4!DEL,P<:^\/#\;!W#_,_G1,1TO;K4?,G2_U4" MVD.MXP^:-)]'R-EEE4M6@6\W_N;QM<:U)P;!QL$L[0LAQ_/5.LS.G[GHLQ>7 MUZ,042DO//#("?.,K"1?ZGRG[+BV/ EOMQNCL=5RX]H:@^"D!6/[@LK')5VS MT_G)Q48X8[H$[B#+PFIW]PA1$<>R-9Z1CM21;3=RXZ%5QGV,'@08!["Q+SQ< MMZ8+)TTGI2*V9/HE24*U0@LZZSKT64IOW1Y@V-4=&>Q!>! D[,O #MR1>YX- M7G]OVIUC]D42K(,*Q*+B.7B4&FPAC\WF@-ZUSF%^C*9QC9'F#RV#B*(#:#WR MEOGRKS0[RZ0_:R4I_9,_AK\F.J?H,0L0R?G:$(A!X$F!#*R42.:YR;PQVO8@ ML\N7OCUQLEL/@H.%UG'YVL767Z[6T].PQIM%>X>GN&RY0*M4EWWV\\0I+U%% M+1$S9.?JI :N( 87@3N5?.9<*-:ZGKJ'E)>HL"1N(TCG QU0F<#';&JMLN": M64,G]/]/>3D *SNEO.PBC9'S&3Z06#;YC%='.FCOHLBH-3 MM=V"S*AL$PGH\DK<0[Z+ULP>&S'G R>N;^$BS%Z4M>@Y7=@V MTDY\*!!"*6"=2#H;))]UJU9/CR'F/@+&RW%H)-A%:RZ/")5-O^/EM\G?/TR$ M\<)'9T G74LSC K+X\MO%)YY#X^*+*V19'TT877Y)205!RCK7B&L(C$5 'R3+7C@9'S)"=Y3YT3@O P/* M?#<.CFP&O#Q;+CY?1CV#M,$'Y&1)U_:!/'J(A1N03)L268@VM*I-MG-]!"=-)1V'*-&;)#@&_U!CE-W._>_/Q@GW M#W?N=^3@V"\]?TQSGN'+L%H?E26QX *V,9$Y&UBN/A$9NI9^YVP,H!W#(H2R M(FSW*GSWYV\E]$%&J+<5>BL6CJS]CU;3\"ZD:9FFR\=KC*2F",)DCU;B3007 MG(3$R><)J((LLL$5<&OAK8 QR,CT]O? 85P=&1*OZSC*HU.\!FAI2(DA63*2 MF5H#XLF:SL%MU%'P$$[=7W@H4@\Q/;P^* _DZ]G6Q>I+CD$NW)LZTT6EAZ)&_Q]+$]@G)#V(*#J UEXO MSE)XI>D,,E%5JJ1S%)25("597Z1O2:>V'@#Y_[XT@9UPTB)-8 >A=9PF\*9. M@%E/OS3H>7'KHUH]_3],XQ,_\ALGLRJ$+N^,KSBSX$TA^T=$9KC,1J76G5A[ M>.0/G&L1:,:HC09B4+FBAY\U$J/_\C_RY8V>F1?Q=IC.R:_1'^ M]V+YO7?XYEU2: P\$#-D<&0M^IK1Q:V%(E3.BGMM68N([>V5N[S"]I#HHAE[ M1P;'FW"*;\L/>[AP4X+326,MC1:"W)1,] MY!XJT45K]H[MQ;\.RQ-0*E M'=VSD?Q1Q9(CU]1R8UI/#WF G(X]]7UNF=8"Z!%+=2,7ITQYD9G1";A6Y-"\3D5;%83=ZBWA$"Q=D3-R<_M6(G\,2GOROPE)U-!)+6&N%5?6HJ%SF:1]JKCU;B^Y@S6/&.R>;"J*#J!UZS"^ MPV7]1CA!/LG$)62T#KH,;.\I^?'R?_S]^-T?+]]\?//RXSZ/L/=]U,&/L%O1 MV.@1]EW-15^NO[V;A7D=Q_WR/\ZFGVLBT_@8]!: M.<^C;EUMO0M]HW?R;8B?._H^#R.GGT@U;>R$O;)$'O[ H=347?0^F;+RVAGK MK $68R!S747P23M B,KJ"OHB92R2;N5L'0>E5"![,FNZFCDF MZZ*)J74?C,>IZETQ[8*5K173?C+YB=31A_0)\]D,%^4''H3KRGG_Q+;#%QU* MK>V[[R=3?3$RY:(JY$0BK_T#.3AT""[Q7+C6C,]N MKCW'8NW'9Y,$&;&<%VM%*RU(5[*Q@NZ0YCGD6Y U3?^JOUM][T"<%-/DI!M7J]58H)M 9 XI:H7.!<)'ZTOT?FHZ M!=:^@E\,(H4.\/1\?&3($E\F75K)P(37G MNG70^4<*1A]Z-"AH#N!V!UBY"77:JRAD- +WA'=5O((8E:8+7W(4R1F;2V.P M[*-B!GM@'AHMA_"[ [B\QK#"3XM9/C[]O+R8YWZ)?%<[K= .:O:0JV\&!0*: M "B#4%ZC<@\VKML'.@^0,^YH@Z%AU$H.8U?'W+IQW\T6Z_7W?!XG?:$[-X!S M+H)2AD&4Q4+*AI2LE\ID'EYGG!9)0V.E-8,[4#_/%_/5>GFVF4EZ M/"?&G9"L+G&/F0LM RE02^!7N>;TYRQ AF12UDED.T!6R[WTC-->Z>E,Y4:2 MZ !5]_+J]?<<(,:4RUE%X-:23LW"0S"&..>M9*RDZ)NW5'FHT=K2G_+>% MU^["Z !:1RF=G9[-PAKS"R0BTG0C)_K]##<"F^>CT\5R/?W/S??OW?R$V5B< M<0[0, 15VV<[Q8BYFH5:+>##@VW']P%A*]H[#5"U@>LH NX V/=NY VN)\ED M*3FS$%TP=+V0V>%U<%"8X[R43,>T=?GT0_1T&NP:6%_N*HC]0;58A]F3)NFT MZ#&U[4N\)1\S<\9 F9K&%;2"+%C)-BFK]),=U69]IZXI MXDG"%(-P"2S6"I3:?C;$*,#IQ%4]&]RTSF.XOGZGMMI>\K]5H+,OG_=6-5]P M&1=#900>O_EX].;WXV>O7QY]^/#RXX<]ZR;N^IB#EG65D_X=/-JDG+7GP!7+=+UXNEZ\<% +X'62TA,*&I^M MG0@\5)'%&:8;LR#+<@:5^T,AZ*; M*JBUA'K,5+[C[.]?-''_APVAHP8LEM@-8X*K9$R0X(62=#N1=^5C44#V,4$@ MU,*^U@_N3ZJIKB)_KZ;SZ1I?DV%Y:]F--*[.!3KN UWS-0F'O XN"M2D"C E MR>A+2A9;9U3O0>;/I,EV0=G]N<;#2/ GT6Q7=0BW^+V_K[?7.D/HPQUW-XJJ M=,(FYPA*B9F:,)\#^)3)D'3F@<25]](O-I8;21[D:; M'29;?"9SHR9QAYS)T#$)9-:66>VE1@T%E>T@>++<.8/EQ&3+6 M;E6762PY6*M9C)!9J:F91H-#X2$%F42RUF;1VC:Y24.WP#I4X>LO?DIT5)?IJS"-5%<\Y*DTKKM-A[B1GW=?PI M\=1&'AT :W,P*E,N#T;4Q7)-9H21A-^ M6KJS"DG'>C,&8\N>&Q> MZO$ .>.6?3PEIEK)I -XO5G,T^+T,Z[QZ&2)/U0AI)R)-Q*!(]9)C8:!9XI< M\<"B#HR(";8QNNZG9MQBD*<$5R.)=("MS<3.6_PZWTKAI21CZ%RP0'>XBQX< M?0W!T>6=7.3"MDY0?("<<8-OKJ]:?GDZ)T1**U@:415F+ MJ@*X6K,7?-',M2Z\WH:N7A+_QXJ [2>@OD%WGG%NZ4QZ%CS8DI#N?ZW &X5@ MLPOHLY7(6Z?_/T93MS&(/5&P/ABD_GOR(=HD2J&92$Y>5*HM::4CLR A!V>+ M(1X8-*8D.DB 61;6VY53QN!C1J\"Q[B"QJ[YP)*K7VP9]4SUPN=E?D_< .3^3AMD%-3]D_JO_$)S51- M-^G[W!K#9)80O2WD\'L#P6A76YA8)E2P1K1^N1@I)_5RV2MXVZA%XFC!ID0> MA=KTCB(&2)E*0G(G+!LN3?\6.3^3PMD%-?=GG1XFD9X5SE4V^G?UNK\;]OB' M-E-+6](]BJ;RR'(1I8X-"X%L72; 15%KV[3P.@CF<^MRP%%,H_>+V>S58ODU M+//$6NF4*W2PBJ&+O)(B M<45P";E(59NS"@@^.]!.22<\%]@\+>HA>L9]Y!@*3@=SOB,4$5]P>C)_?D8T MS-.WC\LP7YWG#?X>IO/7]86:"R>DE1&BS*2&O2 706RZ;_)D7,K!XU"8>IRZ M)MUYI*1B8FARHF$)PC(@WS(2<1%+>#M5G9=PTS<',I%TX M>J"9]'*>AW7C6SRBWOM9S9SV#I]+21E(6ROOC/8%5/82/.<:4@I"*L4+PA,K$OKL$^D_.C^J9K;3H>*03=0A(:?[M_5+ M\?W4].&*MT# )?G/%Z=Q.K]L:_IENJ+?A-GQO"R6I^&\"?ET M/0VS*P_B>),(/\,UWF;%)$N/Q 4'&&M4590(00F$I'0H0K*:^_*8&AN0OCZ\ MO.% VHMH>PR8'[_YQ\LW']^^/W[Y8;\,I:N_WB 3Z1Y:&EVAQ_,O1-1B^>T. M7-&&R&@.)#VO&*A4"KC:[9&C9-+$4*1O'>A]@)S#N_O=^NBK-YX84LJ.J]HY MMU;E$V1]"0@^UFD)$<^)UKPMABK,UJKAQOB_3!M_:J77;!R_QM^0\ETKFH.2J2^ M]2DME=FBE@B'^['+67ABX@Q@A!DCRE76[US^MVFKK1D MX9AJ_1"[!5GC.NB#(ZR1/'J"6*UW6M$578,;-[:$QM.9,1QX,@%4I!O?U8B! MRL4R+%;:YN]G6Y U[M/LX!!K)(^>(%;KY@)+SC%!&EBI3+RQ 3S/"@RWNH3 M8\'6=O?U]<=];1T<-+MRN,?*Q!;"0A::SC)*N"T0&UBB1C$WTA^TGXMQ%R>%S?JY_ZI4[QZ,2&:."%%T=^*!* MG4(C0"CDK"!98ZIU?.$>4L:U>AO(__;(G\-9WJ,'7<_@_E&Z:W^[B388,"YW M#R:\<4F:I &5)/G96D/E"@/R5!)=[4;3MWX*G7 5\ZF??R/.DYS0WG,->G-/ M"880E#4@F6!)>I\T;UV[]Q ]76J'79!P?\#M0.;WJB):I-K<^3E-U,:3I-C< M!QN7O'6><,+KI,EJ_07+%&1CLT.N?-"MGP:'42#$8/E7'#ABXJ3K:L+T#U_,? M83FM=+\/:]ST=W,A=TZXJPFS2,BY9&HETT MY'-G.+EH RE0[V[Y+> T]YB&+M@Z2/^%5;OPG(]I\][%N9_7JA6# FQ% Z.HZ"+W1.# M8A0@G+_46X:,S/L3'QWSX\>UY)?Q[F=#PN-F"$ M-XG+",RY7,>Q5(XPA,0T2SDGAEY M!&]K+TG%&824(G!=G,?,8O:MLX;VM%0&RQT:QE(YD-?=H>5RAH]-CDE+C+"& MS/[:2=FC%PW..Z]*U$GB&>]ZD?S'KXO+T;6">0RGSQ;+Y>)KM:G#9_J3];>)#\*@\Q:<4+6]CRL0 M#>=D3)OH2TK98.L,MUWHZS ,NQ\LM@!<$QEU@+_ZIGH\7ZV79[7?\+.PFJX^ M$"TAOYU?U_]\HCVW#K,''@U=T);4M#.A0 A>.D5'5LK68;IM:>LPX-L$=X/( M9FSCZ<=-O7QV_/'%T?LJK GS642'MD[-IETX)2$4AK6XT1F63-*8MC*B[EVB MO_?HPX#2D*$=J**[^//W^=D*\Z5R)2OT=+IIC/X*\1TN4Q7?"4Z,=D5P&X&) M6DJ3HH>@L@.T-A@M//W;NLGFWL3V]](PW"797GJ=PO1X3I^/J_4FFWK][K(= M\20S:3-:#8P5"ZK0"70LD#'@$K>R/L_EUOVD=R"OOW#C<%!L(:$.P/>CLC_? MQC2]"]_JEY=[G'B;BW%:@]2Q-ATP')SC!M 8@HM7R;'6G9C^G^ZNK:FMY5B_ MG__257._O*1*QCA;51AV#$XJ3ZJYVDJPM",))\ZO/SU"( Q(UF66UI 7(T1Y MK9[N;WJZIV\[$=:>-]J%H59#*@U [2F[2EL2@YXZ!_/> *QK"Y5 M1EI29H318 EN!Q%QE4XK!]QSF[/+SB1S 'IV>_M.D+)O&E(=B*%-G)5OK]/L M^SBD\M4,W8WE"C^E^W$ '\>3Y4J=L#FJH( H5>896P96<07.ERX-R1HN#[EZ MV).,W>Y/R?\$]+J03*O-+-9C5"^GBS1'N[!7&X.)Y?NVT.%I# N*T/0HRP] M(X7&@]LRZ4M^A2EE^S95GY&]B9:6,+._C+="YD"&]VTQ+T=BS<=%!#\=[W<) MAL MW8.@F53E-C-8*4OW=07>" _*(^>2--3GVKWP-Y#2;S9 MZ?38?QN!#9_2^,O M7QD<^J Y6#N M'HP,1*2?=G)*?9ZX;]/98OS?%(N3608I+G-CHJ :+;^(8.<$74NF-7A%F#') MTDQK=V_Z)5']IB=UI7+JR6%_:-E[:$W2%U1P\:83W;.:=#4*+"4KO <2,K^? M+.O1,@3M=8A.9)%)ERIH14:_Z45=:Z)#>'TL:JIU T/X??M9K48\:34KE0^I M'+BE?B+I##PZ8JP.7*?J:6NOT-%O&E 7D#F:VQ4/L8JQA,'9V=7GRYOKWP=_ M'[R[.!] KAMAB+W44#'3Z;9(^GGT27=CC;Y&CT)B.M(I:#MMDA?A(!)RF# MA$Z YL(DPVM?]_2M4=%C M[5Y\Q]#[QG7K/NC?O?]FYN+CM87+7N4<*'A?+KML MZ;7$M07&H](&S:@D:]=E;"'GC6OI?;#U"POX8"$U$ 8Y1VTX_9%00]\N;ZM> M<&_DB9#2$ '*+.OK!'H)4B.WG+!<."I9KEVY_4NB^@V8](J]N@)K (%GT\F2 M*W\;+[Z>W=Q6FRB4D-E$3<64X2\-1:(%YH$G0, M-+M?698[OJO?0$POR.I""@WHMY>\O%I\3;.-#!UIG]!-S 0H+^/Y1.#(153B MP@05K(M:V-J1P'UI[#?FTY+M5U><3<)U\])2F;;EN07KRG3ZDMCA^RJP$$1J"RPG%;"4XJ200 MQWTR#)53K#W79QL]QZJIUYZ]O@GU1.&B7()L&061K4%,^P#.4,:<(V#HXVJJ3.AO1F5=408;.OSNE%: M70:DMJ(M1\6<18QQ2M$[PX,/+6)ET6T+B60BA2:U@TTGT5I7?Q2I_.7.31;C M(J'O/YW6R]Q&YR(>RB&#=R'@26T(6&,46$)%(M$*FVK/Q-F#O(8UU#Z8V:BA M*@NH@3N$QZ6]^_'X\;=QFB%17W].BTATZ#*'#I?TK YVHO& M>Z6I%JIV5[#=*&L$<;6!L0F ]:34$O96I_WRZOCE^E;%N=QKD9-)X'D0I46$ M ,,=@W+OP9"#WE3OGK$7@8T@L2)"-H&PNKA:PN)P\L?=8K[DV$/A-CK906BO MP>52OI0][N&8%4AI6-11!B$DOU:!LJR&!BKG2ZT UF-Z+=:4-CA$#U&+HU" M;?YX;;/6V#G'P'$EY899AJ!&RUP+"+Q7:,9%I" MV]8SX>*QNE32P"/C'(B)I>N."W@DL #(-YILCIGRSN)+NY'8;V;:R<_8#N36 M "S?WLJ\VZ4%;%!HG5,RJP6 MD4@2M".6EFX)6=?.'CJ S$949!>PF9Y6A@W ]&):EK=:$YHS)=7$W9ZY MV>P'?K5D]/U0@^$DS/#02._3_<^12LG$[#VZ?SR[,#&R1L M>]S10;2=::T40UN/89H/)G$-DY^*OA\#))%1P17QR!!?*KUCF35 !9!$#4M& MN5A]@^]%X/'%"SN\;!U?%EE&-+$ID')AA;\)\ (WJ0K<<>V=DJ;V=?-^%/9[ M+G>'K9?5"YW)K<6\@//!ITM4"]>_GW^Z_FWPZ?P0+?;B&4>KKNU45=)7YVXV M0=G.\<2Z_NJ>P ?EE@(N#EA 2TNHY-!%18^5$'1&=**,J>IU;1MH.;J([]ES MU\"UC@@JM 3+3>GS(DN_'MW?%[OZYZ82Q/C(9/810RA3*U&HGG0(F;-3<6.59[3S' TEM M5/_L@Z'-[4*Z$]I;T$Y'I#AN>E1U_=1E8N-&<.60.>,T0.*YQ,I5 *^)AJ2, MBV@C2^%J]Y[K2D%=IL5P@MQ-Y7IB\!UYN<3TM)CRT\GU G']=7J+FWB^POR: M"5R;')0 E[P#$2)^8M&53K&!,.&=4[73&P\FME$EM0^.7G1@/8G@&K@'_6FA M(Y.Y= 0]Q:2=1_[P5[)ZJO!Y&^(2 O;=21E2H$Y1-PM$-+'W>+_C MQ5C['F8O OO5HWT@Z$ 0[R_.)H8]+(-8Y2;8W:X.I^7"!HO%;.SO%O?'UH-/ ME>*J&\E@-G.3+_?)+R,=C2,D4G"6:Q ^:3!!6E!:C#*BCG_PC KG>RBMQ0L%25CED=T&;@#'05R+5(3GGOWGF.T/@(1B5D329%)W-DC8P&5Z)+-1*/7-6.L;]* M2#]V8V4A_R+>M3_'&X3-2E>.HO+"D"3 "3S119E4@"NP$"VS(0EOF*_M.&\@ MI1_3[+30.83K+88B!F=_^3R\'MX,KRZOKSZ\^WP]O#R_OCYTDLZ&9U5H&[X+ ME96B$:^DO)8.9/-Y6CQI[_C$_)'*2R)0Y&4\H$P>/!$P/2(9IVR-4^ M5E!O264=-2]A^R,[4V!=1E7W1!X54E > U8]:^L:EE7*[4GD>0 E$<+@B///)$46.2&6&*$3[7= MP0VD] NU;N6_X2 ]1AB-8JI\G*6T*J1EA"^'/4%P'DT!+0288!,DA1XQ>DO6 MZ=ISH'])5!LJ[2C1[P"GP^70]Z"!X>0[+N+#I\''\XM%7!5,AZR45UR6*]F2 MJY -(%,LT"22R<@YF=FOC+"-3V\/$4=(;UJ3E6TJF8O',CY%N(U"!O"FM%9R M.H)UMB3#1!VYYHE6;Z6ZC9Y^8X9]'V&'B:4!B#U$A1[6E.:K#1A+]8/55BNP M6I?I!*7CJ6&BW/!EXK@U.M7.8-],37-ZZD")/\]*J\/^!H#TBK_R^VQ:=/!T MXFZ'DSR=?5M^.YP@_]SM:@[!>/)EF9;WQVU:I$'\Q]U\67KW4_7[S+ M&JG );620;"$@?!X,EBK,]B<#7',TN1K]T8[S]ROF(,>1W0A8[3469>H/,EBF!<:6; MA51:V]I!V)T(ZW<>6V<@K2^4_@&W] Q?X=@1N^_]:B$W[C]/Y@F,/)X\0GH/ MF=C"^5AFIV0+6D82@V4QR6=@W>"TGX+:?F>V54=PFU+N'_U;CI\-?:>>9K2> M?2T?AY/!M\*GJ_RK5E5TY)1RTB0!0?)EO#6 +3/N="!"&,JUL">(>G6QM'[G MQYW2+ND=&/UOFP[4";)JMAC_=_D?SO'YDWD:,<6I3X*"THJ"8)*"CU8 T39K M3B5+S_MQG.3$>(74G="OWPSZ&Y1O]ZDAJS^4?SP:=W_ZO_\'4$L! A0#% M @ %4 )58"G1QX+" 7R8 !< ( ! &$R,#(R<3)E M>&AI8FET;F\S,3$N:'1M4$L! A0#% @ %4 )58JS;6$N" LR< !< M ( !0 @ &$R,#(R<3)E>&AI8FET;F\S,3(N:'1M4$L! A0# M% @ %4 )5&AI8FET;F\S,C$N:'1M4$L! A0#% @ %4 )55^),17@! XQ, M !< ( !LA4 &$R,#(R<3)E>&AI8FET;F\S,C(N:'1M4$L! M A0#% @ %4 )5;:EOHR,> $ %&@3 !$ ( !QQH 'AP M96PM,C R,C V,S N:'1M4$L! A0#% @ %4 )562/=ZX<#@ W(P !$ M ( !@I,! 'AP96PM,C R,C V,S N>'-D4$L! A0#% @ M%4 )5:L.2R%Y%@ K<\ !4 ( !S:$! 'AP96PM,C R,C V M,S!?8V%L+GAM;%!+ 0(4 Q0 ( !5 "57?N1YP'2X .3" 0 5 M " 7FX 0!X<&5L+3(P,C(P-C,P7V1E9BYX;6Q02P$"% ,4 " 5 M0 E5X35_OD@N "=. % @ ')Y@$ >'!E;"TR,#(R,#8S M,%]G,2YJ<&=02P$"% ,4 " 50 E5G>8TDZZ@ !9C08 %0 M @ %#%0( >'!E;"TR,#(R,#8S,%]L86(N>&UL4$L! A0#% @ %4 ) M51Z